tripleo-ci/zuul.d/base.yaml

361 lines
12 KiB
YAML

---
# zuul.d/base.yaml
# This file contains parent layouts for all TripleO jobs.
# Do not add children specific layout here.
# tripleo-ci base common required projects
# It contains a minimum set of common projects which needs to be
# clonned in upstream, rdo and downstream to perform the deployment
- job:
name: tripleo-ci-base-common-required-projects
description: |
Base abstract job to add common required-projects for tripleo-ci-base
abstract: true
parent: multinode-fips
required-projects:
- opendev.org/openstack/tripleo-ci
- opendev.org/openstack/tripleo-quickstart
- opendev.org/openstack/tripleo-quickstart-extras
- opendev.org/openstack/tripleo-upgrade
- opendev.org/x/browbeat
- opendev.org/openstack/tripleo-ha-utils
- opendev.org/openstack/openstack-tempest-skiplist
- name: opendev.org/openstack/openstack-virtual-baremetal
override-checkout: stable/2.0
- name: opendev.org/openstack/openstack-ansible-os_tempest
override-checkout: master
- name: opendev.org/openstack/ansible-role-python_venv_build
override-checkout: master
- opendev.org/openstack/ansible-role-collect-logs
- opendev.org/openstack/tripleo-repos
# Ansible collections for quickstart
- name: github.com/ansible-collections/ansible.utils
override-checkout: 2.4.2
- name: github.com/ansible-collections/ansible.posix
override-checkout: 1.3.0
- name: github.com/ansible-collections/ansible.netcommon
override-checkout: 2.4.0
- name: github.com/ansible-collections/community.general
override-checkout: 4.0.2
- name: github.com/ansible-collections/community.libvirt
override-checkout: 1.0.2
- name: github.com/ansible-collections/openvswitch.openvswitch
override-checkout: 2.0.2
roles:
- zuul: opendev.org/openstack/tripleo-quickstart
- zuul: opendev.org/openstack/tripleo-quickstart-extras
# This Job holds the base vars and playbook needed in all
# jobs.
- job:
name: tripleo-ci-base-standard
abstract: true
parent: tripleo-ci-base-common-required-projects
description: |
Base abstract job for all TripleO CI zuulv3 jobs
timeout: 10800
post-timeout: 3600
vars:
unbound_cache_min_ttl: 900
ara_generate_html: true
bridge_name: br-ex
bridge_address_prefix: 192.168.24
bridge_address_subnet: 24
bridge_address_offset: 2
bridge_mtu: 1350
# Disable fips role for all jobs, and select the ones that we want to enable
enable_fips: false
roles:
- zuul: opendev.org/zuul/zuul-jobs
- zuul: opendev.org/openstack/openstack-zuul-jobs
pre-run:
- playbooks/nodepool-provider/pre.yaml
- playbooks/openstack-zuul-jobs/legacy/pre.yaml
- playbooks/tripleo-ci/centos-compose-repos.yml
- playbooks/tripleo-ci/ceph.yaml
- playbooks/tripleo-ci/pre.yaml
run: playbooks/tripleo-ci/run-v3.yaml
post-run: playbooks/tripleo-ci/post.yaml
irrelevant-files: &irrelevant_files
- .*molecule.*
- ^.*\.md$
- ^.*\.rst$
- ^doc/.*$
- ^etc/.*$
- ^metadata.json$
- ^releasenotes/.*$
# do not put requirements.txt here, as it can have a huge impact
- ^test-requirements.txt$
- ^spec/.*$
- ^Puppetfile.*$
- tox.ini
- ^setup.*$
- ^vars/sova-patterns.yml$
- ^.ansible-lint$
- ^.pre-commit-config.yaml$
- ^.yamllint$
- ^tripleoclient/tests/.*$
- ^tripleo_common/tests/.*$
# The base standard job for Multinode jobs
- job:
name: tripleo-ci-base-multinode-standard
abstract: true
description: |
Base abstract job for multinode TripleO CI zuulv3 jobs
parent: tripleo-ci-base-standard
pre-run: playbooks/tripleo-ci/install-built-repo.yml
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: multinode
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-undercloud.yml
- multinode-overcloud-prep.yml
- multinode-overcloud.yml
- multinode-overcloud-update.yml
- multinode-overcloud-upgrade.yml
- multinode-validate.yml
tags: &multinode_tags
- build
- undercloud-setup
- undercloud-scripts
- undercloud-install
- undercloud-post-install
- tripleo-validations
- overcloud-scripts
- overcloud-prep-config
- overcloud-prep-containers
- overcloud-deploy
- overcloud-post-deploy
- overcloud-validate
# The base standard job for Multinode Mixed OS jobs
- job:
name: tripleo-ci-base-multinode-mixed-os-standard
abstract: true
description: |
Base abstract job for multinode TripleO CI zuulv3 jobs
parent: tripleo-ci-base-standard
pre-run: playbooks/tripleo-ci/install-built-repo.yml
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: multinode
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-overcloud-mixed-os-repos-compute.yml
- multinode-undercloud-mixed-os.yml
- multinode-overcloud-prep.yml
- multinode-overcloud-mixed-os-deploy.yml
- multinode-overcloud-update.yml
- multinode-validate.yml
tags: *multinode_tags
# EDPM base job
- job:
name: tripleo-ci-base-multinode-edpm-standard
abstract: true
description: |
Base abstract job for multinode TripleO CI zuulv3 jobs
parent: tripleo-ci-base-multinode-standard
vars:
featureset: '053'
bridge_address_offset: 4
playbooks:
- quickstart.yml
- deploy-standalone-compute.yml
tags:
- build
- standalone
# Singlenode Standard Job
- job:
name: tripleo-ci-base-singlenode-standard
abstract: true
description: |
Base abstract job for singlenode TripleO CI zuulv3 jobs
parent: tripleo-ci-base-standard
pre-run: playbooks/tripleo-ci/install-built-repo.yml
vars:
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: singlenode
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-undercloud.yml
- multinode-undercloud-upgrade.yml
- multinode-overcloud-prep.yml
- multinode-overcloud.yml
- multinode-overcloud-upgrade.yml
- multinode-validate.yml
tags:
- build
- undercloud-setup
- undercloud-scripts
- undercloud-install
- undercloud-validate
- images
- job:
name: tripleo-ci-base-standalone-standard
abstract: true
description: |
Base abstract job for standalone TripleO CI zuulv3 jobs
parent: tripleo-ci-base-standard
pre-run: playbooks/tripleo-ci/install-built-repo.yml
vars:
# for standalone we don't need the multinode network configuration but
# we do want the interface to be created. So let's create br-ex but
# configure it with a different network than what we use for standalone.
# any jobs that need this network configuration for multinode need to
# adjust their configuration to us 172.16.1.0/24
bridge_name: br-ex
bridge_address_prefix: 172.16.1
bridge_address_subnet: 24
bridge_address_offset: 2
bridge_mtu: 1350
undercloud: 127.0.0.2
environment_infra: osinfra
environment_type: standalone
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-standalone.yml
tags:
- build
- standalone
irrelevant-files: *irrelevant_files
- job:
name: tripleo-ci-base-standalone-upgrade-standard
abstract: true
description: |
Base abstract job for standalone upgrade TripleO CI zuulv3 jobs
parent: tripleo-ci-base-standard
pre-run: playbooks/tripleo-ci/install-built-repo.yml
vars:
undercloud: 127.0.0.2
# for standalone we don't need the multinode network configuration but
# we do want the interface to be created. So let's create br-ex but
# configure it with a different network than what we use for standalone.
# any jobs that need this network configuration for multinode need to
# adjust their configuration to us 172.16.1.0/24
bridge_name: br-ex
bridge_address_prefix: 172.16.1
bridge_address_subnet: 24
bridge_address_offset: 2
bridge_mtu: 1350
environment_infra: osinfra
environment_type: standalone
common_featureset: featureset-multinode-common.yml
playbooks:
- quickstart.yml
- multinode-standalone.yml
- multinode-standalone-upgrade.yml
tags:
- build
- standalone
extra_tags:
- standalone-upgrade
irrelevant-files: *irrelevant_files
# OVB
- job:
name: tripleo-ci-base-ovb-standard
abstract: true
description: |
Base abstract job for OVB TripleO CI zuulv3 jobs
parent: tripleo-ci-base-standard
vars:
undercloud: undercloud
environment_infra: ovb
environment_type: ovb
playbooks:
- ovb.yml
tags:
- all
- job:
name: tripleo-ci-base-containers-standard
abstract: true
description: |
Base abstract job for container build TripleO CI zuulv3 jobs
parent: tripleo-ci-base-singlenode-standard
run: playbooks/tripleo-buildcontainers/run.yaml
post-run: playbooks/tripleo-buildcontainers/post.yaml
timeout: 7200
- job:
name: tripleo-ci-containers-rdo-upstream-pre
abstract: true
description: |
Base abstract job for container build TripleO CI zuulv3 jobs
to run pre playbook in RDO and Upstream
required-projects:
- opendev.org/openstack/tripleo-ansible
# Note: Remove ansible-role-container-registry reference
# on removal of CentOS 7 jobs
- opendev.org/openstack/ansible-role-container-registry
roles:
- zuul: opendev.org/openstack/tripleo-ansible
- zuul: opendev.org/openstack/ansible-role-container-registry
parent: tripleo-ci-base-containers-standard
pre-run: playbooks/tripleo-buildcontainers/pre.yaml
- job:
name: tripleo-ci-base-images-standard
abstract: true
description: |
Base abstract job for Image build TripleO CI zuulv3 jobs
parent: tripleo-ci-base-singlenode-standard
pre-run: playbooks/tripleo-buildimages/pre.yaml
run: playbooks/tripleo-buildimages/run-v3.yaml
post-run: playbooks/tripleo-buildimages/post.yaml
timeout: 5400
# Content provider
- job:
name: tripleo-ci-content-provider-standard
parent: tripleo-ci-base-standalone-standard
abstract: true
run:
- playbooks/tripleo-ci/run-v3.yaml
- playbooks/tripleo-ci/run-provider.yml
description: |
Base abstract conent provider job
vars:
featureset: '052'
provider_job: true
build_container_images: true
ib_create_web_repo: true
playbooks:
- quickstart.yml
- multinode-standalone-pre.yml
# Molecule jobs base
- job:
name: tripleo-tox-molecule
# should `parent: openstack-tox-molecule` but we cannot because
# rdo zuul cannot load jobs from openstack-zuul-jobs.
# https://opendev.org/openstack/openstack-zuul-jobs/src/branch/master/zuul.d/jobs.yaml#L206
# https://github.com/rdo-infra/review.rdoproject.org-config/blob/master/zuul/rdo.yaml#L942-L943
description: |
TripleO own version of openstack-tox-molecule which adds
required-projects. These are used in order to allow testing change
requests with Depends-On, like below
openstack/tripleo-ci/roles/tripleo-repos -> openstack/tripleo-repos
parent: tox-molecule
success-url: "tox/reports.html"
failure-url: "tox/reports.html"
vars:
bindep_profile: test molecule
nodeset: single-centos-8-node
required-projects:
- opendev.org/openstack/tripleo-repos