From f23cb602df6bade97b60979e75adf57c330bc79d Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Tue, 30 Sep 2025 11:51:14 +0200 Subject: [PATCH] Support CentOS Stream 10 and Rocky Linux 10 images This bumps the jriguera.configdrive role to the latest commit to support generating a configdrive with xorriso instead of genisoimage. Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/962548 Change-Id: Ia2881915531a74414cda44b676167cf9360c55b7 Signed-off-by: Pierre Riteau --- ansible/inventory/group_vars/all/globals | 7 +- ansible/inventory/group_vars/all/infra-vms | 19 ++++-- ansible/inventory/group_vars/all/seed-vm | 17 ++++- ansible/roles/kolla-ansible/vars/RedHat.yml | 4 +- .../reference/os-distribution.rst | 8 +-- etc/kayobe/globals.yml | 7 +- etc/kayobe/infra-vms.yml | 11 +-- etc/kayobe/seed-vm.yml | 9 ++- .../infra-vms-group-vars.j2 | 4 +- .../kayobe-infra-vm-base/overrides.yml.j2 | 6 +- .../kayobe-seed-vm-base/overrides.yml.j2 | 16 ++--- .../kayobe-seed-vm-base/seed-group-vars.j2 | 4 +- requirements.yml | 2 +- zuul.d/jobs.yaml | 67 +++++++++++++++++++ zuul.d/project.yaml | 36 +++++++--- 15 files changed, 164 insertions(+), 53 deletions(-) diff --git a/ansible/inventory/group_vars/all/globals b/ansible/inventory/group_vars/all/globals index 5e50c513b..492307337 100644 --- a/ansible/inventory/group_vars/all/globals +++ b/ansible/inventory/group_vars/all/globals @@ -52,9 +52,10 @@ kayobe_ansible_user: "stack" # is "rocky". os_distribution: "rocky" -# OS release. Valid options are "9-stream" when os_distribution is "centos", or -# "9" when os_distribution is "rocky", or "noble" when os_distribution is -# "ubuntu". +# OS release. Valid options are "9-stream" and "10-stream" (with "9-stream" +# being the default) when os_distribution is "centos", "9" and "10" (with "9" +# being the default) when os_distribution is "rocky", or "noble" when +# os_distribution is "ubuntu". os_release: >- {{ '9-stream' if os_distribution == 'centos' else '9' if os_distribution == 'rocky' diff --git a/ansible/inventory/group_vars/all/infra-vms b/ansible/inventory/group_vars/all/infra-vms index 2105c5e3e..ea0527e3d 100644 --- a/ansible/inventory/group_vars/all/infra-vms +++ b/ansible/inventory/group_vars/all/infra-vms @@ -42,19 +42,30 @@ infra_vm_root_format: qcow2 # Base image for the infra VM root volume. Default is # "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img" -# when os_distribution is "ubuntu", or -# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 -# when os_distribution is "rocky", -# or +# when os_distribution is "ubuntu", +# "https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2" +# when os_distribution is "rocky" and os_release is "9", +# "https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2" +# when os_distribution is "rocky" and os_release is "10", # "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2" +# when os_distribution is "centos" and os_release is "9-stream", or +# "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2" # otherwise. infra_vm_root_image: >- {%- if os_distribution == 'ubuntu' %} https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img {%- elif os_distribution == 'rocky' %} + {%- if os_release == '9' %} https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 {%- else -%} + https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2 + {%- endif %} + {%- else -%} + {%- if os_release == '9-stream' %} https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 + {%- else -%} + https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2 + {%- endif %} {%- endif %} # Capacity of the infra VM data volume. diff --git a/ansible/inventory/group_vars/all/seed-vm b/ansible/inventory/group_vars/all/seed-vm index cc840f46e..4283c413e 100644 --- a/ansible/inventory/group_vars/all/seed-vm +++ b/ansible/inventory/group_vars/all/seed-vm @@ -43,18 +43,29 @@ seed_vm_root_format: qcow2 # Base image for the seed VM root volume. Default is # "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img" # when os_distribution is "ubuntu", -# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 -# when os_distribution is "rocky", -# or +# "https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2" +# when os_distribution is "rocky" and os_release is "9", +# "https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2" +# when os_distribution is "rocky" and os_release is "10", # "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2" +# when os_distribution is "centos" and os_release is "9-stream", or +# "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2" # otherwise. seed_vm_root_image: >- {%- if os_distribution == 'ubuntu' %} https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img {%- elif os_distribution == 'rocky' %} + {%- if os_release == '9' %} https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 {%- else -%} + https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2 + {%- endif %} + {%- else -%} + {%- if os_release == '9-stream' %} https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 + {%- else -%} + https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2 + {%- endif %} {%- endif %} # Capacity of the seed VM data volume. diff --git a/ansible/roles/kolla-ansible/vars/RedHat.yml b/ansible/roles/kolla-ansible/vars/RedHat.yml index 768efbfc0..008dcd0f5 100644 --- a/ansible/roles/kolla-ansible/vars/RedHat.yml +++ b/ansible/roles/kolla-ansible/vars/RedHat.yml @@ -5,6 +5,6 @@ kolla_ansible_package_dependencies: - git - libffi-devel - openssl-devel - - python3.12 - - python3.12-devel + - "{{ 'python3.12' if ansible_facts.distribution_major_version == '9' else 'python3' }}" + - "{{ 'python3.12-devel' if ansible_facts.distribution_major_version == '9' else 'python3-devel' }}" - rsync diff --git a/doc/source/configuration/reference/os-distribution.rst b/doc/source/configuration/reference/os-distribution.rst index 1a3bfb3b1..153f035b0 100644 --- a/doc/source/configuration/reference/os-distribution.rst +++ b/doc/source/configuration/reference/os-distribution.rst @@ -15,10 +15,10 @@ or ``rocky`` or ``ubuntu``, and defaults to ``rocky``. The ``os_release`` variable in ``etc/kayobe/globals.yml`` can be used to set the release of the OS. When ``os_distribution`` is set to ``centos`` it may be -set to ``9-stream``, and this is its default value. When ``os_distribution`` is -set to ``ubuntu`` it may be set to ``noble``, and this is its default value. -When ``os_distribution`` is set to ``rocky`` it may be set to ``9``, and this -is its default value. +set to ``9-stream`` or ``10-stream``, and ``9-stream`` is its default value. +When ``os_distribution`` is set to ``rocky`` it may be set to ``9`` or ``10``, +and ``9`` is its default value. When ``os_distribution`` is set to ``ubuntu`` +it may be set to ``noble``, and this is its default value. These variables are used to set various defaults, including: diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index ce4570f39..bb21aca71 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -48,9 +48,10 @@ # is "rocky". #os_distribution: -# OS release. Valid options are "9-stream" when os_distribution is "centos", or -# "9" when os_distribution is "rocky", or "noble" when os_distribution is -# "ubuntu". +# OS release. Valid options are "9-stream" and "10-stream" (with "9-stream" +# being the default) when os_distribution is "centos", "9" and "10" (with "9" +# being the default) when os_distribution is "rocky", or "noble" when +# os_distribution is "ubuntu". #os_release: ############################################################################### diff --git a/etc/kayobe/infra-vms.yml b/etc/kayobe/infra-vms.yml index abbd24e68..2b012b8e5 100644 --- a/etc/kayobe/infra-vms.yml +++ b/etc/kayobe/infra-vms.yml @@ -31,11 +31,14 @@ # Base image for the infra VM root volume. Default is # "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img" -# when os_distribution is "ubuntu", or -# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 -# when os_distribution is "rocky", -# or +# when os_distribution is "ubuntu", +# "https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2" +# when os_distribution is "rocky" and os_release is "9", +# "https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2" +# when os_distribution is "rocky" and os_release is "10", # "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2" +# when os_distribution is "centos" and os_release is "9-stream", or +# "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2" # otherwise. #infra_vm_root_image: diff --git a/etc/kayobe/seed-vm.yml b/etc/kayobe/seed-vm.yml index e7d0ac0a9..1a575a10b 100644 --- a/etc/kayobe/seed-vm.yml +++ b/etc/kayobe/seed-vm.yml @@ -32,10 +32,13 @@ # Base image for the seed VM root volume. Default is # "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img" # when os_distribution is "ubuntu", -# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 -# when os_distribution is "rocky", -# or +# "https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2" +# when os_distribution is "rocky" and os_release is "9", +# "https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2" +# when os_distribution is "rocky" and os_release is "10", # "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2" +# when os_distribution is "centos" and os_release is "9-stream", or +# "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2" # otherwise. #seed_vm_root_image: diff --git a/playbooks/kayobe-infra-vm-base/infra-vms-group-vars.j2 b/playbooks/kayobe-infra-vm-base/infra-vms-group-vars.j2 index 94652b8d9..9ce8d7318 100644 --- a/playbooks/kayobe-infra-vm-base/infra-vms-group-vars.j2 +++ b/playbooks/kayobe-infra-vm-base/infra-vms-group-vars.j2 @@ -1,8 +1,8 @@ --- -{% if infra_vm_use_cirros | default(true) or ansible_os_family != "Debian" %} +{% if infra_vm_use_cirros | default(true) or ansible_os_family == 'RedHat' and ansible_distribution_major_version == '9' %} aio_interface: eth0 {% else %} -# Required for Ubuntu cloud images +# Required for official cloud images (CentOS Stream 10, Rocky Linux 10, Ubuntu) aio_interface: ens2 {% endif %} diff --git a/playbooks/kayobe-infra-vm-base/overrides.yml.j2 b/playbooks/kayobe-infra-vm-base/overrides.yml.j2 index 4aba07951..c6d5cc075 100644 --- a/playbooks/kayobe-infra-vm-base/overrides.yml.j2 +++ b/playbooks/kayobe-infra-vm-base/overrides.yml.j2 @@ -35,9 +35,6 @@ infra_vm_memory_mb: "{{ 1 * 1024 }}" # Use cirros rather than distribution cloud image for the VM. infra_vm_bootstrap_user: cirros infra_vm_root_image: /opt/cache/files/cirros-0.5.3-x86_64-disk.img -{% else %} -infra_vm_provision_timeout: 600 -{% endif %} # Cirros doesn't load cdom drivers by default. vm_configdrive_device: disk @@ -46,6 +43,9 @@ vm_configdrive_device: disk # /etc/network/interfaces. configdrive_os_family: Debian configdrive_debian_network_interfaces_supports_glob: false +{% else %} +infra_vm_provision_timeout: 600 +{% endif %} # NOTE(mgoddard): CentOS 8 removes interfaces from their bridge during ifdown, # and removes the bridge if there are no interfaces left. When Kayobe bounces diff --git a/playbooks/kayobe-seed-vm-base/overrides.yml.j2 b/playbooks/kayobe-seed-vm-base/overrides.yml.j2 index 8600588a9..83be19105 100644 --- a/playbooks/kayobe-seed-vm-base/overrides.yml.j2 +++ b/playbooks/kayobe-seed-vm-base/overrides.yml.j2 @@ -38,6 +38,14 @@ seed_vm_memory_mb: "{{ 1 * 1024 }}" # Use cirros rather than distribution cloud image for the VM. seed_bootstrap_user: cirros seed_vm_root_image: /opt/cache/files/cirros-0.5.3-x86_64-disk.img + +# Cirros doesn't load cdom drivers by default. +seed_vm_configdrive_device: disk + +# Cirros is Debian family, but doesn't support path globs in +# /etc/network/interfaces. +configdrive_os_family: Debian +configdrive_debian_network_interfaces_supports_glob: false {% else %} seed_vm_provision_timeout: 600 {% endif %} @@ -49,14 +57,6 @@ seed_vm_boot_firmware: "{{ seed_vm_boot_firmware }}" seed_vm_machine: "{{ seed_vm_machine }}" {% endif %} -# Cirros doesn't load cdom drivers by default. -seed_vm_configdrive_device: disk - -# Cirros is Debian family, but doesn't support path globs in -# /etc/network/interfaces. -configdrive_os_family: Debian -configdrive_debian_network_interfaces_supports_glob: false - # NOTE(mgoddard): CentOS 8 removes interfaces from their bridge during ifdown, # and removes the bridge if there are no interfaces left. When Kayobe bounces # veth links plugged into the bridge, it causes the bridge which has the IP we diff --git a/playbooks/kayobe-seed-vm-base/seed-group-vars.j2 b/playbooks/kayobe-seed-vm-base/seed-group-vars.j2 index 64c65450e..757d3686f 100644 --- a/playbooks/kayobe-seed-vm-base/seed-group-vars.j2 +++ b/playbooks/kayobe-seed-vm-base/seed-group-vars.j2 @@ -1,8 +1,8 @@ --- -{% if seed_vm_use_cirros | default(true) or ansible_os_family != "Debian" %} +{% if seed_vm_use_cirros | default(true) or ansible_os_family == 'RedHat' and ansible_distribution_major_version == '9' %} aio_interface: eth0 {% else %} -# Required for Ubuntu cloud images +# Required for official cloud images (CentOS Stream 10, Rocky Linux 10, Ubuntu) aio_interface: ens2 {% endif %} diff --git a/requirements.yml b/requirements.yml index c2376f617..4ad3203dc 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ roles: version: 1.2.0 - src: jriguera.configdrive # There are no versioned releases of this role. - version: 313c9b0ff8cd8009471380ccd71b27b440ac6704 + version: 71ddface5540ee0ff9e35bcc4334c766ed5d5d3f - src: MichaelRigart.interfaces version: v1.15.6 - src: mrlesmithjr.chrony diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index c306e7305..28429bffb 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -385,11 +385,22 @@ nodeset: kayobe-centos9s voting: false +- job: + name: kayobe-seed-vm-centos10s + parent: kayobe-seed-vm-base + nodeset: kayobe-centos10s + voting: false + - job: name: kayobe-seed-vm-rocky9 parent: kayobe-seed-vm-base nodeset: kayobe-rocky9 +- job: + name: kayobe-seed-vm-rocky10 + parent: kayobe-seed-vm-base + nodeset: kayobe-rocky10 + - job: name: kayobe-seed-vm-ubuntu-noble parent: kayobe-seed-vm-base @@ -405,6 +416,14 @@ vars: seed_vm_use_cirros: false +- job: + name: kayobe-seed-vm-centos10s-cloud-image + parent: kayobe-seed-vm-base + nodeset: kayobe-centos10s + voting: false + vars: + seed_vm_use_cirros: false + - job: name: kayobe-seed-vm-rocky9-cloud-image parent: kayobe-seed-vm-base @@ -412,6 +431,13 @@ vars: seed_vm_use_cirros: false +- job: + name: kayobe-seed-vm-rocky10-cloud-image + parent: kayobe-seed-vm-base + nodeset: kayobe-rocky10 + vars: + seed_vm_use_cirros: false + - job: name: kayobe-seed-vm-ubuntu-noble-cloud-image parent: kayobe-seed-vm-base @@ -434,6 +460,12 @@ nodeset: kayobe-centos9s voting: false +- job: + name: kayobe-seed-vm-centos10s-q35 + parent: kayobe-seed-vm-q35-base + nodeset: kayobe-centos10s + voting: false + - job: name: kayobe-seed-vm-rocky9-q35 parent: kayobe-seed-vm-q35-base @@ -441,6 +473,13 @@ vars: kayobe_control_host_become: false +- job: + name: kayobe-seed-vm-rocky10-q35 + parent: kayobe-seed-vm-q35-base + nodeset: kayobe-rocky10 + vars: + kayobe_control_host_become: false + - job: name: kayobe-seed-vm-ubuntu-noble-q35 parent: kayobe-seed-vm-q35-base @@ -464,6 +503,12 @@ nodeset: kayobe-centos9s voting: false +- job: + name: kayobe-infra-vm-centos10s + parent: kayobe-infra-vm-base + nodeset: kayobe-centos10s + voting: false + - job: name: kayobe-infra-vm-rocky9 parent: kayobe-infra-vm-base @@ -471,6 +516,13 @@ vars: kayobe_control_host_become: false +- job: + name: kayobe-infra-vm-rocky10 + parent: kayobe-infra-vm-base + nodeset: kayobe-rocky10 + vars: + kayobe_control_host_become: false + - job: name: kayobe-infra-vm-ubuntu-noble parent: kayobe-infra-vm-base @@ -484,6 +536,14 @@ vars: infra_vm_use_cirros: false +- job: + name: kayobe-infra-vm-centos10s-cloud-image + parent: kayobe-infra-vm-base + nodeset: kayobe-centos10s + voting: false + vars: + infra_vm_use_cirros: false + - job: name: kayobe-infra-vm-rocky9-cloud-image parent: kayobe-infra-vm-base @@ -491,6 +551,13 @@ vars: infra_vm_use_cirros: false +- job: + name: kayobe-infra-vm-rocky10-cloud-image + parent: kayobe-infra-vm-base + nodeset: kayobe-rocky10 + vars: + infra_vm_use_cirros: false + - job: name: kayobe-infra-vm-ubuntu-noble-cloud-image parent: kayobe-infra-vm-base diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 83fcad370..ad4bbd35a 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -12,46 +12,54 @@ - kayobe-tox-ansible-syntax - kayobe-tox-ansible - kayobe-tox-molecule + - kayobe-infra-vm-rocky10 + - kayobe-infra-vm-rocky9 + - kayobe-infra-vm-ubuntu-noble + - kayobe-overcloud-host-configure-rocky10 + - kayobe-overcloud-host-configure-rocky9 + - kayobe-overcloud-host-configure-ubuntu-noble - kayobe-overcloud-ubuntu-noble - kayobe-overcloud-ubuntu-noble-podman - - kayobe-overcloud-host-configure-rocky9 - - kayobe-overcloud-host-configure-rocky10 - - kayobe-overcloud-host-configure-ubuntu-noble - kayobe-overcloud-upgrade-ubuntu-noble - kayobe-seed-ubuntu-noble - kayobe-seed-ubuntu-noble-podman - kayobe-seed-upgrade-ubuntu-noble + - kayobe-seed-vm-rocky10 - kayobe-seed-vm-rocky9 - kayobe-seed-vm-ubuntu-noble - - kayobe-infra-vm-rocky9 - - kayobe-infra-vm-ubuntu-noble gate: jobs: - kayobe-tox-ansible-syntax - kayobe-tox-ansible - kayobe-tox-molecule + - kayobe-infra-vm-rocky10 + - kayobe-infra-vm-rocky9 + - kayobe-infra-vm-ubuntu-noble + - kayobe-overcloud-host-configure-rocky10 + - kayobe-overcloud-host-configure-rocky9 + - kayobe-overcloud-host-configure-ubuntu-noble - kayobe-overcloud-ubuntu-noble - kayobe-overcloud-ubuntu-noble-podman - - kayobe-overcloud-host-configure-rocky9 - - kayobe-overcloud-host-configure-rocky10 - - kayobe-overcloud-host-configure-ubuntu-noble - kayobe-overcloud-upgrade-ubuntu-noble - kayobe-seed-ubuntu-noble - kayobe-seed-ubuntu-noble-podman - kayobe-seed-upgrade-ubuntu-noble + - kayobe-seed-vm-rocky10 - kayobe-seed-vm-rocky9 - kayobe-seed-vm-ubuntu-noble - - kayobe-infra-vm-rocky9 - - kayobe-infra-vm-ubuntu-noble experimental: jobs: + - kayobe-infra-vm-centos10s + - kayobe-infra-vm-centos10s-cloud-image + - kayobe-infra-vm-centos9s - kayobe-infra-vm-centos9s-cloud-image + - kayobe-infra-vm-rocky10-cloud-image - kayobe-infra-vm-rocky9-cloud-image - kayobe-infra-vm-ubuntu-noble-cloud-image - kayobe-overcloud-centos9s - - kayobe-overcloud-host-configure-centos9s - kayobe-overcloud-host-configure-centos10s + - kayobe-overcloud-host-configure-centos9s - kayobe-overcloud-rocky9 - kayobe-overcloud-rocky9-podman - kayobe-overcloud-tls-rocky9 @@ -64,8 +72,14 @@ - kayobe-seed-rocky9 - kayobe-seed-rocky9-podman - kayobe-seed-upgrade-rocky9 + - kayobe-seed-vm-centos10s + - kayobe-seed-vm-centos10s-cloud-image + - kayobe-seed-vm-centos10s-q35 + - kayobe-seed-vm-centos9s - kayobe-seed-vm-centos9s-cloud-image - kayobe-seed-vm-centos9s-q35 + - kayobe-seed-vm-rocky10-cloud-image + - kayobe-seed-vm-rocky10-q35 - kayobe-seed-vm-rocky9-cloud-image - kayobe-seed-vm-rocky9-q35 - kayobe-seed-vm-ubuntu-noble-cloud-image