tripleo-ci/zuul.d/base.yaml

673 lines
22 KiB
YAML

---
# zuul.d/base.yaml
# This file contains parent layouts for all TripleO jobs.
# Do not add children specific layout here.
# This job definition holds the required projects
# for tripleo-ci-base. The required projects are separated
# out to allow for this job to be shadowed in another repo
# and the required projects overwritten for other environments.
- job:
name: tripleo-ci-base-required-projects
description: |
Base abstract job to add required-projects for tripleo-ci-base
abstract: true
parent: multinode
required-projects: &required_projects
- opendev.org/openstack/tripleo-ci
- opendev.org/openstack/tripleo-quickstart
- opendev.org/openstack/tripleo-quickstart-extras
- opendev.org/openstack/tripleo-operator-ansible
- opendev.org/openstack/ansible-collections-openstack
- opendev.org/openstack/tripleo-upgrade
- opendev.org/openstack/tripleo-ansible
- opendev.org/x/browbeat
- opendev.org/openstack/tripleo-ha-utils
- opendev.org/openstack/openstack-tempest-skiplist
- name: opendev.org/openstack/openstack-virtual-baremetal
override-checkout: stable/1.0
- name: opendev.org/openstack/openstack-ansible-os_tempest
override-checkout: master
- name: opendev.org/openstack/ansible-role-python_venv_build
override-checkout: master
- name: opendev.org/openstack/ansible-config_template
override-checkout: master
- opendev.org/openstack/ansible-role-collect-logs
- job:
name: tripleo-ci-base
# min version to use (needed for proper python interpreter detection)
ansible-version: 2.8
abstract: true
description: |
Base abstract job for all TripleO CI zuulv3 jobs
parent: tripleo-ci-base-required-projects
timeout: 10800
post-timeout: 3600
vars:
unbound_cache_min_ttl: 900
ara_generate_html: true
bridge_name: br-ex
bridge_address_prefix: 192.168.24
bridge_address_subnet: 24
bridge_address_offset: 2
bridge_mtu: 1350
nodeset: two-centos-7-nodes
roles:
- zuul: opendev.org/zuul/zuul-jobs
- zuul: opendev.org/openstack/openstack-zuul-jobs
pre-run:
- playbooks/nodepool-provider/pre.yaml
- playbooks/openstack-zuul-jobs/legacy/pre.yaml
- playbooks/tripleo-ci/ceph.yaml
- playbooks/tripleo-ci/pre.yaml
run: playbooks/tripleo-ci/run-v3.yaml
post-run: playbooks/tripleo-ci/post.yaml
irrelevant-files:
- ^.*\.md$
- ^.*\.rst$
- ^doc/.*$
- ^etc/.*$
- ^metadata.json$
- ^releasenotes/.*$
# do not put requirements.txt here, as it can have a huge impact
- ^test-requirements.txt$
- ^lower-constraints.txt$
- ^spec/.*$
- ^Puppetfile.*$
- tox.ini
- ^setup.*$
- ^vars/sova-patterns.yml$
- ^.ansible-lint$
- ^.pre-commit-config.yaml$
- ^.yamllint$
# This job definition holds the required projects
# for tripleo-ci-base-centos-8. The required projects are separated
# out to allow for this job to be shadowed in another repo
# and the required projects overwritten for other environments
- job:
name: tripleo-ci-base-required-projects-centos-8
description: |
Base abstract job to add required-projects for tripleo-ci-base-centos-8
abstract: true
parent: multinode
required-projects: *required_projects
- job:
name: tripleo-ci-base-centos-8
# min version to use (needed for proper python interpreter detection)
ansible-version: 2.8
abstract: true
description: |
Base abstract job for all TripleO CI centos-8 zuulv3 jobs
parent: tripleo-ci-base-required-projects-centos-8
timeout: 10800
post-timeout: 3600
vars:
unbound_cache_min_ttl: 900
ara_generate_html: true
bridge_name: br-ex
bridge_address_prefix: 192.168.24
bridge_address_subnet: 24
bridge_address_offset: 2
bridge_mtu: 1350
nodeset: two-centos-8-nodes
roles:
- zuul: opendev.org/zuul/zuul-jobs
- zuul: opendev.org/openstack/openstack-zuul-jobs
pre-run:
- playbooks/nodepool-provider/pre.yaml
- playbooks/openstack-zuul-jobs/legacy/pre.yaml
- playbooks/tripleo-ci/ceph.yaml
- playbooks/tripleo-ci/pre.yaml
run: playbooks/tripleo-ci/run-v3.yaml
post-run: playbooks/tripleo-ci/post.yaml
irrelevant-files:
- ^.*\.md$
- ^.*\.rst$
- ^doc/.*$
- ^etc/.*$
- ^metadata.json$
- ^releasenotes/.*$
# do not put requirements.txt here, as it can have a huge impact
- ^test-requirements.txt$
- ^lower-constraints.txt$
- ^spec/.*$
- ^Puppetfile.*$
- tox.ini
- ^setup.*$
- ^vars/sova-patterns.yml$
^.ansible-lint$
- ^.pre-commit-config.yaml$
- ^.yamllint$
- job:
name: tripleo-ci-base-multinode
abstract: true
description: |
Base abstract job for multinode TripleO CI zuulv3 jobs
parent: tripleo-ci-base
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: multinode
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-undercloud.yml
- multinode-overcloud-prep.yml
- multinode-overcloud.yml
- multinode-overcloud-update.yml
- multinode-overcloud-upgrade.yml
- multinode-validate.yml
tags:
- build
- undercloud-setup
- undercloud-scripts
- undercloud-install
- undercloud-post-install
- tripleo-validations
- overcloud-scripts
- overcloud-prep-config
- overcloud-prep-containers
- overcloud-deploy
- overcloud-post-deploy
- overcloud-validate
- job:
name: tripleo-ci-base-multinode-centos-8
abstract: true
description: |
Base abstract job for multinode TripleO CI centos-8 zuulv3 jobs
parent: tripleo-ci-base-centos-8
pre-run: playbooks/tripleo-ci/install-built-repo.yml
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: multinode
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-undercloud.yml
- multinode-overcloud-prep.yml
- multinode-overcloud.yml
- multinode-overcloud-update.yml
- multinode-overcloud-upgrade.yml
- multinode-validate.yml
tags:
- build
- undercloud-setup
- undercloud-scripts
- undercloud-install
- undercloud-post-install
- tripleo-validations
- overcloud-scripts
- overcloud-prep-config
- overcloud-prep-containers
- overcloud-deploy
- overcloud-post-deploy
- overcloud-validate
- job:
name: tripleo-ci-base-ovb
abstract: true
description: |
Base abstract job for OVB TripleO CI zuulv3 jobs
# min version to use
ansible-version: 2.8
parent: tripleo-ci-base
nodeset: single-centos-7-node
vars:
undercloud: undercloud
environment_infra: ovb
environment_type: ovb
playbooks:
- ovb-setup.yml
- baremetal-full-undercloud.yml
- baremetal-full-overcloud-prep.yml
- baremetal-full-overcloud.yml
- baremetal-full-overcloud-validate.yml
tags:
- all
- job:
name: tripleo-ci-base-ovb-centos-8
abstract: true
description: |
Base abstract job for OVB TripleO CI centos-8 zuulv3 jobs
# min version to use
ansible-version: 2.8
parent: tripleo-ci-base-centos-8
nodeset: single-centos-8-node
vars:
undercloud: undercloud
environment_infra: ovb
environment_type: ovb
playbooks:
- ovb-setup.yml
- baremetal-full-undercloud.yml
- baremetal-full-overcloud-prep.yml
- baremetal-full-overcloud.yml
- baremetal-full-overcloud-validate.yml
tags:
- all
- job:
name: tripleo-ci-base-singlenode
abstract: true
description: |
Base abstract job for singlenode TripleO CI zuulv3 jobs
parent: tripleo-ci-base
nodeset: single-centos-7-node
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: singlenode
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-undercloud.yml
- multinode-undercloud-upgrade.yml
- multinode-overcloud-prep.yml
- multinode-overcloud.yml
- multinode-overcloud-upgrade.yml
- multinode-validate.yml
tags:
- build
- undercloud-setup
- undercloud-scripts
- undercloud-install
- undercloud-validate
- images
- job:
name: tripleo-ci-base-singlenode-centos-8
abstract: true
description: |
Base abstract job for singlenode TripleO CI centos-8 zuulv3 jobs
parent: tripleo-ci-base-centos-8
nodeset: single-centos-8-node
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: singlenode
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-undercloud.yml
- multinode-undercloud-upgrade.yml
- multinode-overcloud-prep.yml
- multinode-overcloud.yml
- multinode-overcloud-upgrade.yml
- multinode-validate.yml
tags:
- build
- undercloud-setup
- undercloud-scripts
- undercloud-install
- undercloud-validate
- images
- job:
name: tripleo-ci-base-standalone
abstract: true
description: |
Base abstract job for standalone TripleO CI zuulv3 jobs
parent: tripleo-ci-base
nodeset: single-centos-7-node
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: standalone
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-standalone.yml
tags:
- build
- standalone
irrelevant-files: &irrelevant_base_standalone
- ^zuul.d/build-containers.yaml
- ^zuul.d/build-image.yaml
- ^zuul.d/deprecated-jobs.yaml
- ^zuul.d/multinode-jobs.yaml
- ^zuul.d/undercloud-jobs.yaml
- ^zuul.d/periodic.yaml
# This job definition holds the required projects
# for tripleo-ci-base-standalone-centos-8. The required projects are
# separated out to allow for this job to be shadowed in another repo
# and the required projects overwritten for other environments
- job:
name: tripleo-ci-base-standalone-required-projects-centos-8
abstract: true
description: |
Base abstract job providing required projects and roles for standalone centos-8 zuulv3 jobs
parent: tripleo-ci-base-centos-8
required-projects:
- opendev.org/openstack/tripleo-ansible
roles:
- zuul: opendev.org/openstack/tripleo-ansible
- job:
name: tripleo-ci-base-standalone-centos-8
abstract: true
description: |
Base abstract job for standalone TripleO CI centos-8 zuulv3 jobs
parent: tripleo-ci-base-standalone-required-projects-centos-8
nodeset: single-centos-8-node
pre-run: playbooks/tripleo-ci/install-built-repo.yml
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: standalone
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-standalone.yml
tags:
- build
- standalone
irrelevant-files: *irrelevant_base_standalone
- job:
name: tripleo-ci-base-standalone-upgrade
abstract: true
description: |
Base abstract job for standalone upgrade TripleO CI zuulv3 jobs
parent: tripleo-ci-base
nodeset: single-centos-7-node
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: standalone
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-standalone.yml
- multinode-standalone-upgrade.yml
tags:
- build
- standalone
extra_tags:
- standalone-upgrade
irrelevant-files: *irrelevant_base_standalone
- job:
name: tripleo-ci-base-standalone-upgrade-centos-8
abstract: true
description: |
Base abstract job for standalone upgrade TripleO CI centos-8 zuulv3 jobs
parent: tripleo-ci-base-centos-8
nodeset: single-centos-8-node
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: standalone
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-standalone.yml
- multinode-standalone-upgrade.yml
tags:
- build
- standalone
extra_tags:
- standalone-upgrade
irrelevant-files: *irrelevant_base_standalone
- job:
name: tripleo-build-containers-base-noreposetup-rhel8
abstract: true
description: |
Base abstract job for rhel8 TripleO CI build-containers jobs
in particular no required-projects
parent: tripleo-ci-base-singlenode
run: playbooks/tripleo-buildcontainers/run.yaml
post-run: playbooks/tripleo-buildcontainers/post.yaml
timeout: 7200
voting: false
# This job definition holds the required projects
# for tripleo-build-containers-base-noreposetup. The required projects are
# separated out to allow for this job to be shadowed in another repo
# and the required projects overwritten for other environments
- job:
name: tripleo-build-containers-base-noreposetup-required-projects
abstract: true
description: |
Base job to provide required-projects for standalone TripleO CI build-containers jobs
parent: tripleo-ci-base-singlenode
roles:
- zuul: opendev.org/openstack/ansible-role-container-registry
- zuul: opendev.org/openstack/tripleo-ansible
required-projects:
- opendev.org/openstack/ansible-role-container-registry
- opendev.org/openstack/kolla
- opendev.org/openstack/python-tripleoclient
- opendev.org/openstack/requirements
- opendev.org/openstack/tripleo-ansible
- opendev.org/openstack/tripleo-common
- opendev.org/openstack/tripleo-repos
# Please do not add files: to tripleo-build-containers-base otherwise the periodic job wont run
# See https://storyboard.openstack.org/#!/story/2005040
- job:
name: tripleo-build-containers-base-noreposetup
abstract: true
description: |
Base abstract job for standalone TripleO CI build-containers jobs
parent: tripleo-build-containers-base-noreposetup-required-projects
run: playbooks/tripleo-buildcontainers/run.yaml
post-run: playbooks/tripleo-buildcontainers/post.yaml
timeout: 7200
voting: false
# This job definition holds the required projects
# for tripleo-build-containers-base-noreposetup-centos-8. The required projects are
# separated out to allow for this job to be shadowed in another repo
# and the required projects overwritten for other environments
- job:
name: tripleo-build-containers-base-noreposetup-required-projects-centos-8
abstract: true
description: |
Base job to provide required projects for standalone TripleO CI centos-8 build-containers jobs
parent: tripleo-ci-base-singlenode-centos-8
roles:
- zuul: opendev.org/openstack/ansible-role-container-registry
- zuul: opendev.org/openstack/tripleo-ansible
required-projects:
- opendev.org/openstack/ansible-role-container-registry
- opendev.org/openstack/kolla
- opendev.org/openstack/python-tripleoclient
- opendev.org/openstack/requirements
- opendev.org/openstack/tripleo-ansible
- opendev.org/openstack/tripleo-common
- opendev.org/openstack/tripleo-repos
- job:
name: tripleo-build-containers-base-noreposetup-centos-8
abstract: true
description: |
Base abstract job for standalone TripleO CI centos-8 build-containers jobs
parent: tripleo-build-containers-base-noreposetup-required-projects-centos-8
run: playbooks/tripleo-buildcontainers/run.yaml
post-run: playbooks/tripleo-buildcontainers/post.yaml
timeout: 7200
voting: false
- job:
name: tripleo-build-containers-base
abstract: true
description: |
Base abstract job for standalone TripleO CI build-containers jobs running repo setup
parent: tripleo-build-containers-base-noreposetup
pre-run:
- playbooks/tripleo-buildcontainers/pre.yaml
- job:
name: tripleo-build-containers-base-centos-8
abstract: true
description: |
Base abstract job for standalone TripleO CI build-containers jobs running centos-8 repo setup
parent: tripleo-build-containers-base-noreposetup-centos-8
pre-run:
- playbooks/tripleo-buildcontainers/pre.yaml
- job:
# Has file filters in order to be used with non-periodic triggers due to:
# https://storyboard.openstack.org/#!/story/2005040
name: tripleo-build-containers-base-with-files
parent: tripleo-build-containers-base
abstract: true
irrelevant-files:
- ^.*\.rst$
- ^releasenotes/.*$
files:
# generic:
- ^bindep.txt$
- ^lower-constraints.txt$
- ^requirements.txt$
- ^setup.cfg$
- ^setup.py$
# kolla
- ^docker/.*$
- kolla.*$
# tripleo-ci
- ^playbooks/.*$
- ^(playbooks|roles)/tripleo-buildcontainers/.*$
- ^roles/build-containers/.*$
- ^roles/prepare-node/.*$
- ^roles/common/.*$
- ^(playbooks|roles)/tripleo-repos/.*$
- ^zuul.d/build-containers.yaml$
- ^zuul.d/base.yaml$
# tripleo-common
- ^container-images/.*$
- ^healthcheck/.*$
- ^tripleo_common/image/.*$
# tripleo-repos
- ^tripleo_repos/.*$
# python-tripleoclient
- ^tripleoclient/v1/container.*$
- job:
# Has file filters in order to be used with non-periodic triggers due to:
# https://storyboard.openstack.org/#!/story/2005040
name: tripleo-build-containers-base-with-files-centos-8
parent: tripleo-build-containers-base-centos-8
abstract: true
irrelevant-files:
- ^.*\.rst$
- ^releasenotes/.*$
files:
# generic:
- ^bindep.txt$
- ^lower-constraints.txt$
- ^requirements.txt$
- ^setup.cfg$
- ^setup.py$
# kolla
- ^docker/.*$
- kolla.*$
# tripleo-ci
- ^playbooks/.*$
- ^(playbooks|roles)/tripleo-buildcontainers/.*$
- ^roles/build-containers/.*$
- ^roles/prepare-node/.*$
- ^roles/common/.*$
- ^(playbooks|roles)/tripleo-repos/.*$
- ^zuul.d/build-containers.yaml$
- ^zuul.d/base.yaml$
# tripleo-common
- ^container-images/.*$
- ^healthcheck/.*$
- ^tripleo_common/image/.*$
# tripleo-repos
- ^tripleo_repos/.*$
# python-tripleoclient
- ^tripleoclient/v1/container.*$
- job:
name: tripleo-tox-molecule
# should `parent: openstack-tox-molecule` but we cannot because
# rdo zuul cannot load jobs from openstack-zuul-jobs.
# https://opendev.org/openstack/openstack-zuul-jobs/src/branch/master/zuul.d/jobs.yaml#L206
# https://github.com/rdo-infra/review.rdoproject.org-config/blob/master/zuul/rdo.yaml#L942-L943
description: |
TripleO own version of openstack-tox-molecule which adds
required-projects. These are used in order to allow testing change
requests with Depends-On, like below
openstack/tripleo-ci/roles/tripleo-repos -> openstack/tripleo-repos
parent: tox-molecule
success-url: "tox/reports.html"
failure-url: "tox/reports.html"
vars:
bindep_profile: test molecule
required-projects:
- opendev.org/openstack/tripleo-repos
- job:
name: tripleo-build-images-base
abstract: true
description: |
Base abstract job for tripleo-buildimage-* jobs
parent: tripleo-ci-base-singlenode
pre-run: playbooks/tripleo-buildimages/pre.yaml
run: playbooks/tripleo-buildimages/run-v3.yaml
post-run: playbooks/tripleo-buildimages/post.yaml
timeout: 5400
nodeset: single-centos-7-node
required-projects:
- opendev.org/openstack/diskimage-builder
- opendev.org/openstack/heat-agents
- opendev.org/openstack/instack-undercloud
- opendev.org/openstack/ironic
- opendev.org/openstack/ironic-python-agent
- opendev.org/openstack/ironic-python-agent-builder
- opendev.org/openstack/python-tripleoclient
- opendev.org/openstack/tripleo-common
- opendev.org/openstack/tripleo-image-elements
- opendev.org/openstack/tripleo-puppet-elements
- opendev.org/openstack/tripleo-repos
- opendev.org/openstack/requirements
irrelevant-files: &irrelevant_build_img
- ^zuul.d/build-containers.yaml
- ^zuul.d/deprecated-jobs.yaml
- ^zuul.d/multinode-jobs.yaml
- ^zuul.d/periodic.yaml
- ^zuul.d/standalone-jobs.yaml
- ^zuul.d/undercloud-jobs.yaml
- job:
name: tripleo-build-images-base-centos-8
abstract: true
description: |
Base abstract job for tripleo-buildimage-* centos-8 jobs
parent: tripleo-ci-base-singlenode-centos-8
pre-run:
- playbooks/tripleo-buildimages/pre.yaml
- playbooks/tripleo-buildimages/tmpfiles.yaml
run: playbooks/tripleo-buildimages/run-v3.yaml
post-run: playbooks/tripleo-buildimages/post.yaml
timeout: 5400
nodeset: single-centos-8-node
vars:
tripleo_image_os: centos8
required-projects:
- opendev.org/openstack/diskimage-builder
- opendev.org/openstack/heat-agents
- opendev.org/openstack/instack-undercloud
- opendev.org/openstack/ironic
- opendev.org/openstack/ironic-python-agent
- opendev.org/openstack/ironic-python-agent-builder
- opendev.org/openstack/python-tripleoclient
- opendev.org/openstack/tripleo-common
- opendev.org/openstack/tripleo-image-elements
- opendev.org/openstack/tripleo-puppet-elements
- opendev.org/openstack/tripleo-repos
- opendev.org/openstack/requirements
irrelevant-files: *irrelevant_build_img