tripleo-ci/zuul.d/base.yaml

374 lines
12 KiB
YAML

---
# zuul.d/base.yaml
# This file contains parent layouts for all TripleO jobs.
# Do not add children specific layout here.
# This job definition holds the required projects
# for tripleo-ci-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-ci-base-required-projects
description: |
Base abstract job to add required-projects for tripleo-ci-base
abstract: true
parent: multinode
required-projects: &required_projects
- opendev.org/openstack/tripleo-ci
- opendev.org/openstack/tripleo-quickstart
- opendev.org/openstack/tripleo-quickstart-extras
- opendev.org/openstack/tripleo-operator-ansible
- opendev.org/openstack/tripleo-upgrade
- opendev.org/openstack/tripleo-ansible
- opendev.org/openstack/tripleo-common
- 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
- name: opendev.org/openstack/ansible-config_template
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.7.0
- name: github.com/ansible-collections/community.libvirt
override-checkout: 1.0.2
- name: github.com/ansible-collections/openvswitch.openvswitch
override-checkout: 2.0.2
- job:
name: tripleo-ci-base
# min version to use (needed for proper python interpreter detection)
ansible-version: 2.8
abstract: true
description: |
Base abstract job for all TripleO CI zuulv3 jobs
parent: tripleo-ci-base-required-projects
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
nodeset: two-centos-7-nodes
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/ceph.yaml
- playbooks/tripleo-ci/pre.yaml
run: playbooks/tripleo-ci/run-v3.yaml
post-run: playbooks/tripleo-ci/post.yaml
irrelevant-files:
- ^.*\.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/.*$
# This job definition holds the required projects
# for tripleo-ci-base-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-ci-base-required-projects-centos-8
description: |
Base abstract job to add required-projects for tripleo-ci-base-centos-8
abstract: true
parent: multinode
required-projects: *required_projects
- job:
name: tripleo-ci-base-centos-8
# min version to use (needed for proper python interpreter detection)
ansible-version: 2.9
abstract: true
description: |
Base abstract job for all TripleO CI centos-8 zuulv3 jobs
parent: tripleo-ci-base-required-projects-centos-8
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
nodeset: two-centos-8-nodes
roles:
- zuul: opendev.org/zuul/zuul-jobs
- zuul: opendev.org/openstack/openstack-zuul-jobs
- zuul: opendev.org/openstack/tripleo-quickstart
- zuul: opendev.org/openstack/tripleo-quickstart-extras
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:
- ^.*\.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/.*$
- job:
name: tripleo-ci-base-ovb
abstract: true
description: |
Base abstract job for OVB TripleO CI zuulv3 jobs
# min version to use
ansible-version: 2.8
parent: tripleo-ci-base
nodeset: single-centos-7-node
vars:
undercloud: undercloud
environment_infra: ovb
environment_type: ovb
playbooks:
- ovb.yml
tags:
- all
- job:
name: tripleo-ci-base-ovb-centos-8
abstract: true
description: |
Base abstract job for OVB TripleO CI centos-8 zuulv3 jobs
# min version to use
ansible-version: 2.9
parent: tripleo-ci-base-centos-8
nodeset: single-centos-8-node
vars:
undercloud: undercloud
environment_infra: ovb
environment_type: ovb
playbooks:
- ovb.yml
tags:
- all
- job:
name: tripleo-ci-base-singlenode
abstract: true
description: |
Base abstract job for singlenode TripleO CI zuulv3 jobs
parent: tripleo-ci-base
nodeset: single-centos-7-node
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
abstract: true
description: |
Base abstract job for standalone TripleO CI zuulv3 jobs
parent: tripleo-ci-base
nodeset: single-centos-7-node
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_base_standalone
- ^.*\.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
- ^vars/sova-patterns.yml$
# This job definition holds the required projects
# for tripleo-ci-base-standalone-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-ci-base-standalone-required-projects-centos-8
abstract: true
description: |
Base abstract job providing required projects and roles for standalone centos-8 zuulv3 jobs
parent: tripleo-ci-base-centos-8
required-projects:
- opendev.org/openstack/tripleo-ansible
roles:
- zuul: opendev.org/openstack/tripleo-ansible
- job:
name: tripleo-ci-base-standalone-upgrade
abstract: true
description: |
Base abstract job for standalone upgrade TripleO CI zuulv3 jobs
parent: tripleo-ci-base
nodeset: single-centos-7-node
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_base_standalone
- job:
name: tripleo-ci-base-standalone-upgrade-centos-8
abstract: true
description: |
Base abstract job for standalone upgrade TripleO CI centos-8 zuulv3 jobs
pre-run: playbooks/tripleo-ci/install-built-repo.yml
parent: tripleo-ci-base-centos-8
nodeset: single-centos-8-node
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_base_standalone
- 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