tripleo-ci/zuul.d/base.yaml
Chandan Kumar (raukadah) f8e0259ed6 Use undercloud base parent in undercloud upgrade job
Earlier we were using singlenode parent from base.yaml.
Since we have undercloud distro base jobs is already available,
we can re-use the same and remove the singlenode parent.

It also cleans up old singlenode cs8 base jobs and moves
c8s undercloud upgrade job to upgrade template.
These jobs are used as a parent in stable branches job.

https://review.rdoproject.org/r/q/topic:cs-parenting-undercloud-upgrade
cleans up the reference from rdo side.

Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: If54577079cf61d82e88aa84a414d6e3c288138b1
2022-05-02 10:00:24 +00:00

429 lines
15 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/ansible-collections-openstack
- 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.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
- 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$
# 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$
- 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-centos-8-scenario010-standalone-base
parent: tripleo-ci-base-standalone-centos-8
nodeset: single-centos-8-node-nested-virt
abstract: true
vars:
tags:
- build
- standalone
- octavia
- nested-virt
# using featureset062 is tech debt and should be addressed at a future sprint
featureset: '062'
standalone_ceph: true
featureset_override:
validate_services: false
standalone_environment_files:
- 'environments/low-memory-usage.yaml'
- 'ci/environments/scenario010-standalone.yaml'
- 'ci/environments/octavia-kvm.yaml'
- job:
name: tripleo-ci-centos-8-scenario010-ovn-provider-standalone-base
parent: tripleo-ci-base-standalone-centos-8
abstract: true
vars:
tags:
- build
- standalone
- octavia
featureset: '062'
standalone_ceph: true
featureset_override:
validate_services: false
tempest_tempestconf_profile_overrides:
load_balancer.provider: 'ovn'
load_balancer.member_role: '"Member"'
load_balancer.test_reuse_connection: false
load_balancer.load_balancing_algorithm: 'SOURCE_IP_PORT'
load_balancer.test_flavors: false
loadbalancer-feature-enabled.health_monitor_enabled: false
loadbalancer-feature-enabled.pool_algorithms_enabled: false
loadbalancer-feature-enabled.l7_protocol_enabled: false
loadbalancer-feature-enabled.l4_protocol: 'TCP'
loadbalancer-feature-enabled.session_persistence_enabled: false
loadbalancer-feature-enabled.not_implemented_is_error: false
network-feature-enabled.port_security: true
load_balancer.test_server_path: >-
"/usr/lib/python{{ [ansible_python.version.major, ansible_python.version.minor] | join('.') }}/site-packages/octavia_tempest_plugin/contrib/test_server/test_server.bin"
tempest_test_whitelist:
# The parent class runs *smoke, which only runs HTTP tests that
# the ovn-provider doesn't support, so run some it does.
- '^octavia_tempest_plugin.tests.scenario.v2.test_load_balancer.LoadBalancerScenarioTest'
standalone_environment_files:
- 'environments/low-memory-usage.yaml'
- 'ci/environments/scenario010-standalone.yaml'
- 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