Ansible job definitions for OpenStack projects CI systems
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1677 lines
47 KiB

# Shared jobs specific to the OpenStack Project
# imports jobs from:
# https://opendev.org/openstack/project-config
# https://opendev.org/zuul/zuul-jobs
- job:
name: build-openstack-sphinx-docs
parent: build-sphinx-docs
branches: ^stable/(ocata|pike|queens|rocky).*$
nodeset: ubuntu-xenial
description: |
Builds documentation using Sphinx per a previous version of 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.
This job is obsolete and is not supported on branches after rocky, use
:zuul:job:`openstack-tox-docs` instead.
success-url: html/
required-projects:
- name: openstack/requirements
# Add neutron and horizon for the neutron-horizon-hack.
# TODO(AJaeger) ZOMG DELETE THIS once we neutron-horizon-hack.
- name: openstack/horizon
- name: openstack/neutron
pre-run: playbooks/sphinx-docs/neutron-horizon-hack.yaml
roles:
- zuul: zuul/zuul-jobs
vars:
constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
sphinx_python: python2
- job:
name: tox-py35-on-zuul
parent: tox-py35
nodeset: ubuntu-xenial
description: |
Run zuul's py35 unittests on patches to zuul-jobs.
vars:
zuul_work_dir: src/opendev.org/zuul/zuul
required-projects:
- zuul/zuul
- job:
name: openstack-tox
abstract: true
parent: tox
nodeset: ubuntu-focal
description: |
Base job to run tox jobs with OpenStack project specific updates.
Processing upper-constraints files from openstack/requirements.
branches: ^(?!stable/(ocata|pike|queens|rocky|stein|train|ussuri)).*$
required-projects:
- name: openstack/requirements
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
- job:
name: openstack-tox
abstract: true
parent: tox
nodeset: ubuntu-bionic
description: |
Base job (bionic) to run tox jobs with OpenStack project specific updates.
Processing upper-constraints files from openstack/requirements.
This job runs on bionic for stable/stein, train, and ussuri. This
job is prepared to make sure all stable branches from stable/stein till
stable/ussuri will keep running on bionic.
branches:
- stable/stein
- stable/train
- stable/ussuri
required-projects:
- name: openstack/requirements
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
- job:
name: openstack-tox
abstract: true
parent: tox
nodeset: ubuntu-xenial
description: |
Base job (xenial) to run tox jobs with OpenStack project specific updates.
Processing upper-constraints files from openstack/requirements.
This job runs on Xenial for stable/ocata, pike, queens and rocky. This
job is prepared to make sure all stable branches before stable/stein will
keep running on xenial.
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
required-projects:
- name: openstack/requirements
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
- job:
name: openstack-tox-with-sudo
parent: openstack-tox
description: |
Job to run tox for tests with OpenStack project specific
settings such as constraints but without sudo access being revoked.
run: playbooks/tox-with-sudo/run.yaml
- job:
name: openstack-tox-py27
parent: openstack-tox
nodeset: ubuntu-bionic
timeout: 2400
description: |
Run unit tests for an OpenStack Python project under cPython version 2.7.
Uses tox with the ``py27`` environment.
branches: ^(?!stable/(ocata|pike|queens|rocky)).*$
irrelevant-files: &common-irrelevant-files
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^releasenotes/.*$
- ^deliverables/.*$
vars:
tox_envlist: py27
bindep_profile: test py27
- job:
name: openstack-tox-py27
parent: openstack-tox
nodeset: ubuntu-xenial
timeout: 2400
description: |
Run unit tests for an OpenStack Python project under cPython version 2.7.
Uses tox with the ``py27`` environment.
This job runs on Xenial for stable/ocata, pike, queens and rocky. This
job is prepared to make sure all stable branches before stable/stein will
keep running on xenial.
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: py27
bindep_profile: test py27
- job:
name: openstack-tox-py35
parent: openstack-tox
nodeset: ubuntu-xenial
branches: ^(?!driverfixes/).*$
timeout: 2400
description: |
Run unit tests for an OpenStack project under cPython version 3.5.
Uses tox with the ``py35`` environment.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: py35
bindep_profile: test py35
- job:
name: openstack-tox-py36
parent: openstack-tox
nodeset: ubuntu-bionic
timeout: 2400
description: |
Run unit tests for an OpenStack Python project under cPython
version 3.6.
Uses tox with the ``py36`` environment.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: py36
bindep_profile: test py36
- job:
name: openstack-tox-py37
parent: openstack-tox
nodeset: ubuntu-bionic
timeout: 2400
description: |
Run unit tests for an OpenStack Python project under cPython
version 3.7.
Uses tox with the ``py37`` environment.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: py37
bindep_profile: test py37
python_version: 3.7
- job:
name: openstack-tox-py38
parent: openstack-tox
nodeset: ubuntu-focal
timeout: 2400
description: |
Run unit tests for an OpenStack Python project under cPython
version 3.8.
Uses tox with the ``py38`` environment.
irrelevant-files: *common-irrelevant-files
branches: ^(?!stable/(train|ussuri)).*$
vars:
tox_envlist: py38
bindep_profile: test py38
python_version: 3.8
- job:
name: openstack-tox-py38
parent: openstack-tox
nodeset: ubuntu-bionic
timeout: 2400
description: |
Run unit tests for an OpenStack Python project under cPython
version 3.8 on ubuntu bionic.
This job runs on bionic for stable/train and ussuri.
Uses tox with the ``py38`` environment.
irrelevant-files: *common-irrelevant-files
branches:
- stable/train
- stable/ussuri
vars:
tox_envlist: py38
bindep_profile: test py38
python_version: 3.8
- job:
name: openstack-tox-py38-arm64
parent: openstack-tox-py38
nodeset: ubuntu-focal-arm64
timeout: 3600
description: |
Run unit tests for an OpenStack Python project under cPython
version 3.8 on top of arm64 architecture.
Uses tox with the ``py38`` environment in arm64 platform.
- job:
name: openstack-tox-py39
parent: openstack-tox
nodeset: ubuntu-focal
timeout: 2400
description: |
Run unit tests for an OpenStack Python project under cPython
version 3.9.
Uses tox with the ``py39`` environment.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: py39
bindep_profile: test py39
python_version: 3.9
- job:
name: openstack-tox-py39-arm64
parent: openstack-tox-py39
nodeset: ubuntu-focal-arm64
timeout: 3600
description: |
Run unit tests for an OpenStack Python project under cPython
version 3.9 on top of arm64 architecture.
Uses tox with the ``py39`` environment in arm64 platform.
- 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: *common-irrelevant-files
vars:
tox_envlist: pypy
bindep_profile: test pypy
- job:
name: openstack-tox-linters
parent: openstack-tox
description: |
Runs code linting tests.
Uses tox with the ``linters`` environment.
vars:
tox_envlist: linters
bindep_profile: test linters
- job:
name: openstack-tox-molecule
parent: tox-molecule
description: |
Runs molecule to test Ansible roles.
Uses tox with the ``molecule`` environment.
post-run: playbooks/tox-molecule/post.yaml
vars:
bindep_profile: test molecule
- job:
name: openstack-tox-pep8
parent: openstack-tox
description: |
Runs code pep8 tests.
Uses tox with the ``pep8`` environment.
vars:
tox_envlist: pep8
bindep_profile: test pep8
test_setup_skip: true
- job:
name: openstack-tox-cover
parent: tox-cover
description: |
Run code coverage tests.
Uses tox with the ``cover`` environment.
nodeset: ubuntu-focal
branches: ^(?!stable/(ocata|pike|queens|rocky|stein|train|ussuri)).*$
required-projects:
- name: openstack/requirements
irrelevant-files: *common-irrelevant-files
success-url: cover/
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
timeout: 3000
- job:
name: openstack-tox-cover
parent: tox-cover
description: |
Run code coverage tests (Bionic).
Uses tox with the ``cover`` environment.
This job runs on bionic for stable/stein, train, and ussuri.
nodeset: ubuntu-bionic
branches:
- stable/stein
- stable/train
- stable/ussuri
required-projects:
- name: openstack/requirements
irrelevant-files: *common-irrelevant-files
success-url: cover/
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
timeout: 3000
- job:
name: openstack-tox-cover
parent: tox-cover
description: |
Run code coverage tests (Xenial).
Uses tox with the ``cover`` environment.
This job runs on Xenial for stable/ocata, pike, queens and rocky. This
job is prepared to make sure all stable branches before stable/stein will
keep running on xenial.
nodeset: ubuntu-xenial
required-projects:
- name: openstack/requirements
irrelevant-files: *common-irrelevant-files
success-url: cover/
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
timeout: 3000
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- 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-build
parent: openstack-tox
description: |
Run build tests.
Uses tox with the ``build`` environment.
vars:
tox_envlist: build
- job:
name: openstack-tox-functional
parent: openstack-tox
description: |
Run tox-based functional tests for an OpenStack Python project.
Uses tox with the ``functional`` environment.
irrelevant-files: *common-irrelevant-files
branches: ^(?!stable/(ocata|pike|queens|rocky|stein|train|ussuri)).*$
vars:
tox_envlist: functional
- job:
name: openstack-tox-functional
parent: openstack-tox
description: |
Run tox-based (bionic) functional tests for an OpenStack Python project.
Uses tox with the ``functional`` environment.
This job runs on bionic for stable/stein, train, and ussuri.
irrelevant-files: *common-irrelevant-files
nodeset: ubuntu-bionic
branches:
- stable/stein
- stable/train
- stable/ussuri
vars:
tox_envlist: functional
- job:
name: openstack-tox-functional
parent: openstack-tox
description: |
Run tox-based (xenial) functional tests for an OpenStack Python project.
Uses tox with the ``functional`` environment.
This job runs on xenial for stable/rocky.
irrelevant-files: *common-irrelevant-files
nodeset: ubuntu-xenial
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
vars:
tox_envlist: functional
- job:
name: openstack-tox-functional-with-sudo
parent: openstack-tox-with-sudo
description: |
Run tox-based functional tests for an OpenStack Python project.
Uses tox with the ``functional`` environment.
Sudo access is not revoked.
irrelevant-files: *common-irrelevant-files
branches: ^(?!stable/(ocata|pike|queens|rocky|stein|train|ussuri)).*$
vars:
tox_envlist: functional
- job:
name: openstack-tox-functional-with-sudo
parent: openstack-tox-with-sudo
description: |
Run tox-based (bionic) functional tests for an OpenStack Python project.
Uses tox with the ``functional`` environment.
Sudo access is not revoked.
This job runs on bionic for stable/stein, train, and ussuri.
irrelevant-files: *common-irrelevant-files
nodeset: ubuntu-bionic
branches:
- stable/stein
- stable/train
- stable/ussuri
vars:
tox_envlist: functional
- job:
name: openstack-tox-functional-with-sudo
parent: openstack-tox-with-sudo
description: |
Run tox-based (xenial) functional tests for an OpenStack Python project.
Uses tox with the ``functional`` environment.
Sudo access is not revoked.
This job runs on xenial till stable/rocky.
irrelevant-files: *common-irrelevant-files
nodeset: ubuntu-xenial
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
vars:
tox_envlist: functional
- job:
name: openstack-tox-functional-py35
parent: openstack-tox
nodeset: ubuntu-xenial
description: |
Run tox-based functional tests for an OpenStack Python project
under cPython version 3.5..
Uses tox with the ``functional-py35`` environment.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: functional-py35
- job:
name: openstack-tox-functional-py36
parent: openstack-tox
nodeset: ubuntu-bionic
description: |
Run tox-based functional tests for an OpenStack Python project
under cPython version 3.6.
Uses tox with the ``functional-py36`` environment.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: functional-py36
- job:
name: openstack-tox-functional-py37
parent: openstack-tox
nodeset: ubuntu-bionic
description: |
Run tox-based functional tests for an OpenStack Python project
under cPython version 3.7.
Uses tox with the ``functional-py37`` environment.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: functional-py37
python_version: 3.7
- job:
name: openstack-tox-functional-py38
parent: openstack-tox
nodeset: ubuntu-focal
description: |
Run tox-based functional tests for an OpenStack Python project
under cPython version 3.8.
Uses tox with the ``functional-py38`` environment.
irrelevant-files: *common-irrelevant-files
branches: ^(?!stable/(train|ussuri)).*$
vars:
tox_envlist: functional-py38
bindep_profile: test py38
python_version: 3.8
- job:
name: openstack-tox-functional-py38
parent: openstack-tox
nodeset: ubuntu-bionic
description: |
Run tox-based (bionic) functional tests for an OpenStack Python project
under cPython version 3.8.
Uses tox with the ``functional-py38`` environment.
This job runs on bionic for stable/train and ussuri.
irrelevant-files: *common-irrelevant-files
branches:
- stable/train
- stable/ussuri
vars:
tox_envlist: functional-py38
bindep_profile: test py38
python_version: 3.8
- job:
name: openstack-tox-functional-py39
parent: openstack-tox
nodeset: ubuntu-focal
description: |
Run tox-based functional tests for an OpenStack Python project
under cPython version 3.9.
Uses tox with the ``functional-py39`` environment.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: functional-py39
bindep_profile: test py39
python_version: 3.9
- job:
name: openstack-tox-functional-py36-fips
parent: openstack-tox-functional-py36
nodeset: devstack-single-node-centos-8-stream
description: |
Functional testing for a FIPS enabled Centos 8 system
pre-run: playbooks/fips/enable-fips.yaml
- job:
name: openstack-tox-validate
parent: openstack-tox
description: |
Run validate tests.
Uses tox with the ``validate`` environment.
vars:
tox_envlist: validate
ensure_global_symlinks: true
- job:
name: openstack-tox-pylint
parent: openstack-tox
description: |
Runs pylint tests.
Uses tox with the ``pylint`` environment.
irrelevant-files: *common-irrelevant-files
vars:
# pylint is very noisy
tox_inline_comments: false
tox_envlist: pylint
- job:
name: openstack-tox-compare-cover
parent: openstack-tox
# NOTE(sambetts) This job runs the full UTs twice to compare the coverage
# pre-and-post a patch so requires longer to run.
timeout: 4500
description: |
Run coverage comparison tests.
Uses tox with the ``compare-cover`` environment.
vars:
tox_envlist: compare-cover
- job:
name: openstack-tox-snap-with-sudo
parent: openstack-tox-with-sudo
description: |
Run tox-based functional tests for an OpenStack Python project.
Uses tox with the ``snap`` environment.
Sudo access is not revoked.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: snap
- job:
name: openstack-tox-docs
parent: opendev-tox-docs
nodeset: ubuntu-focal
description: |
Run documentation build.
Uses tox with the ``docs`` environment.
.. zuul:jobvar: tox_envlist
The tox environment for building HTML, default is ``docs``.
.. zuul:jobvar: tox_pdf_envlist
The tox environment for building PDF, default is ``pdf-docs``.
If this environment does not exist, no PDF building is done.
.. zuul:jobvar: tox_skip_pdf
Whether to skip building of PDF documents. By default a PDF
file is build if the tox environment specified by
:zuul:jobvar:`tox_pdf_envlist` exists.
branches: ^(?!stable/(ocata|pike|queens|rocky|stein|train|ussuri)).*$
required-projects:
- name: openstack/requirements
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
bindep_profile: compile doc
tox_envlist: docs
tox_pdf_envlist: pdf-docs
tox_skip_pdf: false
# PDF Building is only done from stein onwards.
pre-run: playbooks/tox-docs/pre.yaml
run: playbooks/tox-docs/run.yaml
- job:
name: openstack-tox-docs
parent: opendev-tox-docs
description: |
Run documentation build (bionic).
Uses tox with the ``docs`` environment.
This job runs on bionic for stable/stein, train, and ussuri.
.. zuul:jobvar: tox_envlist
The tox environment for building HTML, default is ``docs``.
.. zuul:jobvar: tox_pdf_envlist
The tox environment for building PDF, default is ``pdf-docs``.
If this environment does not exist, no PDF building is done.
.. zuul:jobvar: tox_skip_pdf
Whether to skip building of PDF documents. By default a PDF
file is build if the tox environment specified by
:zuul:jobvar:`tox_pdf_envlist` exists.
required-projects:
- name: openstack/requirements
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
tox_envlist: docs
bindep_profile: compile doc
tox_pdf_envlist: pdf-docs
tox_skip_pdf: false
nodeset: ubuntu-bionic
# PDF Building is only done from stein onwards, therefore these
# pre-run and run playbooks are not part of
# openstack-tox-docs job for older branches up to rocky.
pre-run: playbooks/tox-docs/pre.yaml
run: playbooks/tox-docs/run.yaml
branches:
- stable/stein
- stable/train
- stable/ussuri
- job:
name: openstack-tox-docs
parent: opendev-tox-docs
description: |
Run documentation build (xenial).
Uses tox with the ``docs`` environment.
This job runs on Xenial for stable/ocata, pike, queens and rocky. This
job is prepared to make sure all stable branches before stable/stein will
keep running on xenial.
required-projects:
- name: openstack/requirements
vars:
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
tox_envlist: docs
bindep_profile: compile doc
nodeset: ubuntu-xenial
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- job:
name: openstack-tox-with-oslo-master-base
parent: openstack-tox-py27
timeout: 3000
description: |
This job installs all oslo libraries from source and tests that the
unit tests of the tested project work.
required-projects:
- openstack/automaton
- openstack/debtcollector
- openstack/futurist
- openstack/osprofiler
- openstack/oslo.cache
- openstack/oslo.concurrency
- openstack/oslo.config
- openstack/oslo.context
- openstack/oslo.db
- openstack/oslo.i18n
- openstack/oslo.log
- openstack/oslo.messaging
- openstack/oslo.middleware
- openstack/oslo.policy
- openstack/oslo.privsep
- openstack/oslo.reports
- openstack/oslo.rootwrap
- openstack/oslo.serialization
- openstack/oslo.service
- openstack/oslo.utils
- openstack/oslo.versionedobjects
- openstack/oslo.vmware
- openstack/oslotest
- openstack/pycadf
- openstack/stevedore
- openstack/taskflow
- openstack/tooz
- openstack/pbr
vars:
tox_install_siblings: true
- job:
name: openstack-tox-py36-with-oslo-master
parent: openstack-tox-with-oslo-master-base
nodeset: ubuntu-bionic
description: |
This job installs all oslo libraries from source and tests that the
unit tests of the tested project work.
It uses the tox ``py36`` environment.
The job is normally run in a periodic pipeline, it is configured
to run on the master branch.
branches: master
vars:
tox_envlist: py36
bindep_profile: test py36
- job:
name: openstack-tox-py36-with-neutron-lib-master
parent: openstack-tox-py36
timeout: 3000
description: |
This job installs neutron-lib from source and tests that the
unit tests of the tested project work.
It uses the tox ``py36`` environment.
The job is normally run in a periodic pipeline, it is configured
to run on the master branch.
branches: master
required-projects:
- openstack/neutron
- openstack/neutron-lib
vars:
tox_install_siblings: true
- job:
name: openstack-tox-py36-with-ovsdbapp-master
parent: openstack-tox-py36
timeout: 3000
description: |
This job installs ovsdbapp from source and tests that the
unit tests of the tested project work.
It uses the tox ``py36`` environment.
The job is normally run in a periodic pipeline, it is configured
to run on the master branch.
branches: master
required-projects:
- openstack/ovsdbapp
vars:
tox_install_siblings: true
- job:
name: openstack-tox-lower-constraints
parent: openstack-tox
nodeset: ubuntu-bionic
branches: ^(?!driverfixes/).*$
timeout: 2400
description: |
Run unit tests using the lower constraints.
Uses tox with the ``lower-constraints`` environment,
which should be configured to use Python 3 by default
unless the project does not support Python 3.
irrelevant-files: *common-irrelevant-files
vars:
tox_envlist: lower-constraints
bindep_profile: test py36
- job:
name: build-openstack-puppet-tarball
description: |
Build a puppet tarball but do not upload it anywhere.
pre-run: playbooks/puppet-tarball/pre.yaml
run: playbooks/puppet-tarball/run.yaml
files: ^metadata.json$
- job:
name: publish-openstack-puppet-branch-tarball
parent: publish-openstack-artifacts
description: |
Publish the results of the puppet-tarball job to tarballs.openstack.org.
pre-run: playbooks/puppet-tarball/pre.yaml
run: playbooks/puppet-tarball/run.yaml
post-run: playbooks/puppet-branch-tarball/post.yaml
- 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.yaml
run: playbooks/javascript/tarball.yaml
post-run:
- playbooks/javascript/post.yaml
- playbooks/javascript/post-tarball.yaml
- job:
name: announce-release
description: Send a release announcement after publishing a project
pre-run: playbooks/release/pre.yaml
run: playbooks/release/announce.yaml
required-projects:
- openstack/releases
- job:
name: xstatic-check-version
description: Check version used by xstatic packages
run: playbooks/xstatic/check-version.yaml
- job:
name: build-openstack-releasenotes
branches: ^(?!driverfixes/).*$
parent: build-reno-releasenotes
description: |
Build releasenotes, with optional translation support, using reno.
# Building translated releasenotes can take long for large repositories
timeout: 3600
required-projects:
- name: openstack/requirements
vars:
constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
- job:
name: build-openstack-api-ref
parent: openstack-tox-docs
description: |
Build api-ref document. This is only run on master branch of a
project.
timeout: 1800
vars:
sphinx_build_dir: api-ref/build
tox_envlist: api-ref
tox_skip_pdf: true
# We only publish the master branch, so no need to run
# for changes on other branches.
branches: master
- job:
name: build-openstack-api-guide
parent: openstack-tox-docs
description: |
Build api-guide document. This is only run for changes on master
branch of a project.
vars:
sphinx_build_dir: api-guide/build
tox_envlist: api-guide
tox_skip_pdf: true
# We only publish the master branch, so no need to run
# for changes on other branches.
branches: master
- job:
name: build-openstack-deploy-guide
parent: openstack-tox-docs
description: |
Build deploy-guide document.
vars:
sphinx_build_dir: deploy-guide/build
tox_envlist: deploy-guide
tox_skip_pdf: true
- job:
name: build-openstack-install-guide
parent: build-openstack-sphinx-docs
description: |
Build install-guide document.
vars:
sphinx_build_dir: install-guide/build
sphinx_source_dir: install-guide/source
# This job runs only pre-pike, with pike the documents have been
# integrated into normal builds.
branches:
- stable/newton
- stable/ocata
files:
- ^install-guide/.*
- bindep.txt
- doc/requirements.txt
- test-requirements.txt
- job:
name: legacy-base
abstract: true
description: |
Base job (xenial) for autoconverted legacy jobs
This job runs on Xenial and this is for stable/ocata, pike, queens
and rocky. This job is prepared to make sure all stable branches
before stable/stein will keep running on xenial.
pre-run: playbooks/legacy/pre.yaml
nodeset: legacy-ubuntu-xenial
vars:
bindep_fallback: /usr/local/bindep-fallback/bindep-fallback.txt
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- job:
name: legacy-base
abstract: true
description: |
Base job (bionic) for autoconverted legacy jobs
This job runs on Bionic from stable/stein on.
pre-run: playbooks/legacy/pre.yaml
vars:
bindep_fallback: /usr/local/bindep-fallback/bindep-fallback.txt
branches: ^(?!stable/(ocata|pike|queens|rocky)).*$
nodeset: legacy-ubuntu-bionic
- job:
name: legacy-dsvm-base
abstract: true
description: |
Base job (xenial) 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. This job runs on Xenial for
stable/ocata, pike, queens and rocky. This job is prepared to
make sure all stable branches before stable/stein will keep
running on xenial.
nodeset: devstack-single-node
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
pre-run: playbooks/legacy/pre.yaml
required-projects:
- openstack/devstack
- openstack/devstack-gate
- openstack/tripleo-ci
- openstack/ceilometer
- openstack/ceilometermiddleware
- openstack/cinder
- 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-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
# NOTE(mriedem): The openstack/placement repo is new in Stein and will
# be ignored on stable branches before Stein.
- openstack/placement
- openstack/requirements
- openstack/swift
- openstack/tempest
- openstack/tripleo-heat-templates
- openstack/tripleo-image-elements
- openstack/zaqar
- job:
name: legacy-dsvm-base
abstract: true
description: |
Base job (bionic) 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. This job runs on Bionic from
stable/stein on.
branches: ^(?!stable/(ocata|pike|queens|rocky)).*$
nodeset: legacy-ubuntu-bionic
pre-run: playbooks/legacy/pre.yaml
required-projects:
- openstack/devstack
- openstack/devstack-gate
- openstack/tripleo-ci
- openstack/ceilometer
- openstack/ceilometermiddleware
- openstack/cinder
- 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-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
# NOTE(mriedem): The openstack/placement repo is new in Stein and will
# be ignored on stable branches before Stein.
- openstack/placement
- openstack/requirements
- openstack/swift
- openstack/tempest
- openstack/tripleo-heat-templates
- openstack/tripleo-image-elements
- openstack/zaqar
- job:
name: legacy-dsvm-base-multinode
abstract: true
parent: legacy-dsvm-base
description: |
Base job (xenial) for multinode devstack jobs.
Will setup firewall rules on all the nodes allowing them to talk to
each other. This job runs on Xenial for stable/ocata, pike, queens
and rocky. This job is prepared to make sure all stable branches
before stable/stein will keep running on xenial.
roles:
- zuul: zuul/zuul-jobs
pre-run: playbooks/legacy/multinode-networking/pre.yaml
nodeset: legacy-ubuntu-xenial-2-node
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- job:
name: legacy-dsvm-base-multinode
abstract: true
parent: legacy-dsvm-base
description: |
Base job (bionic) for multinode devstack jobs.
Will setup firewall rules on all the nodes allowing them to talk to
each other. This job runs on Bionic from stable/stein on.
roles:
- zuul: zuul/zuul-jobs
pre-run: playbooks/legacy/multinode-networking/pre.yaml
branches: ^(?!stable/(ocata|pike|queens|rocky)).*$
nodeset: legacy-ubuntu-bionic-2-node
- job:
name: legacy-publish-openstack-artifacts
abstract: true
parent: publish-openstack-artifacts
description: |
Base job (xenial) for autoconverted legacy jobs that publish artifacts
This job runs on Xenial for stable/ocata, pike, queens
and rocky. This job is prepared to make sure all stable branches
before stable/stein will keep running on xenial.
nodeset: devstack-single-node
pre-run: playbooks/legacy/pre.yaml
branches:
- stable/ocata
- stable/pike
- stable/queens
- stable/rocky
- job:
name: legacy-publish-openstack-artifacts
abstract: true
parent: publish-openstack-artifacts
description: |
Base job (bionic) for autoconverted legacy jobs that publish artifacts.
This job runs on Bionic from stable/stein on.
branches: ^(?!stable/(ocata|pike|queens|rocky)).*$
nodeset: legacy-ubuntu-bionic
pre-run: playbooks/legacy/pre.yaml
- 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
- tools/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
- zuul/main.yaml
- job:
name: project-config-grafyaml
parent: tox
description: |
Runs checks on grafyaml configuration with the ``grafyaml`` tox
env.
vars:
tox_envlist: grafyaml
tox_environment:
GRAFYAML_SRC: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/opendev/grafyaml'].src_dir }}"
required-projects:
- opendev/grafyaml
files:
- ^grafana/.*$
- bindep.txt
- other-requirements.txt
- 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
required-projects:
- zuul/nodepool
files:
- ^nodepool/nodepool.yaml
- ^nodepool/nl.*yaml$
- bindep.txt
- other-requirements.txt
- tox.ini
- job:
name: build-openstack-specs-site
parent: opendev-tox-docs
description: |
Generates the index page of http://specs.openstack.org/.
vars:
tox_envlist: specs
sphinx_build_dir: specs
- 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: opendev-tox-docs
description: |
Generates the index page for https://docs.openstack.org/infra/.
vars:
tox_envlist: infra-docs
sphinx_build_dir: docs-site
- job:
name: openafs-rpm-package-build
description: |
There are no official builds for AFS on Centos, hence we build
our own and publish them to tarballs.openstack.org for our
centos hosts that need access to the mirror to consume.
run: playbooks/openafs-rpm-package-build/run.yaml
files: &afs-files
- playbooks/openafs-rpm-package-build
- roles/openafs-rpm-package-build
- job:
name: openafs-rpm-package-build-centos-7-x86
parent: openafs-rpm-package-build
nodeset: centos-7
- job:
name: openafs-rpm-package-build-centos-8-x86
parent: openafs-rpm-package-build
nodeset: centos-8
- job:
name: openafs-rpm-package-build-centos-8-arm64
parent: openafs-rpm-package-build
nodeset: centos-8-arm64
- job:
name: openafs-rpm-package-build-promote
description: |
Publish the openafs RPM packages
parent: publish-openstack-artifacts
run: playbooks/openafs-rpm-package-build/publish.yaml
files: *afs-files
nodeset:
nodes: []
- job:
name: openstack-zuul-jobs-linters
parent: tox
description: |
This job runs against base-jobs, project-config, openstack-zuul-jobs
and zuul-jobs so we can properly lint our ansible playbooks / roles.
required-projects:
- opendev/base-jobs
- openstack/openstack-zuul-jobs
- openstack/project-config
- opendev/system-config
- zuul/zuul-jobs
vars:
tox_envlist: linters
tox_environment:
ANSIBLE_ROLES_PATH: ~/src/opendev.org/opendev/base-jobs/roles:~/src/opendev.org/zuul/zuul-jobs/roles:~/src/opendev.org/openstack/openstack-zuul-jobs/roles:~/src/opendev.org/openstack/project-config/roles:~/src/opendev.org/opendev/system-config/roles
- job:
name: ansible-role-functional-base
abstract: true
parent: tox
description: |
Run functional functional tests for ansible-role projects.
Uses tox with the ``functional`` environment.
pre-run: playbooks/ansible-role-functional/pre.yaml
run: playbooks/tox-with-sudo/run.yaml
vars:
tox_envlist: functional
- job:
name: ansible-role-functional-centos-7
parent: ansible-role-functional-base
nodeset: centos-7
- job:
name: ansible-role-functional-ubuntu-xenial
parent: ansible-role-functional-base
- job:
name: golang-base
parent: unittests
abstract: true
description: |
Base job for golang tests.
pre-run: playbooks/golang/pre.yaml
run: playbooks/golang/run.yaml
- job:
name: golang-fmt
parent: golang-base
description: |
Run golang fmt test.
This uses the make target ``fmt``.
vars:
golang_target: "fmt"
- job:
name: golang-unit
parent: golang-base
description: |
Run golang unit test.
This uses the make target ``test``.
vars:
golang_target: "test"
- job:
name: openstack-infra-extra-integration
description: |
Runs non-base roles that are used within various jobs to prevent
regressions. As opposed to base roles, these may run in a
limited set of environments or have other simplifying
assumptions.
abstract: true
protected: true
parent: base
required-projects:
- openstack/project-config
roles:
- zuul: zuul/zuul-jobs
run: tests/extra.yaml
files:
- ^zuul.d/*
- ^roles/prepare-zanata-client/.*
- ^tests/.*
# NOTE(ianw): This test restricted to the two node types these roles
# run on in the gate.
- job:
name: openstack-infra-extra-integration-xenial
parent: openstack-infra-extra-integration
nodeset: ubuntu-xenial
- job:
name: openstack-infra-extra-integration-bionic
parent: openstack-infra-extra-integration
nodeset: ubuntu-bionic
- job:
name: build-wheel-cache-base
abstract: true
description: |
Base job for building wheels published in OpenStack CI mirrors.
pre-run:
- playbooks/wheel-cache/pre.yaml
run: playbooks/wheel-cache/build.yaml
post-run: playbooks/wheel-cache/post-base.yaml
# 2.5 hours
timeout: 9000
required-projects:
- name: openstack/requirements
# The job iterates over all branches, so we only need to run it on
# master.
branches: master
# The publish jobs use kerberos/openafs roles in pre/post
# playbooks, so this needs to be included here in the parent.
roles:
- zuul: opendev/system-config
vars:
bindep_dir: "{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}"
- job:
name: build-wheel-cache-centos-7
parent: build-wheel-cache-base
description: |
Build CentOS 7 wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-centos-7-python2
label: centos-7
host-vars:
wheel-cache-centos-7-python2:
wheel_python: python2
- job:
name: build-wheel-cache-centos-8
parent: build-wheel-cache-base
description: |
Build CentOS 8 wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-centos-8-python3
label: centos-8
host-vars:
wheel-cache-centos-8-python3:
wheel_python: python3
- job:
name: build-wheel-cache-centos-8-arm64
parent: build-wheel-cache-base
description: |
Build CentOS 8 wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-centos-8-arm64-python3
label: centos-8-arm64
host-vars:
wheel-cache-centos-8-arm64-python3:
wheel_python: python3
- job:
name: build-wheel-cache-centos-8-stream
parent: build-wheel-cache-base
description: |
Build CentOS 8 wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-centos-8-stream-python3
label: centos-8-stream
host-vars:
wheel-cache-centos-8-stream-python3:
wheel_python: python3
- job:
name: build-wheel-cache-centos-8-stream-arm64
parent: build-wheel-cache-base
description: |
Build CentOS 8 wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-centos-8-stream-arm64-python3
label: centos-8-stream-arm64
host-vars:
wheel-cache-centos-8-stream-arm64-python3:
wheel_python: python3
- job:
name: build-wheel-cache-debian-bullseye
parent: build-wheel-cache-base
description: |
Build Debian bullseye wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-debian-bullseye-python3
label: debian-bullseye
host-vars:
wheel-cache-debian-bullseye-python3:
wheel_python: python3
- job:
name: build-wheel-cache-debian-bullseye-arm64
parent: build-wheel-cache-base
description: |
Build Debian bullseye wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-debian-bullseye-arm64-python3
label: debian-bullseye-arm64
host-vars:
wheel-cache-debian-bullseye-arm64-python3:
wheel_python: python3
- job:
name: build-wheel-cache-debian-buster
parent: build-wheel-cache-base
description: |
Build Debian buster wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-debian-buster-python2
label: debian-buster
- name: wheel-cache-debian-buster-python3
label: debian-buster
host-vars:
wheel-cache-debian-buster-python2:
wheel_python: python2
wheel-cache-debian-buster-python3:
wheel_python: python3
- job:
name: build-wheel-cache-debian-buster-arm64
parent: build-wheel-cache-base
description: |
Build Debian buster wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-debian-buster-arm64-python2
label: debian-buster-arm64
- name: wheel-cache-debian-buster-arm64-python3
label: debian-buster-arm64
host-vars:
wheel-cache-debian-buster-arm64-python2:
wheel_python: python2
wheel-cache-debian-buster-arm64-python3:
wheel_python: python3
- job:
name: build-wheel-cache-ubuntu-focal
parent: build-wheel-cache-base
description: |
Build Ubuntu Focal wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-ubuntu-focal-python3
label: ubuntu-focal
host-vars:
wheel-cache-ubuntu-focal-python3:
wheel_python: python3
- job:
name: build-wheel-cache-ubuntu-focal-arm64
parent: build-wheel-cache-base
description: |
Build Ubuntu Focal wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-ubuntu-focal-arm64-python3
label: ubuntu-focal-arm64
host-vars:
wheel-cache-ubuntu-focal-arm64-python3:
wheel_python: python3
- job:
name: build-wheel-cache-ubuntu-bionic
parent: build-wheel-cache-base
description: |
Build Ubuntu Bionic wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-ubuntu-bionic-python2
label: ubuntu-bionic
- name: wheel-cache-ubuntu-bionic-python3
label: ubuntu-bionic
host-vars:
wheel-cache-ubuntu-bionic-python2:
wheel_python: python2
wheel-cache-ubuntu-bionic-python3:
wheel_python: python3
- job:
name: build-wheel-cache-ubuntu-bionic-arm64
parent: build-wheel-cache-base
description: |
Build Ubuntu Bionic wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-ubuntu-bionic-arm64-python2
label: ubuntu-bionic-arm64
- name: wheel-cache-ubuntu-bionic-arm64-python3
label: ubuntu-bionic-arm64
host-vars:
wheel-cache-ubuntu-bionic-arm64-python2:
wheel_python: python2
wheel-cache-ubuntu-bionic-arm64-python3:
wheel_python: python3
- job:
name: build-wheel-cache-ubuntu-xenial
parent: build-wheel-cache-base
description: |
Build Ubuntu Xenial wheels for OpenStack CI mirrors.
nodeset:
nodes:
- name: wheel-cache-ubuntu-xenial-python2
label: ubuntu-xenial
- name: wheel-cache-ubuntu-xenial-python3
label: ubuntu-xenial
host-vars:
wheel-cache-ubuntu-xenial-python2:
wheel_python: python2
wheel-cache-ubuntu-xenial-python3:
wheel_python: python3