Refactored TripleO jobs

Added a note that we do not have to build the RPM of the Ansible
OpenStack collection from source because TripleO Quickstart installs
the collection from job.required-projects [1]. The latter shadows the
RPM release which is installed later by TripleO because it has a
higher precedence in ansible.cfg [2][3].

Changed the job hierarchy to base jobs tripleo-ci-centos-8-\
standalone-build and tripleo-ci-centos-9-standalone-build. This reduces
the number of variables we have to define. In particular, variables
containers_base_image, build_container_images and featureset will be
inherited from parent jobs. The CentOS9 jobs are no longer based on
the CentOS8 job which prevents issues with job variant collections
due to our branched repository.

Added more Ansible modules to files which trigger TripleO jobs,
because Ansible role os_tempest [4] requires those modules and is
called in TripleO jobs. Modules which have been added include:
* openstack.cloud.compute_flavor
* openstack.cloud.image
* openstack.cloud.network
* openstack.cloud.router
* openstack.cloud.subnet

Dropped tripleo-ci-centos-9-standalone-osa from check jobs because the
master branch of TripleO C9 will have the OpenStack SDK 1.x.x release
series only which requires the master branch of the Ansible OpenStack
collection. The only RDO branches with openstacksdk <0.99.0 which will
be maintained longterm are C8 Train, C8 Wallaby and C9 Wallaby.

Dropped TripleO job based on C8 Train from check and periodic and moved
it to experimental. It is unlikely that C8 Train will receive updates
for Ansible OpenStack collection.

[1] cb1595223b/quickstart.sh (L123)
[2] cb1595223b/ansible.cfg (L19)
[3] cb1595223b/quickstart.sh (L595)
[4] https://opendev.org/openstack/openstack-ansible-os_tempest.git

Change-Id: Ibde318678a3e44fdc297a6f29761eb0c7d77cbc9
(cherry picked from commit fc2dda1d86)
This commit is contained in:
Jakob Meng 2022-07-13 12:13:19 +02:00
parent 7a9837dfb5
commit 8743f24c4b

View File

