Support oVirt Ansible OST suite in CI

Description

I would like to request a jenkins machine for Ansible modules tests.
Those tests needs host with nested virtualization as it will create a few virtual machines for tests.

Actually, what I would need is similar machine which OST are using, but with preinstalled vagrant and ansible.

Then I would need some possibility to run this job from a hook from github, when new commit is pushed.

The tests are described here for an idea:
https://github.com/machacekondra/ovirt-tests

Would that be possible?

Activity

Show:

Eyal EdriMarch 2, 2017 at 1:23 PM

Lago isn't using standard CI and isn't considered to be an "oVirt project".
Lago has its own release flow and gating flow which works differently, even from other supported GitHub projects like 'ovirt-web-ui'.
Also, Lago isn't "private" repo, its a project and not owned by a personal user.

And we're not running any OST suites on Lago code, Lago releases a new release to its own repo and we install it with yum using mock runner on the slaves.
So we're not testing Lago with OST as you want to do with Ansible suite.

is working on adding generic support for web hooks to trigger GitHub projects, but its not ready yet. and once it will be ready we will probably define the hooks
on the oVirt organization with any whitelist needed.

Also, we don't have enough resources to run the suite on EACH patch yet, so it makes sense to start with nightly run on the suite until we have enough resources and also once we introduce the oVirt Gating.

Ondra MachacekMarch 2, 2017 at 1:15 PM

Now that the new Ansible suite looks like a working:

https://gerrit.ovirt.org/#/c/70591/

You said it's not possible to use private repos to invoke the jenkins suite? How does lago do it then? I would like to add some webhook to ansible repo 'github.com/ansible' so when someone change the ovirt modules, we will run our job.
Would that be possible?

Eyal EdriFebruary 14, 2017 at 1:14 PM

Won't it make sense to start with moving https://github.com/machacekondra/ovirt-tests under the oVirt organization in GitHub?
If you would want to trigger jobs from GitHub then its mandatory, as we don't support triggering from private repos.

Also, you might want to try out our staging jenkins if you want to try/test it before deploying to production.
can help with accessing it.

Ondra MachacekFebruary 1, 2017 at 11:54 AM

I would need to comunicate also with Ansible community to approve that. But I would like to achieve, that once some patch changes specific files(ovirt) in https://github.com/ansible/ansible I would like to trigger oVirt jenkins which executes OST 'ansible-master-suite'.

Eyal EdriFebruary 1, 2017 at 11:34 AM

I'm not sure what do you mean by trigger Lago suite, we have a very specific way we run today OST suites,
If you are planning to run a specific suite after a specific project, we need to know what you mean and check if it will be supported.

We don't have similar flows TODAY so we'll need to see what will be the best approach for it and how it fits into the current standard CI design.

Ondra MachacekJanuary 31, 2017 at 7:12 PM

A bit change. I will be executing the lago suite: https://gerrit.ovirt.org/#/c/70591/
Once it will be ready I will update.

Eyal EdriJanuary 29, 2017 at 9:49 AM

ping?

Eyal EdriDecember 8, 2016 at 11:17 AM

Also, can you rename the repo to something with more context?

ovirt-tests is very generic name ( we have system tests / functional tests/ unit tests ).

If its ansbile, maybe worth calling it ovirt-ansible-tests or something else with ansible )

Eyal EdriDecember 8, 2016 at 11:10 AM

We don't maintain 'special' machines or mange them with any CM tools like we did in the past,
instead we use mock to give an isolated environment for any testing you'd like to run and you have full control over what is running there.

You will need to make your project part of the 'standard ci' flow and add automation dir under the root folder. ( see other projects for e.g, like ovirt-engine ).
see [1] for detailed info.

But, as an example, you said you need vagrant and ansible installed, then you'll just need to add them to the .packages file in the automation dir under check-patch or check-merge depends on when you want it tested.

We don't support yet GitHub as a standard CI project, there is another ticket to add support for it ( as part of adding ovirt-web-ui project ), so it might take bit more time.
(for projects in Gerrit is straightforward now)

[1] http://infra-docs.readthedocs.io/en/latest/CI/Build_and_test_standards.html

Ondra MachacekDecember 8, 2016 at 10:59 AM

CC

Fixed

Details

Assignee

Reporter

Blocked By

Components

Priority

Created December 8, 2016 at 10:59 AM
Updated May 25, 2017 at 11:31 AM
Resolved March 9, 2017 at 12:58 PM

Flag notifications