diff --git a/.github/workflows/stackhpc-container-image-build.yml b/.github/workflows/stackhpc-container-image-build.yml index 7ad69b815..5817790d9 100644 --- a/.github/workflows/stackhpc-container-image-build.yml +++ b/.github/workflows/stackhpc-container-image-build.yml @@ -23,6 +23,11 @@ on: type: boolean required: false default: true + rocky-linux-10: + description: Build Rocky Linux 10 images? + type: boolean + required: false + default: true ubuntu-noble: description: Build Ubuntu Noble 24.04 images? type: boolean @@ -66,7 +71,7 @@ jobs: steps: - name: Validate inputs run: | - if [[ ${{ inputs.rocky-linux-9 }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then + if [[ ${{ inputs.rocky-linux-9 }} == 'false' && ${{ inputs.rocky-linux-10 }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then echo "At least one distribution must be selected" exit 1 fi @@ -104,6 +109,10 @@ jobs: output+="{'name': 'rocky', 'release': 9, 'arch': 'amd64'}," output+="{'name': 'rocky', 'release': 9, 'arch': 'aarch64'}," fi + if [[ ${{ inputs.rocky-linux-10 }} == 'true' ]]; then + output+="{'name': 'rocky', 'release': 10, 'arch': 'amd64'}," + output+="{'name': 'rocky', 'release': 10, 'arch': 'aarch64'}," + fi if [[ ${{ inputs.ubuntu-noble }} == 'true' ]]; then output+="{'name': 'ubuntu', 'release': 'noble', 'arch': 'amd64'}," fi @@ -346,7 +355,7 @@ jobs: create-manifests: # Only for Rocky Linux for now name: Create Multiarch Docker Manifests - if: github.repository == 'stackhpc/stackhpc-kayobe-config' && inputs.push && inputs.rocky-linux-9 + if: github.repository == 'stackhpc/stackhpc-kayobe-config' && inputs.push && (inputs.rocky-linux-9 || inputs.rocky-linux-10) runs-on: ${{ needs.runner-selection.outputs.runner_name_container_image_build }} permissions: {} needs: diff --git a/etc/kayobe/dnf.yml b/etc/kayobe/dnf.yml index c337db281..f93ff5dbb 100644 --- a/etc/kayobe/dnf.yml +++ b/etc/kayobe/dnf.yml @@ -41,16 +41,18 @@ # file: myrepo # gpgkey: http://gpgkey # gpgcheck: yes -dnf_custom_repos: "{{ stackhpc_dnf_repos if stackhpc_repos_enabled | bool else [] }}" +dnf_custom_repos: "{{ stackhpc_dnf_repos[kolla_base_distro_and_version] | default({}) if stackhpc_repos_enabled | bool else {} }}" # A dict of custom repositories that point to the local Pulp server. # To use these repos, set stackhpc_repos_enabled to true. # This is done by default for hosts in the overcloud group via a group_vars # file. -stackhpc_dnf_repos: "{{ dnf_custom_repos_el9 | combine(dnf_custom_repos_rocky_9) | combine(dnf_custom_repos_elrepo_9 if dnf_install_elrepo_9 | bool else {}) | combine(dnf_custom_repos_doca if dnf_install_doca | bool else {}) }}" +stackhpc_dnf_repos: + rocky-9: "{{ dnf_custom_repos_el9 | combine(dnf_custom_repos_rocky_9) | combine(dnf_custom_repos_elrepo_9 if dnf_install_elrepo_9 | bool else {}) | combine(dnf_custom_repos_doca_rocky_9 if dnf_install_doca | bool else {}) }}" + rocky-10: "{{ dnf_custom_repos_el10 | combine(dnf_custom_repos_rocky_10) | combine(dnf_custom_repos_elrepo_10 if dnf_install_elrepo_10 | bool else {}) | combine(dnf_custom_repos_doca_rocky_10 if dnf_install_doca | bool else {}) }}" # DOCA repositories -dnf_custom_repos_doca: +dnf_custom_repos_doca_rocky_9: doca: baseurl: "{{ stackhpc_repo_rhel9_doca_url }}" description: "DOCA Online Repo {{ stackhpc_pulp_doca_version }} - RHEL $releasever" @@ -70,7 +72,27 @@ dnf_custom_repos_doca: username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" -# Custom repositories shared between all RHEL 9 derivatives. +dnf_custom_repos_doca_rocky_10: + doca: + baseurl: "{{ stackhpc_repo_rhel10_doca_url }}" + description: "DOCA Online Repo {{ stackhpc_pulp_doca_version }} - RHEL $releasever" + enabled: "{{ dnf_enable_doca | bool | default(false) }}" + priority: -1 + file: doca + gpgcheck: no + username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + # doca-modules: + # baseurl: "{{ stackhpc_repo_rhel9_doca_modules_url }}" + # description: "OFED Kernel module repository for DOCA {{ stackhpc_pulp_doca_version }} - RHEL $releasever" + # enabled: "{{ dnf_enable_doca_modules | bool | default(false) }}" + # priority: -1 + # file: doca + # gpgcheck: no + # username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + # password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + +# Custom repositories shared between all RHEL 9/10 derivatives. dnf_custom_repos_el9: epel: baseurl: "{{ stackhpc_repo_epel_9_url }}" @@ -91,25 +113,58 @@ dnf_custom_repos_el9: username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" -# ELRepo 9 +dnf_custom_repos_el10: + epel: + baseurl: "{{ stackhpc_repo_epel_10_url }}" + description: "Extra Packages for Enterprise Linux $releasever - $basearch" + enabled: "{{ dnf_enable_epel | bool }}" + file: epel + gpgkey: "{{ dnf_epel_10_gpg_key_url }}" + gpgcheck: yes + username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + docker: + baseurl: "{{ stackhpc_repo_centos_stream_10_docker_url }}" + description: "Package repository for installing docker" + enabled: "{{ dnf_enable_docker | bool }}" + file: docker + gpgkey: "{{ dnf_docker_gpg_key_url }}" + gpgcheck: yes + username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + +# ELRepo 9/10 dnf_custom_repos_elrepo_9: elrepo: baseurl: "{{ stackhpc_repo_elrepo_9_url }}" description: "ELRepo.org Community Enterprise Linux Repository - el9" enabled: "{{ dnf_enable_elrepo_9 | bool }}" file: elrepo - gpgkey: https://www.elrepo.org/RPM-GPG-KEY-elrepo.org + gpgkey: + - "{{ dnf_elrepo_gpg_key_url }}" + - "{{ dnf_elrepo_gpg_v2_key_url }}" + gpgcheck: yes + username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + +dnf_custom_repos_elrepo_10: + elrepo: + baseurl: "{{ stackhpc_repo_elrepo_10_url }}" + description: "ELRepo.org Community Enterprise Linux Repository - el10" + enabled: "{{ dnf_enable_elrepo_10 | bool }}" + file: elrepo + gpgkey: "{{ dnf_elrepo_gpg_v2_key_url }}" gpgcheck: yes username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" -# Rocky 9 specific repositories +# Rocky 9/10 specific repositories dnf_custom_repos_rocky_9: appstream: baseurl: "{{ stackhpc_repo_rocky_9_appstream_url }}" description: "Rocky Linux $releasever - AppStream" file: rocky - gpgkey: "{{ rocky_9_gpg_key }}" + gpgkey: "{{ dnf_rocky_9_gpg_key_url }}" gpgcheck: yes username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" @@ -117,7 +172,7 @@ dnf_custom_repos_rocky_9: baseurl: "{{ stackhpc_repo_rocky_9_baseos_url }}" description: "Rocky Linux $releasever - BaseOS" file: rocky - gpgkey: "{{ rocky_9_gpg_key }}" + gpgkey: "{{ dnf_rocky_9_gpg_key_url }}" gpgcheck: yes username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" @@ -125,7 +180,7 @@ dnf_custom_repos_rocky_9: baseurl: "{{ stackhpc_repo_rocky_9_crb_url }}" description: "Rocky Linux $releasever - CRB" file: rocky - gpgkey: "{{ rocky_9_gpg_key }}" + gpgkey: "{{ dnf_rocky_9_gpg_key_url }}" gpgcheck: yes username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" @@ -133,7 +188,7 @@ dnf_custom_repos_rocky_9: baseurl: "{{ stackhpc_repo_rocky_9_extras_url }}" description: "Rocky Linux $releasever - Extras" file: rocky-extras - gpgkey: "{{ rocky_9_gpg_key }}" + gpgkey: "{{ dnf_rocky_9_gpg_key_url }}" gpgcheck: yes username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" @@ -141,17 +196,62 @@ dnf_custom_repos_rocky_9: baseurl: "{{ stackhpc_repo_rocky_9_sig_security_common_url }}" description: "Rocky Linux $releasever - SIG Security Common" file: Rocky-SIG-Security-Common - gpgkey: "{{ rocky_9_sig_security_gpg_key }}" + gpgkey: "{{ dnf_rocky_9_sig_security_gpg_key_url }}" gpgcheck: yes includepkgs: "openssh*" username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" +dnf_custom_repos_rocky_10: + appstream: + baseurl: "{{ stackhpc_repo_rocky_10_appstream_url }}" + description: "Rocky Linux $releasever - AppStream" + file: rocky + gpgkey: "{{ dnf_rocky_10_gpg_key_url }}" + gpgcheck: yes + username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + baseos: + baseurl: "{{ stackhpc_repo_rocky_10_baseos_url }}" + description: "Rocky Linux $releasever - BaseOS" + file: rocky + gpgkey: "{{ dnf_rocky_10_gpg_key_url }}" + gpgcheck: yes + username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + crb: + baseurl: "{{ stackhpc_repo_rocky_10_crb_url }}" + description: "Rocky Linux $releasever - CRB" + file: rocky + gpgkey: "{{ dnf_rocky_10_gpg_key_url }}" + gpgcheck: yes + username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + extras: + baseurl: "{{ stackhpc_repo_rocky_10_extras_url }}" + description: "Rocky Linux $releasever - Extras" + file: rocky-extras + gpgkey: "{{ dnf_rocky_10_gpg_key_url }}" + gpgcheck: yes + username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" + password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" + +# GPG key urls +dnf_docker_gpg_key_url: "https://download.docker.com/linux/centos/gpg" +dnf_elrepo_gpg_key_url: "https://www.elrepo.org/RPM-GPG-KEY-elrepo.org" +dnf_elrepo_gpg_v2_key_url: "https://www.elrepo.org/RPM-GPG-KEY-v2-elrepo.org" +dnf_epel_10_gpg_key_url: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-10" +dnf_epel_9_gpg_key_url: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9" +dnf_rocky_10_gpg_key_url: "https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-10" +dnf_rocky_9_gpg_key_url: "https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-9" +dnf_rocky_9_sig_security_gpg_key_url: "https://dl.rockylinux.org/pub/sig/9/security/x86_64/security-common/RPM-GPG-KEY-Rocky-SIG-Security" + # Whether to enable EPEL repositories. This affects RedHat-based systems only. dnf_enable_epel: "{{ dnf_install_epel | bool }}" # Whether to enable the ELRepo repository. This affects RedHat-based, 9.x release systems only. dnf_enable_elrepo_9: "{{ dnf_install_elrepo_9 | bool }}" +dnf_enable_elrepo_10: "{{ dnf_install_elrepo_10 | bool }}" # Whether to enable DOCA repositories. This affects RedHat-based systems only. dnf_enable_doca: "{{ dnf_install_doca | bool }}" @@ -159,12 +259,6 @@ dnf_enable_doca: "{{ dnf_install_doca | bool }}" # Whether to enable the DOCA kernel module repository. This affects RedHat-based systems only. dnf_enable_doca_modules: "{{ dnf_install_doca | bool }}" -# URL of EPEL GPG keys. -dnf_epel_9_gpg_key_url: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9" - -rocky_9_gpg_key: "https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-9" -rocky_9_sig_security_gpg_key: "https://dl.rockylinux.org/pub/sig/9/security/x86_64/security-common/RPM-GPG-KEY-Rocky-SIG-Security" - # Whether to install the epel-release package. This affects RedHat-based # systems only. Default value is 'false'. #dnf_install_epel: @@ -172,13 +266,11 @@ rocky_9_sig_security_gpg_key: "https://dl.rockylinux.org/pub/sig/9/security/x86_ # Whether to create a repo file for ELRepo. This affects RedHat-based # systems only. dnf_install_elrepo_9: false +dnf_install_elrepo_10: false # Whether to enable docker dnf repo in stackhpc_dnf_repos dnf_enable_docker: true -#URL of docker repo GPG key -dnf_docker_gpg_key_url: "https://download.docker.com/linux/centos/gpg" - # Whether to create a repo file for DOCA. This affects RedHat-based # systems only. dnf_install_doca: "{{ 'mlnx' in group_names }}" diff --git a/etc/kayobe/environments/ci-aio/stackhpc-ci.yml b/etc/kayobe/environments/ci-aio/stackhpc-ci.yml index 28755aac7..bbd75a5e3 100644 --- a/etc/kayobe/environments/ci-aio/stackhpc-ci.yml +++ b/etc/kayobe/environments/ci-aio/stackhpc-ci.yml @@ -22,37 +22,48 @@ stackhpc_repo_mirror_password: !vault | 64366233653036333032323334353332643735623264376137383564383361303462 # Build against released Pulp repository versions. -stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_26_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_26_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_27_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_27_version }}" -stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_server_version }}" -stackhpc_repo_ubuntu_noble_version: "{{ stackhpc_pulp_repo_ubuntu_noble_version }}" -stackhpc_repo_ubuntu_noble_security_version: "{{ stackhpc_pulp_repo_ubuntu_noble_security_version }}" -stackhpc_repo_ubuntu_cloud_archive_version: "{{ stackhpc_pulp_repo_ubuntu_cloud_archive_version }}" -stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_noble_version }}" +stackhpc_repo_almalinux_9_proxysql_2_7_version: "{{ stackhpc_pulp_repo_almalinux_9_proxysql_2_7_version }}" +stackhpc_repo_centos_stream_10_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_docker_version }}" +stackhpc_repo_centos_stream_10_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_10_openstack_epoxy_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_openstack_epoxy_version }}" +stackhpc_repo_centos_stream_10_ovn_lts_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_ovn_lts_version }}" +stackhpc_repo_centos_stream_10_storage_ceph_squid_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_storage_ceph_squid_version }}" +stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_docker_version }}" stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_nfv_openvswitch_version }}" stackhpc_repo_centos_stream_9_openstack_epoxy_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_openstack_epoxy_version }}" stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_opstools_version }}" stackhpc_repo_centos_stream_9_storage_ceph_squid_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_storage_ceph_squid_version }}" -stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_docker_version }}" -stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version }}" -stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version }}" -stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version }}" +stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_noble_version }}" +stackhpc_repo_epel_10_version: "{{ stackhpc_pulp_repo_multiarch_epel_10_version }}" stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_multiarch_epel_9_version }}" +stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}" stackhpc_repo_opensearch_2_x_version: "{{ stackhpc_pulp_repo_opensearch_2_x_version }}" stackhpc_repo_opensearch_dashboards_2_x_version: "{{ stackhpc_pulp_repo_opensearch_dashboards_2_x_version }}" -stackhpc_repo_almalinux_9_proxysql_2_7_version: "{{ stackhpc_pulp_repo_almalinux_9_proxysql_2_7_version }}" -## Use derived vars from etc/kayobe/pulp.yml to switch between -## minor Rocky versions using stackhpc_pulp_repo_rocky_x_minor_version -stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_pulp_repo_rocky_9_baseos_version }}" +stackhpc_repo_rhel_10_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_10_mariadb_10_11_version }}" +stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version }}" +stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version }}" +stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version }}" +stackhpc_repo_rhel10_doca_version: "{{ stackhpc_pulp_repo_rhel10_doca_version }}" +stackhpc_repo_rhel9_doca_modules_version: "{{ stackhpc_pulp_repo_rhel9_doca_modules_version }}" +stackhpc_repo_rhel9_doca_version: "{{ stackhpc_pulp_repo_rhel9_doca_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_26_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_26_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_27_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_27_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_version }}" +stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_server_version }}" +stackhpc_repo_rocky_10_appstream_version: "{{ stackhpc_pulp_repo_rocky_10_appstream_version }}" +stackhpc_repo_rocky_10_baseos_version: "{{ stackhpc_pulp_repo_rocky_10_baseos_version }}" +stackhpc_repo_rocky_10_crb_version: "{{ stackhpc_pulp_repo_rocky_10_crb_version }}" +stackhpc_repo_rocky_10_extras_version: "{{ stackhpc_pulp_repo_rocky_10_extras_version }}" +stackhpc_repo_rocky_10_highavailability_version: "{{ stackhpc_pulp_repo_rocky_10_highavailability_version }}" stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstream_version }}" -stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" +stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_pulp_repo_rocky_9_baseos_version }}" stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_crb_version }}" +stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_highavailability_version }}" stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_multiarch_rocky_9_sig_security_common_version }}" -stackhpc_repo_rhel9_doca_version: "{{ stackhpc_pulp_repo_rhel9_doca_version }}" -stackhpc_repo_rhel9_doca_modules_version: "{{ stackhpc_pulp_repo_rhel9_doca_modules_version }}" +stackhpc_repo_ubuntu_cloud_archive_version: "{{ stackhpc_pulp_repo_ubuntu_cloud_archive_version }}" +stackhpc_repo_ubuntu_noble_security_version: "{{ stackhpc_pulp_repo_ubuntu_noble_security_version }}" +stackhpc_repo_ubuntu_noble_version: "{{ stackhpc_pulp_repo_ubuntu_noble_version }}" # Rocky-and-CI-specific Pulp urls stackhpc_include_os_minor_version_in_repo_url: true diff --git a/etc/kayobe/environments/ci-builder/stackhpc-ci.yml b/etc/kayobe/environments/ci-builder/stackhpc-ci.yml index 2fefebed5..354f3a336 100644 --- a/etc/kayobe/environments/ci-builder/stackhpc-ci.yml +++ b/etc/kayobe/environments/ci-builder/stackhpc-ci.yml @@ -28,7 +28,8 @@ kolla_enable_neutron_sriov: true kolla_enable_octavia: true kolla_enable_opensearch: true kolla_enable_prometheus: true -kolla_enable_redis: true +kolla_enable_redis: "{{ kolla_base_distro_and_version in ['ubuntu-noble', 'rocky-9'] }}" +kolla_enable_valkey: "{{ kolla_base_distro_and_version == 'rocky-10' }}" kolla_build_neutron_ovs: true ############################################################################### @@ -49,39 +50,47 @@ stackhpc_repo_mirror_password: !vault | 32313963333964623233303961353066633937323030613235626462316662653439 # Build against released Pulp repository versions. -stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_26_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_26_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_27_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_27_version }}" -stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_server_version }}" -stackhpc_repo_ubuntu_noble_version: "{{ stackhpc_pulp_repo_ubuntu_noble_version }}" -stackhpc_repo_ubuntu_noble_security_version: "{{ stackhpc_pulp_repo_ubuntu_noble_security_version }}" -stackhpc_repo_ubuntu_cloud_archive_version: "{{ stackhpc_pulp_repo_ubuntu_cloud_archive_version }}" -stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_noble_version }}" +stackhpc_repo_almalinux_9_proxysql_2_7_version: "{{ stackhpc_pulp_repo_almalinux_9_proxysql_2_7_version }}" +stackhpc_repo_centos_stream_10_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_docker_version }}" +stackhpc_repo_centos_stream_10_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_10_openstack_epoxy_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_openstack_epoxy_version }}" +stackhpc_repo_centos_stream_10_ovn_lts_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_ovn_lts_version }}" +stackhpc_repo_centos_stream_10_storage_ceph_squid_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_10_storage_ceph_squid_version }}" +stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_docker_version }}" stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_nfv_openvswitch_version }}" stackhpc_repo_centos_stream_9_openstack_epoxy_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_openstack_epoxy_version }}" stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_opstools_version }}" stackhpc_repo_centos_stream_9_storage_ceph_squid_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_storage_ceph_squid_version }}" -stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_docker_version }}" -stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version }}" -stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version }}" -stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version }}" +stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_noble_version }}" +stackhpc_repo_epel_10_version: "{{ stackhpc_pulp_repo_multiarch_epel_10_version }}" stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_multiarch_epel_9_version }}" +stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}" stackhpc_repo_opensearch_2_x_version: "{{ stackhpc_pulp_repo_opensearch_2_x_version }}" stackhpc_repo_opensearch_dashboards_2_x_version: "{{ stackhpc_pulp_repo_opensearch_dashboards_2_x_version }}" -stackhpc_repo_almalinux_9_proxysql_2_7_version: "{{ stackhpc_pulp_repo_almalinux_9_proxysql_2_7_version }}" -## Use derived vars from etc/kayobe/pulp.yml to switch between -## minor Rocky versions using stackhpc_pulp_repo_rocky_x_minor_version -stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_pulp_repo_rocky_9_baseos_version }}" +stackhpc_repo_rhel_10_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_10_mariadb_10_11_version }}" +stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version }}" +stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version }}" +stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version }}" +stackhpc_repo_rhel10_doca_version: "{{ stackhpc_pulp_repo_rhel10_doca_version }}" +stackhpc_repo_rhel9_doca_version: "{{ stackhpc_pulp_repo_rhel9_doca_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_26_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_26_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_27_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_27_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_version }}" +stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_server_version }}" +stackhpc_repo_rocky_10_appstream_version: "{{ stackhpc_pulp_repo_rocky_10_appstream_version }}" +stackhpc_repo_rocky_10_baseos_version: "{{ stackhpc_pulp_repo_rocky_10_baseos_version }}" +stackhpc_repo_rocky_10_crb_version: "{{ stackhpc_pulp_repo_rocky_10_crb_version }}" +stackhpc_repo_rocky_10_extras_version: "{{ stackhpc_pulp_repo_rocky_10_extras_version }}" +stackhpc_repo_rocky_10_highavailability_version: "{{ stackhpc_pulp_repo_rocky_10_highavailability_version }}" stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstream_version }}" -stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" +stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_pulp_repo_rocky_9_baseos_version }}" stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_crb_version }}" +stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_highavailability_version }}" stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_multiarch_rocky_9_sig_security_common_version }}" -stackhpc_repo_rhel9_doca_version: "{{ stackhpc_pulp_repo_rhel9_doca_version }}" - -stackhpc_repo_rocky_10_baseos_version: "{{ stackhpc_pulp_repo_rocky_10_baseos_version }}" -stackhpc_repo_rocky_10_appstream_version: "{{ stackhpc_pulp_repo_rocky_10_appstream_version }}" +stackhpc_repo_ubuntu_cloud_archive_version: "{{ stackhpc_pulp_repo_ubuntu_cloud_archive_version }}" +stackhpc_repo_ubuntu_noble_security_version: "{{ stackhpc_pulp_repo_ubuntu_noble_security_version }}" +stackhpc_repo_ubuntu_noble_version: "{{ stackhpc_pulp_repo_ubuntu_noble_version }}" # Rocky-and-CI-specific Pulp urls stackhpc_include_os_minor_version_in_repo_url: true diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index db4788c08..2468350bc 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -239,8 +239,91 @@ stackhpc_epel_9_repos: file: "epel.repo" tag: "epel" -base_centos_repo_overrides_post_yum_list: "{{ stackhpc_rocky_9_repos + stackhpc_epel_9_repos + stackhpc_rocky_9_additional_repos + stackhpc_rocky_9_third_party_repos }}" -stackhpc_yum_repos: "{{ stackhpc_rocky_9_repos }}" +# Repositories for Rocky Linux 10 +stackhpc_rocky_10_repos: + - url: "{{ stackhpc_repo_rocky_10_baseos_url }}" + file: "rocky.repo" + tag: "baseos" + - url: "{{ stackhpc_repo_rocky_10_appstream_url }}" + file: "rocky.repo" + tag: "appstream" + - url: "{{ stackhpc_repo_rocky_10_extras_url }}" + file: "rocky-extras.repo" + tag: "extras" + +# NOTE(owenjones): Whether to feed in the .repo file needed for previous LTS +# versions of OVN/OVS - for now always include this in Rocky 10, +# when we switch over to newer LTS versions this might need some more conditions +stackhpc_enable_ovn_lts_repo: "{{ kolla_base_distro_and_version == 'rocky-10' }}" + +# Additional repositories for Rocky Linux 10 +stackhpc_rocky_10_additional_repos: + - url: "{{ stackhpc_repo_centos_stream_10_nfv_openvswitch_url }}" + file: "CentOS-NFV-OpenvSwitch.repo" + tag: "centos-nfv-openvswitch" + - url: "{{ stackhpc_repo_centos_stream_10_openstack_epoxy_url }}" + file: "CentOS-OpenStack-epoxy.repo" + tag: "centos-openstack-epoxy" + - url: "{{ stackhpc_repo_rocky_10_crb_url }}" + file: "rocky.repo" + tag: "crb" + - url: "{{ stackhpc_repo_rocky_10_highavailability_url }}" + file: "rocky-addons.repo" + tag: "highavailability" + # NOTE(owenjones): Remove this when previous OVN/OVS LTS versions + # no longer required + - url: "{{ stackhpc_repo_centos_stream_10_ovn_lts_url }}" + file: "ovn-lts-centos-stream-10.repo" + tag: "StackHPC-OVN-LTS" + +# List of third-party repositories for Rocky Linux 10 +stackhpc_rocky_10_third_party_repos: + - url: "{{ stackhpc_repo_grafana_url }}" + file: "grafana.repo" + tag: "grafana" + - url: "{{ stackhpc_repo_rhel_9_treasuredata_5_url }}" + file: "td.repo" + tag: "treasuredata" + - url: "{{ stackhpc_repo_rhel_10_mariadb_10_11_url }}" + file: "mariadb.repo" + tag: "mariadb" + - url: "{{ stackhpc_repo_rhel_9_influxdb_url }}" + file: "influxdb.repo" + tag: "influxdb" + - url: "{{ stackhpc_repo_centos_stream_10_storage_ceph_squid_url }}" + file: "CentOS-Ceph-Squid.repo" + tag: "centos-ceph-squid" + - url: "{{ stackhpc_repo_rhel9_rabbitmq_erlang_url }}" + file: "rabbitmq_rabbitmq-erlang.repo" + tag: "rabbitmq_rabbitmq-erlang" + - url: "{{ stackhpc_repo_rhel9_rabbitmq_erlang_26_url }}" + file: "copr-rabbitmq-erlang-26.repo" + tag: "copr-rabbitmq-erlang-26" + - url: "{{ stackhpc_repo_rhel9_rabbitmq_erlang_27_url }}" + file: "copr-rabbitmq-erlang-27.repo" + tag: "copr-rabbitmq-erlang-27" + - url: "{{ stackhpc_repo_rhel9_rabbitmq_server_url }}" + file: "rabbitmq_rabbitmq-server.repo" + tag: "rabbitmq_rabbitmq-server" + - url: "{{ stackhpc_repo_opensearch_2_x_url }}" + file: "opensearch.repo" + tag: "opensearch-2.x" + - url: "{{ stackhpc_repo_opensearch_dashboards_2_x_url }}" + file: "opensearch.repo" + tag: "opensearch-dashboards-2.x" + - url: "{{ stackhpc_repo_almalinux_9_proxysql_2_7_url }}" + file: "proxysql.repo" + tag: "proxysql" + +# List of EPEL 10 +stackhpc_epel_10_repos: + - url: "{{ stackhpc_repo_epel_10_url }}" + file: "epel.repo" + tag: "epel" + +base_centos_repo_overrides_post_yum_list: "{{ stackhpc_rocky_9_repos + stackhpc_epel_9_repos + stackhpc_rocky_9_additional_repos + stackhpc_rocky_9_third_party_repos if kolla_base_distro_and_version == 'rocky-9' else stackhpc_rocky_10_repos + stackhpc_epel_10_repos + stackhpc_rocky_10_additional_repos + stackhpc_rocky_10_third_party_repos if kolla_base_distro_and_version == 'rocky-10' else [] }}" + +stackhpc_yum_repos: "{{ stackhpc_rocky_9_repos if kolla_base_distro_and_version == 'rocky-9' else stackhpc_rocky_10_repos if kolla_base_distro_and_version == 'rocky-10' else [] }}" # Apt sources.list entry prefix. # If using an authenticating Pulp proxy we need to trust the repository because @@ -301,6 +384,18 @@ kolla_build_blocks: tar -xzf /etc/yum.repos.d.backup/repos.tar.gz -C /etc/yum.repos.d && \ tar -czf /etc/yum.repos.d.backup/repos.tar.gz -C /etc/yum.repos.d . && \ {% endif %} + {% if stackhpc_enable_ovn_lts_repo | bool %} + echo -e "[StackHPC-OVN-LTS]\n\ + name=Copr repo for ovn-lts owned by @ovn-lts\n\ + baseurl=https://download.copr.fedorainfracloud.org/results/@ovn-lts/ovn-lts/centos-stream-\$releasever-\$basearch/\n\ + type=rpm-md\n\ + skip_if_unavailable=True\n\ + gpgcheck=1\n\ + gpgkey=https://download.copr.fedorainfracloud.org/results/@ovn-lts/ovn-lts/pubkey.gpg\n\ + repo_gpgcheck=0\n\ + enabled=1\n\ + enabled_metadata=1\n" > /etc/yum.repos.d/ovn-lts-centos-stream-10.repo && \ + {% endif %} {% for repo in base_centos_repo_overrides_post_yum_list %} if [ -f /etc/yum.repos.d/{{ repo.file }} ]; then \ sed -i -e '/\[{{ repo.tag }}\]/,/^\[/ s/^\(mirrorlist *=.*\)/#\1/g' \ @@ -315,7 +410,9 @@ kolla_build_blocks: # https://git.centos.org/rpms/rdo-openvswitch/blob/c9s-sig-cloud-openstack-epoxy/f/SPECS/rdo-openvswitch.spec#L10), # which would replace our NFV OVS and OVN 24.03 LTS with 24.09. Hence exclude RDO OVN/OVS. && \ - sed -i '/^\[centos-openstack-epoxy\]/a excludepkgs=*rdo-ovn*,*rdo-openvswitch*' /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo \ + if [ -f /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo ]; then \ + sed -i '/^\[centos-openstack-epoxy\]/a excludepkgs=*rdo-ovn*,*rdo-openvswitch*' /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo; \ + fi \ {% endif %} # With the UCA keyring installed we can now add all repos. base_ubuntu_package_sources_list: | @@ -338,6 +435,11 @@ kolla_build_blocks: tar -xzf /etc/yum.repos.d.backup/repos.tar.gz -C /etc/yum.repos.d && \ rm -rf /etc/yum.repos.d.backup/; \ fi && \ + {% if stackhpc_enable_ovn_lts_repo | bool %} + if [ -f /etc/yum.repos.d/ovn-lts-centos-stream-10.repo ]; then \ + rm /etc/yum.repos.d/ovn-lts-centos-stream-10.repo; \ + fi && \ + {% endif %} if grep -r '{{ stackhpc_repo_mirror_url }}' /etc/yum.repos.d; then \ echo "Found repository mirror in Yum repositories"; \ exit 1; \ @@ -379,66 +481,124 @@ kolla_build_customizations_common: - magnum-capi-helm==1.3.0 neutron_server_packages_append: - python3-libvirt - - python3-ethtool nova_compute_packages_append: - python3-libvirt - - python3-ethtool neutron_mlnx_agent_pip_packages_override: - networking-mlnx@git+https://opendev.org/x/networking-mlnx@master + kolla_build_customizations_rocky: - base_centos_yum_repo_packages_append: - - centos-release-ceph-squid - base_centos_yum_repo_packages_remove: - - centos-release-ceph-reef - base_centos_yum_repos_to_disable_remove: - - centos-ceph-reef - - epel - - centos9-nfv-ovs - - centos9-opstools - - centos9-rabbitmq - - centos9-storage - kolla_toolbox_packages_remove: - - openvswitch - kolla_toolbox_packages_append: - - openvswitch3.3 - manila_base_packages_remove: - - openvswitch - manila_base_packages_append: - - openvswitch3.3 - neutron_base_packages_remove: - - openvswitch - - python3-openvswitch - neutron_base_packages_append: - - openvswitch3.3 - - python3-openvswitch3.3 - nova_base_packages_remove: - - openvswitch - - python3-openvswitch - nova_base_packages_append: - - openvswitch3.3 - - python3-openvswitch3.3 - nova_libvirt_packages_remove: - - openvswitch - octavia_base_packages_remove: - - python3-openvswitch - openvswitch_base_packages_remove: - - openvswitch - - python3-openvswitch - openvswitch_base_packages_append: - - openvswitch3.3 - - python3-openvswitch3.3 - ovn_base_packages_override: - - ovn24.03 - ovn_controller_packages_override: - - ovn24.03-host - ovn_nb_db_server_packages_override: - - ovn24.03-central - ovn_northd_packages_override: - - ovn24.03-central - ovn_sb_db_server_packages_override: - - ovn24.03-central - -kolla_build_customizations_ubuntu: {} + rocky-9: + base_centos_yum_repo_packages_append: + - centos-release-ceph-squid + base_centos_yum_repo_packages_remove: + - centos-release-ceph-reef + base_centos_yum_repos_to_disable_remove: + - centos-ceph-reef + - epel + - centos9-nfv-ovs + - centos9-opstools + - centos9-rabbitmq + - centos9-storage + kolla_toolbox_packages_remove: + - openvswitch + kolla_toolbox_packages_append: + - openvswitch3.3 + manila_base_packages_remove: + - openvswitch + manila_base_packages_append: + - openvswitch3.3 + neutron_base_packages_remove: + - openvswitch + - python3-openvswitch + neutron_base_packages_append: + - openvswitch3.3 + - python3-openvswitch3.3 + neutron_server_packages_append: + - python3-ethtool + nova_base_packages_remove: + - openvswitch + - python3-openvswitch + nova_base_packages_append: + - openvswitch3.3 + - python3-openvswitch3.3 + nova_compute_packages_append: + - python3-ethtool + nova_libvirt_packages_remove: + - openvswitch + octavia_base_packages_remove: + - python3-openvswitch + openvswitch_base_packages_remove: + - openvswitch + - python3-openvswitch + openvswitch_base_packages_append: + - openvswitch3.3 + - python3-openvswitch3.3 + ovn_base_packages_override: + - ovn24.03 + ovn_controller_packages_override: + - ovn24.03-host + ovn_nb_db_server_packages_override: + - ovn24.03-central + ovn_northd_packages_override: + - ovn24.03-central + ovn_sb_db_server_packages_override: + - ovn24.03-central + rocky-10: + base_centos_yum_repos_to_disable_remove: + - epel + - centos-nfv-openvswitch + kolla_toolbox_packages_remove: + - openvswitch3.5 + kolla_toolbox_packages_append: + - openvswitch + manila_base_packages_remove: + - openvswitch3.5 + manila_base_packages_append: + - openvswitch + neutron_base_packages_remove: + - openvswitch3.5 + - python3-openvswitch3.5 + neutron_base_packages_append: + - openvswitch + - python3-openvswitch + nova_base_packages_remove: + - openvswitch3.5 + - python3-openvswitch3.5 + nova_base_packages_append: + - openvswitch + - python3-openvswitch + nova_libvirt_packages_remove: + - openvswitch3.5 + nova_libvirt_packages_append: + - openvswitch + octavia_base_packages_remove: + - openvswitch3.5 + - python3-openvswitch3.5 + octavia_base_packages_append: + - openvswitch + - python3-openvswitch + openvswitch_base_packages_remove: + - openvswitch3.5 + - python3-openvswitch3.5 + openvswitch_base_packages_append: + - openvswitch + - python3-openvswitch + ovn_base_packages_override: + - ovn24.03 + ovn_controller_packages_override: + - ovn24.03-host + ovn_nb_db_server_packages_override: + - ovn24.03-central + ovn_northd_packages_override: + - ovn24.03-central + ovn_sb_db_server_packages_override: + - ovn24.03-central + +kolla_build_customizations_ubuntu: + neutron_server_packages_append: + - python3-ethtool + nova_compute_packages_append: + - python3-ethtool # Dict mapping image customization variable names to their values. # Each variable takes the form: @@ -446,7 +606,7 @@ kolla_build_customizations_ubuntu: {} # Hyphens in the image name must be replaced with underscores. The # customization is most commonly packages. The operation should be one of # override, append or remove. The value should be a list. -kolla_build_customizations: "{{ kolla_build_customizations_common | combine(kolla_build_customizations_rocky if kolla_base_distro == 'rocky' else kolla_build_customizations_ubuntu) }}" +kolla_build_customizations: "{{ kolla_build_customizations_common | combine(kolla_build_customizations_rocky[kolla_base_distro_and_version] | default({}) if kolla_base_distro == 'rocky' else kolla_build_customizations_ubuntu) }}" # Dict mapping Kolla Dockerfile ARG names to their values. kolla_build_args: {} diff --git a/etc/kayobe/kolla/kolla-build.conf b/etc/kayobe/kolla/kolla-build.conf index 307c22f7a..05aaf45c8 100644 --- a/etc/kayobe/kolla/kolla-build.conf +++ b/etc/kayobe/kolla/kolla-build.conf @@ -7,7 +7,11 @@ base_tag = noble-20241118.1 apt_preferences = {{ lookup('env', 'KAYOBE_CONFIG_PATH') }}/environments/ci-builder/builder-apt-preferences {# Similarly pinning to Rocky 9 minor version used in our repos #} {% elif kolla_base_distro == 'rocky' %} +{% if kolla_base_distro_version == '9' %} base_tag = 9.{{ stackhpc_pulp_repo_rocky_9_minor_version }} +{% elif kolla_base_distro_version == '10' %} +base_tag = 10.{{ stackhpc_pulp_repo_rocky_10_minor_version }} +{% endif %} # NOTE(Alex-Welsh): rpm_setup_config is intentionally left blank to override defaults rpm_setup_config = {% endif %} diff --git a/etc/kayobe/pulp-repo-versions.yml b/etc/kayobe/pulp-repo-versions.yml index 81b58ef31..4d6ea060c 100644 --- a/etc/kayobe/pulp-repo-versions.yml +++ b/etc/kayobe/pulp-repo-versions.yml @@ -8,6 +8,8 @@ stackhpc_pulp_repo_centos_stream_10_nfv_openvswitch_aarch64_version: 20260320T22 stackhpc_pulp_repo_centos_stream_10_nfv_openvswitch_version: 20260324T212957 stackhpc_pulp_repo_centos_stream_10_openstack_epoxy_aarch64_version: 20260227T222400 stackhpc_pulp_repo_centos_stream_10_openstack_epoxy_version: 20260227T214730 +stackhpc_pulp_repo_centos_stream_10_ovn_lts_aarch64_version: 20260327T163952 +stackhpc_pulp_repo_centos_stream_10_ovn_lts_version: 20260327T163952 stackhpc_pulp_repo_centos_stream_10_storage_ceph_squid_aarch64_version: 20260220T152827 stackhpc_pulp_repo_centos_stream_10_storage_ceph_squid_version: 20260220T152827 stackhpc_pulp_repo_centos_stream_9_docker_aarch64_version: 20260402T214631 diff --git a/etc/kayobe/pulp.yml b/etc/kayobe/pulp.yml index d1d6f9891..bb6998897 100644 --- a/etc/kayobe/pulp.yml +++ b/etc/kayobe/pulp.yml @@ -251,6 +251,7 @@ stackhpc_pulp_repo_rocky_10_highavailability_version: "{{ lookup('vars', 'stackh # Rocky 10 Multiarch repositories stackhpc_pulp_repo_multiarch_centos_stream_10_nfv_openvswitch_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_10_nfv_openvswitch' ~ arch_suffix ~ '_version') }}" stackhpc_pulp_repo_multiarch_centos_stream_10_openstack_epoxy_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_10_openstack_epoxy' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_centos_stream_10_ovn_lts_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_10_ovn_lts' ~ arch_suffix ~ '_version') }}" stackhpc_pulp_repo_multiarch_centos_stream_10_storage_ceph_squid_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_10_storage_ceph_squid' ~ arch_suffix ~ '_version') }}" stackhpc_pulp_repo_multiarch_centos_stream_10_docker_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_10_docker' ~ arch_suffix ~ '_version') }}" stackhpc_pulp_repo_multiarch_rhel_10_mariadb_10_11_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rhel_10_mariadb_10_11' ~ arch_suffix ~ '_version') }}" @@ -475,6 +476,13 @@ stackhpc_pulp_rpm_repos: base_path: "centos/10-stream/storage/x86_64/ceph-squid/" required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_10 | bool }}" + # NOTE(owenjones): only needed for previous LTS versions of OVN/OVS in Rocky 10 + - name: CentOS Stream 10 - OVN/OVS LTS for Epoxy + url: "{{ stackhpc_release_pulp_content_url }}/centos/10-stream/ovn/x86_64/ovn-lts/{{ stackhpc_pulp_repo_centos_stream_10_ovn_lts_version }}" + distribution_name: "centos-stream-10-ovn-lts-" + base_path: "centos/10-stream/ovn/x86_64/ovn-lts/" + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_10 | bool }}" + # EPEL 10 repository - name: Extra Packages for Enterprise Linux 10 - x86_64 url: "{{ stackhpc_release_pulp_content_url }}/epel/10/Everything/x86_64/{{ stackhpc_pulp_repo_epel_10_version }}" @@ -682,12 +690,20 @@ stackhpc_pulp_images_kolla: - rabbitmq-4-1 - redis - redis-sentinel + - valkey-server + - valkey-sentinel # List of images for each base distribution which should not/cannot be built. stackhpc_kolla_unbuildable_images: - ubuntu-noble: [] - rocky-9: [] - rocky-10: [] + ubuntu-noble: + - valkey-server + - valkey-sentinel + rocky-9: + - valkey-server + - valkey-sentinel + rocky-10: + - redis + - redis-sentinel # Whitespace-separated list of regular expressions matching Kolla image names. # Usage is similar to kolla-build CLI arguments. diff --git a/etc/kayobe/stackhpc.yml b/etc/kayobe/stackhpc.yml index 8b664c03a..dd62ba5b4 100644 --- a/etc/kayobe/stackhpc.yml +++ b/etc/kayobe/stackhpc.yml @@ -181,6 +181,10 @@ stackhpc_repo_centos_stream_10_nfv_openvswitch_version: "{{ stackhpc_repo_distri stackhpc_repo_centos_stream_10_openstack_epoxy_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/10-stream/cloud/{{ kolla_base_arch }}/openstack-epoxy/{{ stackhpc_repo_centos_stream_10_openstack_epoxy_version }}" stackhpc_repo_centos_stream_10_openstack_epoxy_version: "{{ stackhpc_repo_distribution }}" +# CentOS Stream 10 - OVN/OVS LTS for Epoxy +stackhpc_repo_centos_stream_10_ovn_lts_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/10-stream/ovn/{{ kolla_base_arch }}/ovn-lts/{{ stackhpc_repo_centos_stream_10_ovn_lts_version }}" +stackhpc_repo_centos_stream_10_ovn_lts_version: "{{ stackhpc_repo_distribution }}" + # CentOS Stream 10 - Ceph Squid stackhpc_repo_centos_stream_10_storage_ceph_squid_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/10-stream/storage/{{ kolla_base_arch }}/ceph-squid/{{ stackhpc_repo_centos_stream_10_storage_ceph_squid_version }}" stackhpc_repo_centos_stream_10_storage_ceph_squid_version: "{{ stackhpc_repo_distribution }}" diff --git a/releasenotes/notes/rocky-10-container-builds-beafff177cbba3f6.yaml b/releasenotes/notes/rocky-10-container-builds-beafff177cbba3f6.yaml new file mode 100644 index 000000000..5a0701cd0 --- /dev/null +++ b/releasenotes/notes/rocky-10-container-builds-beafff177cbba3f6.yaml @@ -0,0 +1,4 @@ +--- +upgrade: + - | + Container images for Epoxy can now be built on Rocky 10