--- - 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. 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: "{{ '2024.1' if is_slurp else '2024.1' }}" 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-noble parent: kayobe-overcloud-base nodeset: kayobe-ubuntu-noble - 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-noble parent: kayobe-seed-base nodeset: kayobe-ubuntu-noble - 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-noble parent: kayobe-seed-images-base nodeset: kayobe-ubuntu-noble 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-noble parent: kayobe-overcloud-host-configure-base nodeset: kayobe-ubuntu-noble - 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-noble parent: kayobe-seed-vm-base nodeset: kayobe-ubuntu-noble - job: name: kayobe-seed-vm-efi-base parent: kayobe-seed-vm-base description: | Base job for testing seed VM provisioning with EFI and q35 vars: seed_vm_boot_firmware: efi seed_vm_machine: q35 - job: name: kayobe-seed-vm-centos9s-efi parent: kayobe-seed-vm-efi-base nodeset: kayobe-centos9s voting: false - job: name: kayobe-seed-vm-rocky9-efi parent: kayobe-seed-vm-efi-base nodeset: kayobe-rocky9 - job: name: kayobe-seed-vm-ubuntu-noble-efi parent: kayobe-seed-vm-efi-base nodeset: kayobe-ubuntu-noble - 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-noble parent: kayobe-infra-vm-base nodeset: kayobe-ubuntu-noble