--- # 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