How does it work ?¶
In a nutshell¶
WeIRDO is a collection of Ansible roles and playbooks.
WeIRDO, through Ansible, will:
- Connect to a node specified in it’s inventory (this can be a remote node or localhost)
- Generate a similar environment to the gate (setup configuration, packages, dependencies)
- Run the gate job (i.e,
run_tests.sh
ortox
provided by the upstream project)
WeIRDO, by itself, doesn’t use or require Jenkins. When run inside a job, however, it will be able to report success or failure.
Details on how the Jenkins jobs are configured is available here.
Example: Puppet-Openstack¶
Puppet-Openstack gates every commit that is done with syntax, unit and integration tests.

These tests ensure there is no regression when someone contributes to one of the many modules involved in Puppet-Openstack.
While the syntax and unit checks are supplied by each respective puppet module, the integration tests are provided through the puppet-openstack-integration project. Ultimately, these are all configured to run by Jenkins through project-config and are triggered when a patchset is submitted to Gerrit.
The integration tests are of particular interest since the puppet modules will install OpenStack libraries, clients and services with the packages provided through RDO. Tempest is currently the only exception and is installed from source.
Puppet-Openstack uses these integration tests to ensure their puppet modules work well.
WeIRDO leverages these integration tests to ensure that the packages provided by RDO work well.