kayobe/zuul.d/jobs.yaml
Pierre Riteau 990370a367 Revert "CI: Disable bare metal testing on RL9/c9s"
This requires disabling libvirt_vm_trust_guest_rx_filters, which when
enabled triggers the following errors when booting baremetal instances
with Tenks on Libvirt 9 (and most likely since 8.9.0):

    Cannot set interface flags on 'macvtap1': Value too large for defined data type

This is apparently triggered by a Libvirt commit refreshing rx-filters
more often [1].

As explained in I71a2051d8acd63379bd70bc1287a059d4a7f6387, this setting
was added to allow traffic destined for other MAC addresses to reach VMs
when using a macvtap interface.

This will prevent multicast from working, but we don't need it for
baremetal tests in CI.

This setting will be enabled again once the issue is resolved in either
Libvirt or Tenks.

This reverts commit 21c68bbfaf.

Also increase timeout of upgrade jobs which is too short now due to the
added delay added by bare metal testing.

[1] 060d4c83ef

Change-Id: I2cfd2667abb1ae8988b7a7fd9761b75c20a0eaa4
2023-10-09 09:25:04 +02:00

337 lines
9.2 KiB
YAML

---
- job:
name: kayobe-tox-ansible-syntax
description: |
Tox job that checks Ansible playbook syntax.
parent: openstack-tox
pre-run: playbooks/kayobe-tox-ansible-syntax/pre.yml
required-projects:
- name: openstack/ansible-collection-kolla
vars:
tox_envlist: ansible-syntax
ansible_collection_kolla_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/ansible-collection-kolla'].src_dir }}"
kayobe_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kayobe'].src_dir }}"
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^kayobe/tests/
- ^LICENSE$
- ^molecule-requirements.txt
- ^releasenotes/.*
- ^setup.cfg$
- ^zuul.d/.*
- job:
name: kayobe-tox-ansible
description: |
Tox job that runs native Ansible role tests.
parent: openstack-tox-with-sudo
vars:
tox_envlist: ansible
required-projects:
- name: openstack/requirements
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^kayobe/tests/
- ^LICENSE$
- ^molecule-requirements.txt
- ^releasenotes/.*
- ^setup.cfg$
- ^zuul.d/.*
- job:
name: kayobe-tox-molecule
description: |
Tox job that runs molecule-based Ansible role tests.
parent: openstack-tox-with-sudo
pre-run: playbooks/kayobe-tox-molecule/pre.yml
timeout: 3600
required-projects:
- openstack/requirements
vars:
tox_envlist: molecule
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^kayobe/tests/
- ^LICENSE$
- ^releasenotes/.*
- ^setup.cfg$
- ^test-requirements.txt
- ^zuul.d/.*
- job:
name: kayobe-base
description: |
Base job for all deployment jobs.
pre-run: playbooks/kayobe-base/pre.yml
post-run: playbooks/kayobe-base/post.yml
attempts: 5
required-projects:
# Include kayobe to ensure other projects can use this job.
- name: openstack/ansible-collection-kolla
- name: openstack/kayobe
- name: openstack/kayobe-config-dev
- name: openstack/kolla
- name: openstack/kolla-ansible
- name: openstack/requirements
- name: openstack/tenks
irrelevant-files:
- ^\..+
- ^.*\.rst$
- ^doc/.*
- ^kayobe/tests/
- ^LICENSE$
- ^molecule-requirements.txt
- ^releasenotes/.*
- ^setup.cfg$
- ^test-requirements.txt
- ^tools/.*$
- ^tox.ini$
- ^zuul.d/.*
vars:
# Name of the release to upgrade from for upgrade jobs.
previous_release: 2023.1
logs_dir: "/tmp/logs"
ansible_collection_kolla_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/ansible-collection-kolla'].src_dir }}"
kayobe_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kayobe'].src_dir }}"
kayobe_config_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kayobe-config-dev'].src_dir }}"
kolla_ansible_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kolla-ansible'].src_dir }}"
previous_kayobe_src_dir: "{{ ansible_env.PWD ~ '/previous/kayobe' }}"
previous_kayobe_config_src_dir: "{{ ansible_env.PWD ~ '/previous/kayobe-config' }}"
previous_kolla_ansible_src_dir: "{{ ansible_env.PWD ~ '/previous/kolla-ansible' }}"
requirements_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/requirements'].src_dir }}"
tenks_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/tenks'].src_dir }}"
is_upgrade: "{{ 'upgrade' in zuul.job }}"
tls_enabled: false
ironic_boot_mode: "bios"
- job:
name: kayobe-overcloud-base
parent: kayobe-base
description: |
Base job for testing overcloud deployment.
Configures the primary VM as an overcloud controller.
pre-run: playbooks/kayobe-overcloud-base/pre.yml
run: playbooks/kayobe-overcloud-base/run.yml
timeout: 7200
- job:
name: kayobe-overcloud-centos9s
parent: kayobe-overcloud-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-overcloud-rocky9
parent: kayobe-overcloud-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-ubuntu-jammy
parent: kayobe-overcloud-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-overcloud-tls-base
parent: kayobe-overcloud-base
vars:
tls_enabled: true
ironic_boot_mode: "uefi"
- job:
name: kayobe-overcloud-tls-centos9s
parent: kayobe-overcloud-tls-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-overcloud-tls-rocky9
parent: kayobe-overcloud-tls-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-upgrade-base
parent: kayobe-base
description: |
Base job for testing overcloud upgrades.
Configures the primary VM as an overcloud controller using the previous
OpenStack release, and upgrades it to the current release.
pre-run: playbooks/kayobe-overcloud-upgrade-base/pre.yml
run: playbooks/kayobe-overcloud-upgrade-base/run.yml
timeout: 10800
- job:
name: kayobe-overcloud-upgrade-rocky9
parent: kayobe-overcloud-upgrade-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-upgrade-ubuntu-jammy
parent: kayobe-overcloud-upgrade-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-base
parent: kayobe-base
description: |
Base job for testing seed deployment.
Configures the primary VM as a seed.
pre-run: playbooks/kayobe-seed-base/pre.yml
run: playbooks/kayobe-seed-base/run.yml
timeout: 5400
vars:
build_images: false
- job:
name: kayobe-seed-centos9s
parent: kayobe-seed-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-seed-rocky9
parent: kayobe-seed-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-ubuntu-jammy
parent: kayobe-seed-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-images-base
parent: kayobe-seed-base
description: |
Base job for testing seed image builds.
Configures the primary VM as a seed.
voting: false
vars:
build_images: true
- job:
name: kayobe-seed-images-centos9s
parent: kayobe-seed-images-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-seed-images-rocky9
parent: kayobe-seed-images-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-images-ubuntu-jammy
parent: kayobe-seed-images-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-overcloud-host-configure-base
parent: kayobe-overcloud-base
description: |
Base job for testing overcloud host configure.
Configures the primary VM as an overcloud controller.
pre-run: playbooks/kayobe-overcloud-host-configure-base/pre.yml
run: playbooks/kayobe-overcloud-host-configure-base/run.yml
timeout: 7200
- job:
name: kayobe-overcloud-host-configure-centos9s
parent: kayobe-overcloud-host-configure-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-overcloud-host-configure-rocky9
parent: kayobe-overcloud-host-configure-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-host-configure-ubuntu-jammy
parent: kayobe-overcloud-host-configure-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-upgrade-base
parent: kayobe-base
description: |
Base job for testing seed upgrades.
Configures the primary VM as a seed using the previous OpenStack release,
and upgrades it to the current release.
pre-run: playbooks/kayobe-seed-upgrade-base/pre.yml
run: playbooks/kayobe-seed-upgrade-base/run.yml
timeout: 5400
- job:
name: kayobe-seed-upgrade-rocky9
parent: kayobe-seed-upgrade-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-upgrade-ubuntu-jammy
parent: kayobe-seed-upgrade-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-vm-base
parent: kayobe-base
description: |
Base job for testing seed VM provisioning.
Configures the primary VM as a libvirt hypervisor, and provisions a seed
as a VM.
pre-run: playbooks/kayobe-seed-vm-base/pre.yml
run: playbooks/kayobe-seed-vm-base/run.yml
timeout: 5400
- job:
name: kayobe-seed-vm-centos9s
parent: kayobe-seed-vm-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-seed-vm-rocky9
parent: kayobe-seed-vm-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-vm-ubuntu-jammy
parent: kayobe-seed-vm-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-infra-vm-base
parent: kayobe-base
description: |
Base job for testing infra VM provisioning.
Configures the primary VM as a libvirt hypervisor, and provisions an
infra VM.
pre-run: playbooks/kayobe-infra-vm-base/pre.yml
run: playbooks/kayobe-infra-vm-base/run.yml
timeout: 5400
- job:
name: kayobe-infra-vm-centos9s
parent: kayobe-infra-vm-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-infra-vm-rocky9
parent: kayobe-infra-vm-base
nodeset: kayobe-rocky9
- job:
name: kayobe-infra-vm-ubuntu-jammy
parent: kayobe-infra-vm-base
nodeset: kayobe-ubuntu-jammy