# Shared jobs specific to the OpenStack Project # imports jobs from: # https://git.openstack.org/cgit/openstack-infra/project-config # https://git.openstack.org/cgit/openstack-infra/zuul-jobs - job: name: base-integration description: | Runs roles that are included by default in the 'base' job in order to prevent regressions. parent: base-minimal required-projects: - openstack-infra/project-config roles: - zuul: openstack-infra/zuul-jobs run: tests/base files: - ^roles/configure-mirror/.* - ^roles/configure-unbound/.* - ^roles/emit-job-header/.* - ^roles/fetch-zuul-cloner/.* - ^roles/mirror-info/.* - ^roles/set-zuul-log-path-fact/.* - ^roles/use-cached-repos/.* - ^tests/.* - job: name: base-integration-centos-7 parent: base-integration nodeset: centos-7 - job: name: base-integration-debian-jessie parent: base-integration nodeset: debian-jessie - job: name: base-integration-fedora-26 parent: base-integration nodeset: fedora-26 - job: name: base-integration-opensuse423 parent: base-integration nodeset: opensuse-423 - job: name: base-integration-ubuntu-trusty parent: base-integration nodeset: ubuntu-trusty - job: name: base-integration-ubuntu-xenial parent: base-integration nodeset: ubuntu-xenial - job: name: multinode-integration description: | Runs roles that are included by default in the 'multinode' job in order to prevent regressions. parent: base-minimal required-projects: - openstack-infra/project-config roles: - zuul: openstack-infra/zuul-jobs run: tests/multinode files: - ^roles/configure-mirror/.* - ^roles/configure-unbound/.* - ^roles/emit-job-header/.* - ^roles/fetch-zuul-cloner/.* - ^roles/mirror-info/.* - ^roles/set-zuul-log-path-fact/.* - ^roles/use-cached-repos/.* - ^roles/multi-node-bridge/.* - ^roles/multi-node-firewall/.* - ^roles/multi-node-hosts-file/.* - ^roles/multi-node-known-hosts/.* - ^tests/.* - job: name: multinode-integration-centos-7 parent: multinode-integration nodeset: nodes: - name: primary label: centos-7 - name: secondary label: centos-7 groups: - name: switch nodes: - primary - name: peers nodes: - secondary - job: name: multinode-integration-debian-jessie parent: multinode-integration nodeset: nodes: - name: primary label: debian-jessie - name: secondary label: debian-jessie groups: - name: switch nodes: - primary - name: peers nodes: - secondary - job: name: multinode-integration-fedora-26 parent: multinode-integration nodeset: nodes: - name: primary label: fedora-26 - name: secondary label: fedora-26 groups: - name: switch nodes: - primary - name: peers nodes: - secondary - job: name: multinode-integration-opensuse423 parent: multinode-integration nodeset: nodes: - name: primary label: opensuse-423 - name: secondary label: opensuse-423 groups: - name: switch nodes: - primary - name: peers nodes: - secondary - job: name: multinode-integration-ubuntu-trusty parent: multinode-integration nodeset: nodes: - name: primary label: ubuntu-trusty - name: secondary label: ubuntu-trusty groups: - name: switch nodes: - primary - name: peers nodes: - secondary - job: name: multinode-integration-ubuntu-xenial parent: multinode-integration nodeset: nodes: - name: primary label: ubuntu-xenial - name: secondary label: ubuntu-xenial groups: - name: switch nodes: - primary - name: peers nodes: - secondary - job: name: build-openstack-sphinx-docs parent: tox-docs description: | Builds documentation using Sphinx per the OpenStack PTI and then collects the results into the log directory so that they can be examined in their published form after a successful build. It runs the prepare-docs-for-afs role so that AFS stamp files can be examined if desired, and also validates htaccess files using the whereto tool. run: playbooks/sphinx-docs/run success-url: html/ required-projects: - name: openstack/requirements roles: - zuul: openstack-infra/zuul-jobs vars: tox_constraints_file: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt" tox_envlist: venv tox_extra_args: -vv python setup.py build_sphinx - job: name: tox-py35-on-zuul parent: tox-py35 description: | Run zuul's py35 unittests on patches to zuul-jobs vars: zuul_work_dir: "src/git.openstack.org/openstack-infra/zuul" required-projects: - name: openstack-infra/zuul override-branch: feature/zuulv3 - job: name: openstack-tox parent: tox description: | Base job to run tox jobs with OpenStack project specific updates. Processing upper-constraints files from openstack/requirements. required-projects: - name: openstack/requirements vars: tox_constraints_file: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt" - job: name: openstack-tox-py27 parent: openstack-tox description: | Run unit tests for an OpenStack Python project under cPython version 2.7. Uses tox with the ``py27`` environment. irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ vars: tox_envlist: py27 - job: name: openstack-tox-py34 parent: openstack-tox description: | Run unit tests for an OpenStack project under cPython version 3.4. Uses tox with the ``py34`` environment. irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ vars: tox_envlist: py34 - job: name: openstack-tox-py35 parent: openstack-tox description: | Run unit tests for an OpenStack project under cPython version 3.5. Uses tox with the ``py35`` environment. irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ vars: tox_envlist: py35 - job: name: openstack-tox-pypy parent: openstack-tox description: | Run unit tests for an OpenStack Python project under PyPy. Uses tox with the ``pypy`` environment. irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ vars: tox_envlist: pypy - job: name: openstack-tox-linters parent: openstack-tox description: | Runs code linting tests. Uses tox with the ``linters`` environment. vars: tox_envlist: linters - job: name: openstack-tox-pep8 parent: openstack-tox description: | Runs code pep8 tests. Uses tox with the ``pep8`` environment. vars: tox_envlist: pep8 - job: name: openstack-tox-cover parent: tox-cover description: | Run code coverage tests. Uses tox with the ``cover`` environment. required-projects: - name: openstack/requirements irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ success-url: cover/ vars: tox_constraints_file: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt" - job: name: openstack-tox-bashate parent: openstack-tox description: | Run bashate tests. Uses tox with the ``bashate`` environment. vars: tox_envlist: bashate - job: name: openstack-tox-validate parent: openstack-tox description: | Run validate tests. Uses tox with the ``validate`` environment. vars: tox_envlist: validate - job: name: openstack-tox-pylint parent: openstack-tox description: | Runs pylint tests. Uses tox with the ``pylint`` environment. irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ vars: tox_envlist: pylint - job: name: openstack-tox-compare-cover parent: openstack-tox description: | Run coverage comparison tests. Uses tox with the ``compare-cover`` environment. vars: tox_envlist: compare-cover - job: name: publish-openstack-python-tarball parent: publish-openstack-artifacts description: | Publish the results of the tox-tarball job to tarballs.openstack.org. pre-run: playbooks/python-tarball/pre run: playbooks/python-tarball/run post-run: playbooks/python-tarball/post - job: name: build-openstack-python-tarball parent: python-sdist description: | Build a tarball using tox but do not upload it anywhere. pre-run: playbooks/python-tarball/pre run: playbooks/python-tarball/run - job: name: publish-openstack-javascript-tarball parent: publish-openstack-artifacts description: | Build and publish source tarball for a Javascript project. Responds to these variables: .. zuul:jobvar:: node_version :default: 6 The version of Node to use. .. zuul:jobvar: zuul_work_dir :default: {{ zuul.project.src_dir }} Path to operate in. pre-run: playbooks/javascript/pre run: playbooks/javascript/tarball post-run: - playbooks/javascript/post - playbooks/javascript/post-tarball - job: name: announce-release description: Send a release announcement after publishing a project pre-run: playbooks/release/pre run: playbooks/release/announce required-projects: - openstack-infra/release-tools - job: name: xstatic-check-version description: Check version used by xstatic packages run: playbooks/xstatic/check-version - job: name: build-openstack-releasenotes parent: openstack-tox description: | Build releasenotes, with optional translation support, using reno. success-url: html/ run: playbooks/releasenotes/run post-run: playbooks/releasenotes/post # Release notes always build on master. override-branch: master timeout: 1800 files: - ^releasenotes/.* - ^tox.ini - ^.*requirements.txt$ vars: tox_envlist: releasenotes - job: name: build-openstack-api-ref parent: openstack-tox description: | Build api-ref document. This is only run on master branch of a project. success-url: html/ post-run: playbooks/build-api-ref/post timeout: 1800 vars: tox_envlist: api-ref # We only publish the master branch, so no need to run # for changes on other branches. branches: master files: - ^tox.ini$ - ^api-ref/.* - ^doc/api_samples/.* - bindep.txt - other-requirements.txt - job: name: build-openstack-api-guide parent: openstack-tox description: | Build api-guide document. This is only run for changes on master branch of a project. success-url: html/ post-run: playbooks/build-api-guide/post timeout: 1800 vars: tox_envlist: api-guide # We only publish the master branch, so no need to run # for changes on other branches. branches: master files: - ^tox.ini$ - ^api-guide/.* - bindep.txt - other-requirements.txt - job: name: build-openstack-deploy-guide parent: openstack-tox description: | Build deploy-guide document. success-url: html/ post-run: playbooks/build-deploy-guide/post timeout: 1800 vars: tox_envlist: deploy-guide files: - ^tox.ini$ - ^deploy-guide/.* - bindep.txt - other-requirements.txt - job: name: build-placement-api-ref parent: openstack-tox description: | Build placement-api-ref document. This job runs only on master branch. success-url: html/ post-run: playbooks/build-placement-api-ref/post timeout: 1800 # We only publish the master branch, so no need to run # for changes on other branches. branches: master vars: tox_envlist: placement-api-ref files: - ^tox.ini$ - ^placement-api-ref/.* - bindep.txt - other-requirements.txt - job: name: legacy-base description: | Base job for autoconverted legacy jobs pre-run: playbooks/legacy/pre nodeset: legacy-ubuntu-xenial - job: name: legacy-dsvm-base description: | Base job for autoconverted legacy devstack-gate jobs This job runs devstack-gate with as few changes as possible and may be used by jobs which have been automatically converted as part of the migration to Zuul v3. nodeset: devstack-single-node pre-run: playbooks/legacy/pre required-projects: - openstack-dev/devstack - openstack-infra/devstack-gate - openstack-infra/tripleo-ci - openstack/ceilometer - openstack/ceilometermiddleware - openstack/cinder - openstack/django_openstack_auth - openstack/glance - openstack/glance_store - openstack/heat - openstack/heat-cfntools - openstack/heat-templates - openstack/horizon - openstack/keystone - openstack/keystoneauth - openstack/keystonemiddleware - openstack/manila - openstack/manila-ui - openstack/neutron - openstack/neutron-fwaas - openstack/neutron-lbaas - openstack/neutron-vpnaas - openstack/nova - openstack/octavia - openstack/os-apply-config - openstack/os-brick - openstack/os-client-config - openstack/os-collect-config - openstack/os-net-config - openstack/os-refresh-config - openstack/osc-lib - openstack/requirements - openstack/swift - openstack/tempest - openstack/tempest-lib - openstack/tripleo-heat-templates - openstack/tripleo-image-elements - openstack/tripleo-incubator - openstack/zaqar - job: name: legacy-dsvm-base-multinode parent: legacy-dsvm-base description: | Base job for multinode devstack jobs. Will setup firewall rules on all the nodes allowing them to talk to each other. roles: - zuul: openstack-infra/zuul-jobs pre-run: playbooks/legacy/multinode-networking/pre - job: name: legacy-puppet-openstack-integration description: | Base job for autoconverted legacy puppet-openstack-integration This job runs provides the base required projects for puppet-openstack-integration jobs. nodeset: devstack-single-node pre-run: playbooks/legacy/pre required-projects: - openstack/puppet-aodh - openstack/puppet-barbican - openstack/puppet-ceilometer - openstack/puppet-ceph - openstack/puppet-cinder - openstack/puppet-cloudkitty - openstack/puppet-congress - openstack/puppet-designate - openstack/puppet-ec2api - openstack/puppet-glance - openstack/puppet-gnocchi - openstack/puppet-heat - openstack/puppet-horizon - openstack/puppet-ironic - openstack/puppet-keystone - openstack/puppet-manila - openstack/puppet-mistral - openstack/puppet-monasca - openstack/puppet-murano - openstack/puppet-neutron - openstack/puppet-nova - openstack/puppet-octavia - openstack/puppet-openstack-cookiecutter - openstack/puppet-openstack-integration - openstack/puppet-openstack_extras - openstack/puppet-openstacklib - openstack/puppet-oslo - openstack/puppet-ovn - openstack/puppet-panko - openstack/puppet-qdr - openstack/puppet-sahara - openstack/puppet-swift - openstack/puppet-tacker - openstack/puppet-tempest - openstack/puppet-trove - openstack/puppet-vswitch - openstack/puppet-vitrage - openstack/puppet-watcher - openstack/puppet-zaqar - openstack/tempest-horizon - job: name: legacy-publish-openstack-artifacts parent: publish-openstack-artifacts description: | Base job for autoconverted legacy jobs that publish artifacts nodeset: devstack-single-node pre-run: playbooks/legacy/pre - job: name: project-config-gerrit parent: tox description: | Runs checks on gerrit-related configuration. Uses ``gerrit`` tox env. vars: tox_envlist: gerrit files: - ^gerrit/acls/.*$ - bindep.txt - check_valid_gerrit_projects.py - gerrit/projects.yaml - other-requirements.txt - tools/check_projects_yaml_alphabetized.sh - tools/check_valid_gerrit_config.sh - tox.ini - job: name: project-config-grafyaml parent: tox description: | Runs checks on grafyaml configuration with the ``grafyaml`` tox env. vars: tox_envlist: grafyaml required-projects: - openstack-infra/grafyaml files: - ^grafana/.*$ - bindep.txt - other-requirements.txt - tools/grafyaml-validate.sh - tox.ini - job: name: project-config-irc-access parent: tox description: | Runs checks on IRC configuration with the ``irc`` tox env. vars: tox_envlist: irc files: - bindep.txt - accessbot/channels.yaml - gerritbot/channels.yaml - other-requirements.txt - tools/check_irc_access.py - tools/check_channels_yaml.sh - tools/irc_tests.py - tools/normalize_channels_yaml.py - tools/projectconfig_yamllib.py - tox.ini - job: name: project-config-nodepool parent: tox description: | Runs checks on nodepool configuration with the ``nodepool`` tox env. vars: tox_envlist: nodepool files: - ^nodepool/nodepool.yaml - bindep.txt - other-requirements.txt - tox.ini - job: name: build-openstack-specs-site parent: tox description: | Generates the index page of http://specs.openstack.org/. vars: tox_envlist: specs files: - bindep.txt - specs/.* - other-requirements.txt - tox.ini - job: name: project-config-dib parent: tox description: | Runs diskimage-builder on all elements in project-config. Uses the ``dib`` tox env. vars: tox_envlist: dib files: - ^nodepool/elements/.*$ - bindep.txt - other-requirements.txt - tox.ini - job: name: project-config-infra-docs-index parent: tox description: | Generates the index page for https://docs.openstack.org/infra/. vars: tox_envlist: infra-docs files: - 'bindep.txt' - 'docs-site/.*' - 'other-requirements.txt' - 'tox.ini' - job: name: project-config-build-openafs-centos description: | There are no official builds for AFS on Centos 7, hence we build our own and publish them to tarballs.openstack.org for our centos hosts that need access to the mirror to consume. parent: publish-openstack-artifacts run: playbooks/package-afs-centos/run post-run: playbooks/package-afs-centos/post nodeset: centos-7 - job: name: legacy-kolla-kubernetes-base description: | This job runs provides the base required projects for legacy-kolla-kubernetes jobs. parent: legacy-base required-projects: - openstack/requirements