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
- job:
name: tripleo-ci-centos-8-standalone-osa
parent: tripleo-ci-base-standalone-centos-8
vars:
featureset: '052'
name: tripleo-ci-centos-8-standalone-osa-pre-zed
parent: tripleo-ci-centos-8-standalone-build
# Do not restrict branches in base jobs because else Zuul would not find a matching
# parent job variant during job freeze when child jobs are on other branches.
vars: &tripleo_vars
consumer_job: false
build_container_images: true
# Define branch_override in child jobs, e.g. branch_override: stable/yoga
force_non_periodic: true
required-projects:
- openstack/ansible-collections-openstack
required-projects: &tripleo_required_projects
- # 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.
name: openstack/tripleo-ci
override-checkout: master
irrelevant-files: &irr_files
irrelevant-files: &tripleo_irrelevant_files
- .*molecule.*
- ^.*\.md$
- ^.*\.rst$
- ^docs/.*$
- ^contrib/.*$
- ^changelogs/.*$
- ^contrib/.*$
- ^docs/.*$
- ^meta/.*$
- ^tests/.*$
- ^tools/.*$
- ^requirements.*$
- ^setup.*$
- ^tests/.*$
- ^tools/.*$
- tox.ini
# 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/compute_flavor.*$
- ^plugins/modules/endpoint.*$
- ^plugins/modules/identity_domain.*$
- ^plugins/modules/identity_domain_info.*$
- ^plugins/modules/identity_role.*$
- ^plugins/modules/identity_user.*$
- ^plugins/modules/image.*$
- ^plugins/modules/keypair.*$
- ^plugins/modules/network.*$
- ^plugins/modules/project.*$
- ^plugins/modules/role_assignment.*$
- ^plugins/modules/router.*$
- ^plugins/modules/stack.*$
- ^plugins/module_utils/openstack.*$
- ^plugins/modules/subnet.*$
- job:
name: tripleo-ci-centos-9-standalone-osa
parent: tripleo-ci-centos-8-standalone-osa
nodeset: single-centos-9-node
branches: ^(stable/1.0.0|master).*$
override-checkout: master
vars:
containers_base_image: quay.io/centos/centos:stream9
consumer_job: false
build_container_images: true
branch_override: master
files: *ooo_files
irrelevant-files: *irr_files
name: tripleo-ci-centos-9-standalone-osa-pre-zed
parent: tripleo-ci-centos-9-standalone-build
# Do not restrict branches in base jobs because else Zuul would not find a matching
# parent job variant during job freeze when child jobs are on other branches.
vars: *tripleo_vars
required-projects: *tripleo_required_projects
irrelevant-files: *tripleo_irrelevant_files
files: *tripleo_files
- job:
name: tripleo-ci-centos-8-standalone-train-osa
parent: tripleo-ci-centos-8-standalone-osa
name: tripleo-ci-centos-8-standalone-osa-train
parent: tripleo-ci-centos-8-standalone-osa-pre-zed
branches: stable/1.0.0
override-checkout: stable/train
vars:
branch_override: stable/train
- job:
name: tripleo-ci-centos-8-standalone-wallaby-osa
parent: tripleo-ci-centos-8-standalone-osa
name: tripleo-ci-centos-8-standalone-osa-wallaby
parent: tripleo-ci-centos-8-standalone-osa-pre-zed
branches: stable/1.0.0
override-checkout: stable/wallaby
vars:
branch_override: stable/wallaby
- job:
name: tripleo-ci-centos-9-standalone-wallaby-osa
parent: tripleo-ci-centos-9-standalone-osa
name: tripleo-ci-centos-9-standalone-osa-wallaby
parent: tripleo-ci-centos-9-standalone-osa-pre-zed
branches: stable/1.0.0
override-checkout: stable/wallaby
vars:
@ -539,18 +544,9 @@
dependencies: *deps_unit_lint
irrelevant-files: *ignore_files
- tripleo-ci-centos-8-standalone-wallaby-osa:
- tripleo-ci-centos-8-standalone-osa-wallaby:
dependencies: *deps_unit_lint
- 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:
- tripleo-ci-centos-9-standalone-osa-wallaby:
voting: false
dependencies: *deps_unit_lint
@ -565,7 +561,7 @@
- ansible-collections-openstack-functional-devstack-xena-ansible-2.12
- ansible-collections-openstack-functional-devstack-train-ansible-2.11
- ansible-collections-openstack-functional-devstack-octavia
- tripleo-ci-centos-8-standalone-wallaby-osa
- tripleo-ci-centos-8-standalone-osa-wallaby
periodic:
jobs:
@ -582,13 +578,12 @@
- bifrost-collections-src
- bifrost-keystone-collections-src
- ansible-collections-openstack-functional-devstack-octavia
- tripleo-ci-centos-9-standalone-wallaby-osa
- tripleo-ci-centos-9-standalone-osa
- tripleo-ci-centos-8-standalone-train-osa
- tripleo-ci-centos-8-standalone-wallaby-osa
- tripleo-ci-centos-9-standalone-osa-wallaby
- tripleo-ci-centos-8-standalone-osa-wallaby
experimental:
jobs:
- tripleo-ci-centos-8-standalone-osa-train
- ansible-collections-openstack-functional-devstack-ansible-2.11
- ansible-collections-openstack-functional-devstack-victoria-ansible-2.12
- ansible-collections-openstack-functional-devstack-ussuri-ansible-2.11