Refactored TripleO jobs, e.g. to use latest openstacksdk RPM

Build and install latest RPM for openstacksdk from its master branch
instead of using the (pinned) RPM from RDO. This is necessary because
openstacksdk in RDO is currently pinned to <0.99.0 for all RDO
releases. Variable artg_change_list is used to define what code is
being build from source. The RPM of the Ansible OpenStack collection
does not have build 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 other 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. It is also cleaner since our
CentOS9 job is 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

Added tripleo-ci-centos-8-standalone-osa to experimental jobs so that we
can actually run this job on demand easily.

[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
This commit is contained in:
Jakob Meng
2022-07-13 12:13:19 +02:00
parent 1f5a2019a0
commit fc2dda1d86

View File

@@ -300,57 +300,65 @@
# TripleO jobs # TripleO jobs
- job: - job:
name: tripleo-ci-centos-8-standalone-osa name: tripleo-ci-centos-8-standalone-osa
parent: tripleo-ci-base-standalone-centos-8 parent: tripleo-ci-centos-8-standalone-build
vars: branches: master
featureset: '052' vars: &tripleo_vars
consumer_job: false consumer_job: false
build_container_images: true branch_override: master
force_non_periodic: true force_non_periodic: true
required-projects: artg_change_list:
- openstack/ansible-collections-openstack - host: "https://opendev.org"
project: "openstack/openstacksdk"
branch: "master"
refspec: "+refs/heads/*:refs/remotes/origin/*"
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. - # 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
parent: tripleo-ci-centos-8-standalone-osa parent: tripleo-ci-centos-9-standalone-build
nodeset: single-centos-9-node branches: master
branches: ^(stable/1.0.0|master).*$ vars: *tripleo_vars
override-checkout: master required-projects: *tripleo_required_projects
vars: irrelevant-files: *tripleo_irrelevant_files
containers_base_image: quay.io/centos/centos:stream9 files: *tripleo_files
consumer_job: false
build_container_images: true
branch_override: master
files: *ooo_files
irrelevant-files: *irr_files
- job: - job:
name: ansible-collections-openstack-release name: ansible-collections-openstack-release
@@ -436,6 +444,7 @@
experimental: experimental:
jobs: jobs:
- tripleo-ci-centos-8-standalone-osa
- ansible-collections-openstack-functional-devstack-ansible-2.11 - ansible-collections-openstack-functional-devstack-ansible-2.11
tag: tag: