Zuul CI Jobs

devstack-unit-tests

Runs unit tests on devstack project.

It runs run_tests.sh.

devstack-tox-functional-consumer

Base job for devstack-based functional tests for projects that consume the devstack cloud.

This base job should only be used by projects that are not involved in the devstack deployment step, but are instead projects that are using devstack to get a cloud against which they can test things.

Runs devstack in pre-run, then runs the tox functional environment, then collects tox/testr build output like normal tox jobs.

Turns off tox sibling installation. Projects may be involved in the devstack deployment and so may be in the required-projects list, but may not want to test against master of the other projects in their tox env. Child jobs can set tox_install_siblings to True to re-enable sibling processing.

devstack-tox-functional

Base job for devstack-based functional tests that use tox.

Runs devstack, then runs the tox functional environment, then collects tox/testr build output like normal tox jobs.

Turns off tox sibling installation. Projects may be involved in the devstack deployment and so may be in the required-projects list, but may not want to test against master of the other projects in their tox env. Child jobs can set tox_install_siblings to True to re-enable sibling processing.

devstack-tox-base

Base job for devstack-based functional tests that use tox.

This job is not intended to be run directly. It’s just here for organizational purposes for devstack-tox-functional and devstack-tox-functional-consumer.

devstack-no-tls-proxy

Tempest job with tls-proxy off.

Some gates run devstack like this and it follows different code paths.

devstack-async

Async mode enabled

devstack-multinode

Simple multinode test to verify multinode functionality on devstack side. This is not meant to be used as a parent job.

devstack-enforce-scope

This job runs the devstack with scope checks enabled.

devstack-ipv6

Devstack single node job for integration gate with IPv6.

devstack

Base devstack job for integration gate.

This base job can be used for single node and multinode devstack jobs.

With a single node nodeset, this job sets up an “all-in-one” (aio) devstack with the seven OpenStack services included in the devstack tree: keystone, glance, cinder, neutron, nova, placement, and swift.

With a two node nodeset, this job sets up an aio + compute node. The controller can be customised using host-vars.controller, the sub-nodes can be customised using group-vars.subnode.

Descendent jobs can enable / disable services, add devstack configuration options, enable devstack plugins, configure log files or directories to be transferred to the log server.

The job assumes that there is only one controller node. The number of subnodes can be scaled up seamlessly by setting a custom nodeset in job.nodeset.

The run playbook consists of a single role, so it can be easily rewritten and extended.

devstack-minimal

Minimal devstack base job, intended for use by jobs that need less than the normal minimum set of required-projects.

devstack-base

Base abstract Devstack job.

Defines plays and base variables, but it does not include any project and it does not run any service by default. This is a common base for all single Devstack jobs, single or multinode. Variables are defined in job.vars, which is what is then used by single node jobs and by multi node jobs for the controller, as well as in job.group-vars.peers, which is what is used by multi node jobs for subnode nodes (everything but the controller).