Use tripleo-ci-build-containers-required-projects-upstream as parent

Based on CS job parenting re-structure[1], for container build
jobs, It follows the following inheritance
* tripleo-ci-base-common-required-projects
* tripleo-ci-base
* tripleo-ci-base-singlenode-standard
* tripleo-ci-base-containers-standard
* tripleo-ci-build-containers-required-projects-upstream

For Distro specific
* CentOS 7
tripleo-ci-build-containers-required-projects-upstream
* tripleo-build-containers-base

* CentOS 8
tripleo-ci-build-containers-required-projects-upstream
* tripleo-build-containers-base-centos-8

* CentOS 9
tripleo-ci-build-containers-required-projects-upstream
* tripleo-build-containers-base-centos-9

Note: It adds tripleo-build-containers-base-centos-8
as a CS8 distro base job to create
tripleo-build-containers-centos-8 in order to keep
the consistency.

[1]. https://review.opendev.org/q/hashtag:cs-parenting

Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: Ifd941e8ce0b42b434b95688c461db8db0a2ded9c
This commit is contained in:
Chandan Kumar (raukadah) 2022-03-03 10:57:35 +05:30 committed by chandan kumar
parent 7872e560a6
commit 1d640d09fd
2 changed files with 105 additions and 232 deletions

View File

@ -476,181 +476,6 @@
- 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
- zuul: opendev.org/openstack/tripleo-quickstart
- zuul: opendev.org/openstack/tripleo-quickstart-extras
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
- opendev.org/openstack/tripleo-quickstart
- opendev.org/openstack/tripleo-quickstart-extras
# 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-ci/centos-compose-repos.yml
- 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$
- ^requirements.txt$
- ^setup.cfg$
- ^setup.py$
# kolla
- ^docker/.*$
- kolla.*$
# tripleo-ci
- ^playbooks/.*$
- ^(playbooks|roles)/tripleo-buildcontainers/.*$
- ^roles/build-containers/.*$
- ^roles/prepare-node/.*$
- ^roles/ci-common-vars/.*$
- ^(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$
- ^requirements.txt$
- ^setup.cfg$
- ^setup.py$
# kolla
- ^docker/.*$
- kolla.*$
# tripleo-ci
- ^playbooks/.*$
- ^(playbooks|roles)/tripleo-buildcontainers/.*$
- ^roles/build-containers/.*$
- ^roles/prepare-node/.*$
- ^roles/ci-common-vars/.*$
- ^(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

View File

@ -1,5 +1,99 @@
---
# zuul.d/build-containers.yaml
#################################################################
# #
# UPSTREAM BUILD CONTAINER PARENTING #
# #
#################################################################
- job:
name: tripleo-ci-build-containers-required-projects-upstream
abstract: true
description: |
Base job to provide required-projects for standalone TripleO CI build-containers jobs
parent: tripleo-ci-base-containers-standard
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
pre-run: playbooks/tripleo-buildcontainers/pre.yaml
irrelevant-files:
- ^.*\.rst$
- ^releasenotes/.*$
files:
# generic:
- ^bindep.txt$
- ^requirements.txt$
- ^setup.cfg$
- ^setup.py$
# kolla
- ^docker/.*$
- kolla.*$
# tripleo-ci
- ^playbooks/.*$
- ^(playbooks|roles)/tripleo-buildcontainers/.*$
- ^roles/build-containers/.*$
- ^roles/prepare-node/.*$
- ^roles/ci-common-vars/.*$
- ^(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.*$
# Note: It merges tripleo-build-containers-base-with-files and
# tripleo-build-containers-base.
# CentOS 7 Distro based Job
- job:
name: tripleo-build-containers-base
abstract: true
description: |
Base abstract job for standalone TripleO CI build-containers jobs running repo setup
parent: tripleo-ci-build-containers-required-projects-upstream
nodeset: single-centos-7-node
# CentOS 8 Distro based Job
- job:
name: tripleo-build-containers-base-centos-8
parent: tripleo-ci-build-containers-required-projects-upstream
nodeset: single-centos-8-node
vars:
use_buildah: true
kolla_base: centos
kolla_base_pull: true
buildcontainers_override_repos: current-tripleo
kolla_base_image: centos
kolla_base_tag: 8
push_containers: false
push_containers_podman: false
# CentOS 9 Distro based Job
- job:
name: tripleo-build-containers-base-centos-9
parent: tripleo-ci-build-containers-required-projects-upstream
nodeset: single-centos-9-node
vars:
containers_base_image: quay.io/centos/centos:stream9
registry_namespace: tripleomastercentos9
push_containers: false
push_containers_podman: false
use_kolla: false
use_buildah: true
# Zuul layout for TripleO Build Containers jobs.
- project-template:
@ -53,15 +147,13 @@
- job:
name: tripleo-build-containers-centos-7-base
parent: tripleo-build-containers-base-with-files
nodeset: single-centos-7-node
parent: tripleo-build-containers-base
branches: ^(?!stable/(pike|queens)).*$
voting: true
- job:
name: tripleo-build-containers-centos-7
parent: tripleo-build-containers-base-with-files
nodeset: single-centos-7-node
parent: tripleo-build-containers-base
branches: ^(stable/(stein|train)).*$
voting: true
@ -103,28 +195,12 @@
branch_override: stable/stein
use_buildah: true
# CentOS 8
- job:
name: tripleo-build-containers-centos-8
parent: tripleo-build-containers-base-with-files
nodeset: single-centos-8-node
parent: tripleo-build-containers-base-centos-8
branches: ^(?!stable/(pike|queens|stein)).*$
voting: true
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-common
- opendev.org/openstack/tripleo-repos
vars:
use_buildah: true
kolla_base: centos
kolla_base_pull: true
buildcontainers_override_repos: current-tripleo
kolla_base_image: centos
kolla_base_tag: 8
push_containers: false
push_containers_podman: false
# Branchful job to run on CI branchless repos which have master only
- job:
@ -143,56 +219,28 @@
vars:
branch_override: stable/train
# This job definition holds the required projects
# for tripleo-build-containers-ubi-8-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-build-containers-ubi-8-base-required-projects
parent: tripleo-build-containers-base-with-files
abstract: true
roles:
- 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
# CentOS 8 UBI jobs
- job:
name: tripleo-build-containers-ubi-8-base
parent: tripleo-build-containers-ubi-8-base-required-projects
nodeset: single-centos-8-node
name: tripleo-build-containers-base-ubi-8
parent: tripleo-build-containers-base-centos-8
vars:
use_buildah: true
use_kolla: false
buildcontainers_override_repos: current-tripleo
push_containers: false
push_containers_podman: false
# containers-ubi-8 is exercised via the content-provider jobs
# excluding train as tripleo-repos + train + current is blocked
- job:
name: tripleo-build-containers-ubi-8
parent: tripleo-build-containers-ubi-8-base
parent: tripleo-build-containers-base-ubi-8
branches: master # only wired up for tripleo-repos
voting: true
# CentOS 9 jobs
- job:
# TODO update branch after branching
name: tripleo-build-containers-centos-9
parent: tripleo-build-containers-base-with-files
nodeset: single-centos-9-node
parent: tripleo-build-containers-base-centos-9
branches: master
voting: false
vars:
containers_base_image: quay.io/centos/centos:stream9
registry_namespace: tripleomastercentos9
push_containers: false
push_containers_podman: false
use_kolla: false
use_buildah: true