@ -405,78 +405,83 @@
# TripleO jobs # TripleO jobs
- job: - job:
name: tripleo-ci-centos-8-standalone-osa name: tripleo-ci-centos-8-standalone-osa-pre-zed
parent: tripleo-ci-base-standalone-centos-8 parent: tripleo-ci-centos-8-standalone-build
vars: # Do not restrict branches in base jobs because else Zuul would not find a matching
featureset: '052' # parent job variant during job freeze when child jobs are on other branches.
vars: &tripleo_vars
consumer_job: false consumer_job: false
build_container_images: true # Define branch_override in child jobs, e.g. branch_override: stable/yoga
force_non_periodic: true force_non_periodic: true
required-projects: required-projects: &tripleo_required_projects
- openstack/ansible-collections-openstack - # Required for TripleO Quickstart to install current patchset of the collection
# Ref.: https://opendev.org/openstack/tripleo-quickstart/src/commit/b48d869e14de40444d69a107a0b718b5f721e912/quickstart.sh#L123
openstack/ansible-collections-openstack
- # always use master branch when collecting parent job variants, refer to git blame for rationale. - # always use master branch when collecting parent job variants, refer to git blame for rationale.
name: openstack/tripleo-ci name: openstack/tripleo-ci
override-checkout: master override-checkout: master
irrelevant-files: &irr_files irrelevant-files: &tripleo_irrelevant_files
- .*molecule.* - .*molecule.*
- ^.*\.md$ - ^.*\.md$
- ^.*\.rst$ - ^.*\.rst$
- ^docs/.*$
- ^contrib/.*$
- ^changelogs/.*$ - ^changelogs/.*$
- ^contrib/.*$
- ^docs/.*$
- ^meta/.*$ - ^meta/.*$
- ^tests/.*$
- ^tools/.*$
- ^requirements.*$ - ^requirements.*$
- ^setup.*$ - ^setup.*$
- ^tests/.*$
- ^tools/.*$
- tox.ini - tox.ini
# Run only on files used in TripleO # Run only on files used in TripleO
files: &ooo_files files: &tripleo_files
- ^.zuul.yaml$
- ^plugins/module_utils/openstack.*$
- ^plugins/modules/catalog_service.*$ - ^plugins/modules/catalog_service.*$
- ^plugins/modules/compute_flavor.*$
- ^plugins/modules/endpoint.*$ - ^plugins/modules/endpoint.*$
- ^plugins/modules/identity_domain.*$ - ^plugins/modules/identity_domain.*$
- ^plugins/modules/identity_domain_info.*$ - ^plugins/modules/identity_domain_info.*$
- ^plugins/modules/identity_role.*$ - ^plugins/modules/identity_role.*$
- ^plugins/modules/identity_user.*$ - ^plugins/modules/identity_user.*$
- ^plugins/modules/image.*$
- ^plugins/modules/keypair.*$ - ^plugins/modules/keypair.*$
- ^plugins/modules/network.*$
- ^plugins/modules/project.*$ - ^plugins/modules/project.*$
- ^plugins/modules/role_assignment.*$ - ^plugins/modules/role_assignment.*$
- ^plugins/modules/router.*$
- ^plugins/modules/stack.*$ - ^plugins/modules/stack.*$
- ^plugins/module_utils/openstack.*$ - ^plugins/modules/subnet.*$
- job: - job:
name: tripleo-ci-centos-9-standalone-osa name: tripleo-ci-centos-9-standalone-osa-pre-zed
parent: tripleo-ci-centos-8-standalone-osa parent: tripleo-ci-centos-9-standalone-build
nodeset: single-centos-9-node # Do not restrict branches in base jobs because else Zuul would not find a matching
branches: ^(stable/1.0.0|master).*$ # parent job variant during job freeze when child jobs are on other branches.
override-checkout: master vars: *tripleo_vars
vars: required-projects: *tripleo_required_projects
containers_base_image: quay.io/centos/centos:stream9 irrelevant-files: *tripleo_irrelevant_files
consumer_job: false files: *tripleo_files
build_container_images: true
branch_override: master
files: *ooo_files
irrelevant-files: *irr_files
- job: - job:
name: tripleo-ci-centos-8-standalone-train-osa name: tripleo-ci-centos-8-standalone-osa-train
parent: tripleo-ci-centos-8-standalone-osa parent: tripleo-ci-centos-8-standalone-osa-pre-zed
branches: stable/1.0.0 branches: stable/1.0.0
override-checkout: stable/train override-checkout: stable/train
vars: vars:
branch_override: stable/train branch_override: stable/train
- job: - job:
name: tripleo-ci-centos-8-standalone-wallaby-osa name: tripleo-ci-centos-8-standalone-osa-wallaby
parent: tripleo-ci-centos-8-standalone-osa parent: tripleo-ci-centos-8-standalone-osa-pre-zed
branches: stable/1.0.0 branches: stable/1.0.0
override-checkout: stable/wallaby override-checkout: stable/wallaby
vars: vars:
branch_override: stable/wallaby branch_override: stable/wallaby
- job: - job:
name: tripleo-ci-centos-9-standalone-wallaby-osa name: tripleo-ci-centos-9-standalone-osa-wallaby
parent: tripleo-ci-centos-9-standalone-osa parent: tripleo-ci-centos-9-standalone-osa-pre-zed
branches: stable/1.0.0 branches: stable/1.0.0
override-checkout: stable/wallaby override-checkout: stable/wallaby
vars: vars:
@ -539,18 +544,9 @@
dependencies: *deps_unit_lint dependencies: *deps_unit_lint
irrelevant-files: *ignore_files irrelevant-files: *ignore_files
- tripleo-ci-centos-8-standalone-wallaby-osa: - tripleo-ci-centos-8-standalone-osa-wallaby:
dependencies: *deps_unit_lint dependencies: *deps_unit_lint
- tripleo-ci-centos-9-standalone-osa-wallaby:
- tripleo-ci-centos-8-standalone-train-osa:
voting: false
dependencies: *deps_unit_lint
- tripleo-ci-centos-9-standalone-osa:
voting: false
dependencies: *deps_unit_lint
- tripleo-ci-centos-9-standalone-wallaby-osa:
voting: false voting: false
dependencies: *deps_unit_lint dependencies: *deps_unit_lint
@ -565,7 +561,7 @@
- ansible-collections-openstack-functional-devstack-xena-ansible-2.12 - ansible-collections-openstack-functional-devstack-xena-ansible-2.12
- ansible-collections-openstack-functional-devstack-train-ansible-2.11 - ansible-collections-openstack-functional-devstack-train-ansible-2.11
- ansible-collections-openstack-functional-devstack-octavia - ansible-collections-openstack-functional-devstack-octavia
- tripleo-ci-centos-8-standalone-wallaby-osa - tripleo-ci-centos-8-standalone-osa-wallaby
periodic: periodic:
jobs: jobs:
@ -582,13 +578,12 @@
- bifrost-collections-src - bifrost-collections-src
- bifrost-keystone-collections-src - bifrost-keystone-collections-src
- ansible-collections-openstack-functional-devstack-octavia - ansible-collections-openstack-functional-devstack-octavia
- tripleo-ci-centos-9-standalone-wallaby-osa - tripleo-ci-centos-9-standalone-osa-wallaby
- tripleo-ci-centos-9-standalone-osa - tripleo-ci-centos-8-standalone-osa-wallaby
- tripleo-ci-centos-8-standalone-train-osa
- tripleo-ci-centos-8-standalone-wallaby-osa
experimental: experimental:
jobs: jobs:
- tripleo-ci-centos-8-standalone-osa-train
- ansible-collections-openstack-functional-devstack-ansible-2.11 - ansible-collections-openstack-functional-devstack-ansible-2.11
- ansible-collections-openstack-functional-devstack-victoria-ansible-2.12 - ansible-collections-openstack-functional-devstack-victoria-ansible-2.12
- ansible-collections-openstack-functional-devstack-ussuri-ansible-2.11 - ansible-collections-openstack-functional-devstack-ussuri-ansible-2.11