tripleo-ci/zuul.d/multinode-jobs.yaml

359 lines
13 KiB
YAML

---
# zuul.d/multinode-jobs.yaml
# Zuul layout for TripleO multinode jobs.
# It contains all the jobs using deployed-servers in nodepool.
###########################################################
# #
# UPSTREAM MULTINODE PARENTING #
# #
###########################################################
# This job definition holds the required projects
# for upstream CI. 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-multinode-upstream
description: |
Base abstract job to add required-projects for Upstream Multinode Jobs
abstract: true
parent: tripleo-ci-base-multinode-standard
required-projects: &multinode_required_projects
- opendev.org/openstack/tripleo-ansible
- opendev.org/openstack/tripleo-common
- opendev.org/openstack/tripleo-operator-ansible
- name: opendev.org/openstack/ansible-config_template
override-checkout: master
# CentOS 7 version
# Distro specific upstream base for multinode jobs
- job:
name: tripleo-ci-base-multinode
abstract: true
description: |
Base abstract job for multinode TripleO CI C7 zuulv3 jobs
parent: tripleo-ci-base-required-projects-multinode-upstream
nodeset: two-centos-7-nodes
# CentOS 8 version
- 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-required-projects-multinode-upstream
nodeset: two-centos-8-nodes
# CentOS 9 version
- job:
name: tripleo-ci-base-multinode-centos-9
abstract: true
description: |
Base abstract job for multinode TripleO CI centos-9 zuulv3 jobs
parent: tripleo-ci-base-required-projects-multinode-upstream
nodeset: two-centos-9-nodes
# Centos 8/9 mixed os multinode base job
- job:
name: tripleo-ci-base-required-projects-multinode-mixed-os-upstream
description: |
Base abstract job to add required-projects for Upstream Mixed OS Multinode Jobs
abstract: true
parent: tripleo-ci-base-multinode-mixed-os-standard
required-projects: *multinode_required_projects
nodeset: two-centos-9-one-centos-8-nodes
- project-template:
name: tripleo-multinode-container-minimal-pipeline
queue: tripleo
check:
jobs:
- tripleo-ci-centos-9-content-provider
- tripleo-ci-centos-8-content-provider
- tripleo-ci-centos-9-containers-multinode:
irrelevant-files: &multinode_ignored
- .*molecule.*
- ^.*\.md$
- ^.*\.rst$
- ^.ansible-lint$
- ^.pre-commit-config.yaml$
- ^lower-constraints.txt$
- ^test-requirements.txt$
- ^Puppetfile.*$
- ^doc/.*$
- ^docs/.*$
- ^etc/.*$
- ^metadata.json$
- ^playbooks/deprecated/.*$
- ^playbooks/tripleo-buildcontainers/.*$
- ^playbooks/tripleo-buildimages/.*$
- ^releasenotes/.*$
- ^roles/build-containers/.*$
- ^roles/oooci-build-images/.*$
- ^roles/tripleo-repos/.*$
- ^setup.*$
- ^spec/.*$
- ^vars/sova-patterns.yml$
- playbooks/quickstart-extras-standalone.yml # tripleo-quickstart-extras
- roles/standalone-upgrade/.*
- roles/standalone/.*
# standalone featuresets
- ^config/general_config/featureset052.yml
- ^config/general_config/featureset056.yml
- ^config/general_config/featureset062.yml
- ^config/general_config/featureset060.yml
# ovb featuresets
- ^config/general_config/featureset001.yml
- ^config/general_config/featureset002.yml
- ^config/general_config/featureset024.yml
- ^config/general_config/featureset035.yml
- ^config/general_config/featureset039.yml
- ^config/general_config/featureset041.yml
- ^config/general_config/featureset042.yml
- ^config/general_config/featureset063.yml
# undercloud featuresets
- ^config/general_config/featureset003.yml
- ^config/general_config/featureset027.yml
- ^config/general_config/featureset050.yml
# upgrade/update featuresets
- ^config/general_config/featureset037.yml
- ^config/general_config/featureset051.yml
- ^config/general_config/featureset068.yml
- zuul.d/upgrades-jobs-templates.yaml
- zuul.d/build-containers.yaml
- zuul.d/build-image.yaml
- zuul.d/layout.yaml
- zuul.d/standalone-jobs.yaml
- zuul.d/undercloud-jobs.yaml
# tripleo-ansible
- ^_skeleton_role_/.*
- ^scripts/tripleo-critical-bugs/.*
- ^tox.ini$
- ^tripleo_ansible/playbooks/docker-vfs-setup.yml$
- ^tripleo_ansible/roles/.*/meta.*
- ^tripleo_ansible/roles/test_deps/.*
- ^zuul.d/base.yaml
# unit tests
- ^tripleoclient/tests/.*$
- ^tripleo_common/tests/.*$
vars: &multi_consumer_vars
consumer_job: true
build_container_images: false
remove_tags:
- build
dependencies:
- tripleo-ci-centos-9-content-provider
- tripleo-ci-centos-8-9-multinode-mixed-os: &multinode_mixed_os
irrelevant-files: *multinode_ignored
vars: *multi_consumer_vars
dependencies:
- tripleo-ci-centos-8-content-provider
- tripleo-ci-centos-9-content-provider
- tripleo-ci-centos-9-scenario007-multinode-oooq-container: &cs9_multinode_all
irrelevant-files: *multinode_ignored
vars: *multi_consumer_vars
dependencies:
- tripleo-ci-centos-9-content-provider
gate:
jobs:
- tripleo-ci-centos-9-content-provider
- tripleo-ci-centos-8-content-provider
- tripleo-ci-centos-9-containers-multinode: *cs9_multinode_all
- tripleo-ci-centos-8-9-multinode-mixed-os: *multinode_mixed_os
- project-template:
name: tripleo-multinode-container-full-pipeline
queue: tripleo
check:
jobs:
- tripleo-ci-centos-9-content-provider:
irrelevant-files: *multinode_ignored
- tripleo-ci-centos-8-content-provider:
irrelevant-files: *multinode_ignored
- tripleo-ci-centos-8-containers-multinode:
irrelevant-files: *multinode_ignored
vars: *multi_consumer_vars
dependencies:
- tripleo-ci-centos-8-content-provider
- tripleo-ci-centos-8-containers-undercloud-minion:
irrelevant-files: *multinode_ignored
vars: *multi_consumer_vars
dependencies:
- tripleo-ci-centos-8-content-provider
- tripleo-ci-centos-9-containers-multinode: *cs9_multinode_all
- tripleo-ci-centos-9-scenario007-multinode-oooq-container: *cs9_multinode_all
gate:
jobs:
- tripleo-ci-centos-9-content-provider:
irrelevant-files: *multinode_ignored
- tripleo-ci-centos-8-content-provider:
irrelevant-files: *multinode_ignored
- tripleo-ci-centos-9-containers-multinode: *cs9_multinode_all
- tripleo-ci-centos-9-scenario007-multinode-oooq-container: *cs9_multinode_all
- tripleo-ci-centos-8-containers-multinode:
irrelevant-files: *multinode_ignored
vars: *multi_consumer_vars
dependencies:
- tripleo-ci-centos-8-content-provider
- tripleo-ci-centos-8-containers-undercloud-minion:
irrelevant-files: *multinode_ignored
vars: *multi_consumer_vars
dependencies:
- tripleo-ci-centos-8-content-provider
# NOTE(rfolco): tripleo-multinode-branchful should be used in ci repos only
# Check where this template is used across openstack repos with the url below:
# http://codesearch.openstack.org/?q=tripleo-multinode-branchful
- project-template:
name: tripleo-multinode-branchful
check:
jobs:
- openstack-tox-linters
- tripleo-ci-centos-9-content-provider-wallaby:
irrelevant-files: &branchful_ignored
- ^.*\.md$
- ^.*\.rst$
- ^.ansible-lint$
- ^doc/.*$
- ^docs/.*$
- ^etc/.*$
- ^metadata.json$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^spec/.*$
- ^Puppetfile.*$
- tox.ini
- ^roles/build-containers/.*$
- ^roles/oooci-build-images/.*$
- ^playbooks/deprecated/.*$
- ^playbooks/tripleo-buildcontainers/.*$
- ^playbooks/tripleo-buildimages/.*$
- ^vars/sova-patterns.yml$
- ^scripts/tripleo-critical-bugs/.*
- ^tripleoclient/tests/.*$
- ^tripleo_common/tests/.*$
dependencies:
- openstack-tox-linters
- tripleo-ci-centos-9-containers-multinode-wallaby: &multi_consumer_job_wallaby
irrelevant-files: *branchful_ignored
vars: *multi_consumer_vars
dependencies:
- tripleo-ci-centos-9-content-provider-wallaby
gate:
jobs:
- tripleo-ci-centos-9-content-provider-wallaby:
irrelevant-files: *branchful_ignored
- tripleo-ci-centos-9-containers-multinode-wallaby: *multi_consumer_job_wallaby
## CentOS 9 jobs
- job:
name: tripleo-ci-centos-9-containers-multinode
parent: tripleo-ci-base-multinode-centos-9
branches: &c9_branches ^(?!stable/train).*$
irrelevant-files: *multinode_ignored
voting: true
- job:
name: tripleo-ci-containers-multinode-options
vars:
nodes: 1ctlr
featureset: '010'
playbooks:
- multinode.yml
- job:
name: tripleo-ci-centos-9-containers-multinode
branches: *c9_branches
parent: tripleo-ci-containers-multinode-options
- job:
name: tripleo-ci-centos-9-scenario007-multinode-oooq-container
parent: tripleo-ci-base-multinode-centos-9
branches: *c9_branches
irrelevant-files: *multinode_ignored
vars:
nodes: 1ctlr
featureset: '030'
playbooks:
- multinode.yml
## CentOS 8 jobs
- job:
name: tripleo-ci-centos-8-containers-multinode
parent: tripleo-ci-base-multinode-centos-8
branches: &c8_branches ^(stable/train).*$
voting: true
- job:
name: tripleo-ci-centos-8-containers-multinode
branches: *c8_branches
parent: tripleo-ci-containers-multinode-options
- job:
name: tripleo-ci-centos-8-containers-undercloud-minion
parent: tripleo-ci-base-multinode-centos-8
branches: *c8_branches
vars:
nodes: 1minion
featureset: '061'
playbooks:
- multinode-minion.yml
extra_tags:
- undercloud-minion-setup
- undercloud-minion-deploy
- job:
name: tripleo-ci-centos-9-containers-multinode-zed
parent: tripleo-ci-centos-9-containers-multinode
branches: master
override-checkout: stable/zed
vars:
branch_override: stable/zed
- job:
name: tripleo-ci-centos-9-containers-multinode-wallaby
parent: tripleo-ci-centos-9-containers-multinode
branches: master
override-checkout: stable/wallaby
vars:
branch_override: stable/wallaby
- job:
name: tripleo-ci-centos-8-containers-multinode-train
parent: tripleo-ci-centos-8-containers-multinode
branches: master
override-checkout: stable/train
vars:
branch_override: stable/train
## Centos 8 9 mixed deployment
- job:
name: tripleo-ci-centos-8-9-multinode-mixed-os
parent: tripleo-ci-base-required-projects-multinode-mixed-os-upstream
branches: stable/wallaby
voting: true
vars:
featureset: '066'
nodes: 1ctlr_1comp_mixed_os
- job:
name: tripleo-ci-centos-8-9-multinode-mixed-os-update
parent: tripleo-ci-base-required-projects-multinode-mixed-os-upstream
branches: stable/wallaby
voting: false
vars:
run_test_role_vars:
overcloud_deploy_script: "{{ ansible_user_dir }}/overcloud-deploy.sh"
overcloud_update: true
overcloud_ssh_user: "zuul"
tripleo_upgrade_validations_non_fatal: true
tripleo_upgrade_debug: false
tripleo_ci: true
featureset: '066'
nodes: 1ctlr_1comp_mixed_os
extra_tags:
- overcloud-update