ee79fc5d4d
This commit changes seed-images jobs to build seed and overcloud container images, each with a customisable regex. The rocky9 job continues to build only the base image, although for both overcloud and seed instead of seed only. The other seed-images jobs (centos9s and ubuntu-jammy) now build all default overcloud images. This takes longer and can fail for various reasons unrelated to Kayobe, but this is fine since the jobs are marked as experimental. This is to attempt to catch bugs in the image build code, such as the ones fixed by [1]. Note that the ubuntu-jammy job does not build the bifrost-deploy seed image because the build is currently timing out. The centos9s job builds it successfully. Also update release documentation to remind developers to run experimental jobs. [1] https://review.opendev.org/c/openstack/kayobe/+/921012 Change-Id: Idf705d9cf41766a897444898ac31c4635b70ec16
375 lines
11 KiB
YAML
375 lines
11 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
|
|
# TODO(priteau): Remove when kayobe stable/2024.1 exists.
|
|
override-checkout: stable/2024.1
|
|
- name: openstack/kayobe
|
|
- name: openstack/kayobe-config-dev
|
|
- name: openstack/kolla
|
|
# TODO(priteau): Remove when kayobe stable/2024.1 exists.
|
|
override-checkout: stable/2024.1
|
|
- name: openstack/kolla-ansible
|
|
# TODO(priteau): Remove when kayobe stable/2024.1 exists.
|
|
override-checkout: stable/2024.1
|
|
- name: openstack/requirements
|
|
# TODO(priteau): Remove when kayobe stable/2024.1 exists.
|
|
override-checkout: stable/2024.1
|
|
- 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.
|
|
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 }}"
|
|
is_slurp: "{{ 'slurp' in zuul.job }}"
|
|
previous_release: "{{ '2023.1' if is_slurp else '2023.2' }}"
|
|
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-overcloud-upgrade-slurp-rocky9
|
|
parent: kayobe-overcloud-upgrade-base
|
|
nodeset: kayobe-rocky9
|
|
|
|
- job:
|
|
name: kayobe-overcloud-upgrade-slurp-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.
|
|
vars:
|
|
build_images: true
|
|
|
|
- job:
|
|
name: kayobe-seed-images-centos9s
|
|
parent: kayobe-seed-images-base
|
|
nodeset: kayobe-centos9s
|
|
voting: false
|
|
|
|
# Build only the base container image in the kayobe-seed-images-rocky9 job
|
|
# which always runs. Use `check experimental` to run the other jobs which build
|
|
# more images.
|
|
- job:
|
|
name: kayobe-seed-images-rocky9
|
|
parent: kayobe-seed-images-base
|
|
nodeset: kayobe-rocky9
|
|
vars:
|
|
overcloud_container_image_regex: "^base"
|
|
seed_container_image_regex: "^base"
|
|
|
|
# This job builds default overcloud images but skips the build of bifrost seed
|
|
# images which are currently timing out on Ubuntu Jammy.
|
|
- job:
|
|
name: kayobe-seed-images-ubuntu-jammy
|
|
parent: kayobe-seed-images-base
|
|
nodeset: kayobe-ubuntu-jammy
|
|
vars:
|
|
seed_container_image_regex: "^base"
|
|
|
|
- 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-upgrade-slurp-rocky9
|
|
parent: kayobe-seed-upgrade-base
|
|
nodeset: kayobe-rocky9
|
|
|
|
- job:
|
|
name: kayobe-seed-upgrade-slurp-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
|