From d4b777bb060517dbb0b648d5d7d5c07336969866 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Tue, 5 Aug 2025 14:24:11 +0200 Subject: Move to Rocky Linux 10 Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/961237 Change-Id: Idd809f5efd2d308c1565d7635e67af0a431d18f7 Signed-off-by: Michal Nasiadka --- doc/source/ceph_versions.csv | 2 +- doc/source/contributor/versions.rst | 2 +- doc/source/support_matrix.rst | 2 +- docker/base/Dockerfile.j2 | 6 +++ docker/base/ci-rocky.repo | 35 ------------- kolla/common/config.py | 4 +- kolla/image/unbuildable.py | 4 +- kolla/template/repos.yaml | 6 ++- releasenotes/notes/rocky-10-4111fa0160be14ab.yaml | 12 +++++ tests/templates/template_overrides.j2 | 19 +------ zuul.d/nodesets.yaml | 24 ++++++--- zuul.d/project.yaml | 1 + zuul.d/rocky.yaml | 61 +++++++++++++++++++++++ 13 files changed, 112 insertions(+), 66 deletions(-) delete mode 100644 docker/base/ci-rocky.repo create mode 100644 releasenotes/notes/rocky-10-4111fa0160be14ab.yaml create mode 100644 zuul.d/rocky.yaml diff --git a/doc/source/ceph_versions.csv b/doc/source/ceph_versions.csv index 7ca7b4c7e..36c9cc80c 100644 --- a/doc/source/ceph_versions.csv +++ b/doc/source/ceph_versions.csv @@ -1,5 +1,5 @@ Distro,Ceph, ,Source, Release -Rocky Linux,CentOS Storage SIG,Reef +Rocky Linux,CentOS Storage SIG,Squid Ubuntu,Ubuntu,Squid Debian,Debian,Pacific diff --git a/doc/source/contributor/versions.rst b/doc/source/contributor/versions.rst index 8463b84ef..dfe3cdc33 100644 --- a/doc/source/contributor/versions.rst +++ b/doc/source/contributor/versions.rst @@ -10,7 +10,7 @@ For each component used we list version used at branch release and provide information about package sources. .. note:: - When table mentions 'CentOS' it means both CentOS Stream 9 and Rocky Linux 9. + When table mentions 'CentOS' it means both CentOS Stream 10 and Rocky Linux 10. ============== ================ ============================================= Name Version Package source information diff --git a/doc/source/support_matrix.rst b/doc/source/support_matrix.rst index 05f2d5693..48338af6f 100644 --- a/doc/source/support_matrix.rst +++ b/doc/source/support_matrix.rst @@ -17,7 +17,7 @@ The following base container images are supported: ================== =============================== ================ Distribution Default base Default base tag ================== =============================== ================ -Rocky Linux quay.io/rockylinux/rockylinux 9 +Rocky Linux quay.io/rockylinux/rockylinux 10 Debian Bookworm debian bookworm Ubuntu Noble ubuntu 24.04 ================== =============================== ================ diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 0191de53a..e0d95ff99 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -164,6 +164,11 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen {% block base_centos_repo_overrides_post_yum %}{% endblock -%} && {{ macros.rpm_security_update(clean_package_cache) }} +{# NOTE(mnasiadka): dumb-init is only in EPEL10.1 onwards and RHEL/Rocky/clones use the same #} +{# EPEL release as the installed distro release #} +{# TODO: Remove it when Rocky 10.1 is out #} +RUN dnf config-manager --save --setopt=*.metalink="https://mirrors.fedoraproject.org/metalink?repo=epel-z-10.1&arch=\$basearch" epel + #### END REPO ENABLEMENT {# We are back to the basic if conditional here which is: @@ -183,6 +188,7 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen 'lsof', 'lvm2', 'ncurses', + 'openssl', 'procps-ng', 'python3', 'python3-pip', diff --git a/docker/base/ci-rocky.repo b/docker/base/ci-rocky.repo deleted file mode 100644 index 3daf5c5ba..000000000 --- a/docker/base/ci-rocky.repo +++ /dev/null @@ -1,35 +0,0 @@ -[centos-ceph-reef] -name=(OpenDev mirror) CentOS-$stream - Ceph Reef -baseurl=http://MIRROR/centos-stream/SIGs/$stream/storage/$basearch/ceph-reef/ -gpgcheck=1 -enabled=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage - -[centos-nfv-openvswitch] -name=(OpenDev mirror) CentOS Stream $releasever - NFV OpenvSwitch -baseurl=http://MIRROR/centos-stream/SIGs/$stream/nfv/$basearch/openvswitch-2/ -gpgcheck=1 -enabled=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV -module_hotfixes=1 - -[centos-opstools] -name=(OpenDev mirror) CentOS Stream $releasever - OpsTools - collectd -baseurl=http://MIRROR/centos-stream/SIGs/$stream/opstools/$basearch/collectd-5/ -gpgcheck=1 -enabled=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-OpsTools - -[centos-rabbitmq-38] -name=(OpenDev mirror) CentOS-9 - RabbitMQ 38 -baseurl=http://MIRROR/centos-stream/SIGs/$stream/messaging/$basearch/rabbitmq-38 -gpgcheck=1 -enabled=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Messaging - -[epel] -name=(OpenDev mirror) Extra Packages for Enterprise Linux $releasever - $basearch -baseurl=http://MIRROR/epel/$releasever/Everything/$basearch/ -enabled=0 -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever diff --git a/kolla/common/config.py b/kolla/common/config.py index d2984d7ec..83b0cb922 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -27,14 +27,14 @@ DEBIAN_ARCH = ['amd64', 'arm64'] DEFAULT_BASE_TAGS = { 'centos': {'name': 'quay.io/centos/centos', 'tag': 'stream10'}, 'debian': {'name': 'debian', 'tag': 'bookworm'}, - 'rocky': {'name': 'quay.io/rockylinux/rockylinux', 'tag': '9'}, + 'rocky': {'name': 'quay.io/rockylinux/rockylinux', 'tag': '10'}, 'ubuntu': {'name': 'ubuntu', 'tag': '24.04'}, } # NOTE(hrw): has to match PRETTY_NAME in /etc/os-release DISTRO_PRETTY_NAME = { 'centos': 'CentOS Stream 10', 'debian': 'Debian GNU/Linux 12 (bookworm)', - 'rocky': 'Rocky Linux 9.* (Blue Onyx)', + 'rocky': 'Rocky Linux 10.* (Red Quartz)', 'ubuntu': 'Ubuntu 24.04.* LTS', } OPENSTACK_RELEASE = '2025.2' diff --git a/kolla/image/unbuildable.py b/kolla/image/unbuildable.py index c426b3eab..997b4b86b 100644 --- a/kolla/image/unbuildable.py +++ b/kolla/image/unbuildable.py @@ -27,8 +27,8 @@ UNBUILDABLE_IMAGES = { "nova-spicehtml5proxy", # Missing spicehtml5 package "ovsdpdk", # Not supported on CentOS "redis-base", # Missing in CS10 - "tgtd", # Not supported on CentOS "telegraf", # CS10 no opstools repo + "tgtd", # Not supported on CentOS }, 'debian': { @@ -41,6 +41,8 @@ UNBUILDABLE_IMAGES = { "hacluster-pcs", # Missing crmsh package "nova-spicehtml5proxy", # Missing spicehtml5 package "ovsdpdk", # Not supported on CentOS + "redis-base", # Missing in Rocky10 + "telegraf", # CS10 no opstools repo "tgtd", # Not supported on CentOS }, diff --git a/kolla/template/repos.yaml b/kolla/template/repos.yaml index a72e734ce..f45ecb3aa 100644 --- a/kolla/template/repos.yaml +++ b/kolla/template/repos.yaml @@ -150,7 +150,7 @@ debian-aarch64: gpg_key: "rabbitmq.gpg" rocky: - ceph: "centos-ceph-reef" + ceph: "centos-ceph-squid" crb: "crb" docker-ce: "docker-ce" epel: "epel" @@ -160,6 +160,7 @@ rocky: grafana: "grafana" hacluster: "highavailability" influxdb: "influxdb" + kolla_el10: "kolla_el10" mariadb: "mariadb" opensearch: "opensearch-3.x" opensearch-dashboards: "opensearch-dashboards-3.x" @@ -169,7 +170,7 @@ rocky: rabbitmq: "rabbitmq_rabbitmq-server" rocky-aarch64: - ceph: "centos-ceph-reef" + ceph: "centos-ceph-squid" crb: "crb" docker-ce: "docker-ce" epel: "epel" @@ -178,6 +179,7 @@ rocky-aarch64: fluentd: "fluent-package-lts" grafana: "grafana" influxdb: "influxdb" + kolla_el10: "kolla_el10" hacluster: "highavailability" mariadb: "mariadb" opensearch: "opensearch-3.x" diff --git a/releasenotes/notes/rocky-10-4111fa0160be14ab.yaml b/releasenotes/notes/rocky-10-4111fa0160be14ab.yaml new file mode 100644 index 000000000..2fccba796 --- /dev/null +++ b/releasenotes/notes/rocky-10-4111fa0160be14ab.yaml @@ -0,0 +1,12 @@ +--- +features: + - | + Adds support for Rocky 10 as a base container image. This is the only major + version of Rocky supported from the 2025.2 release. +upgrade: + - | + Rocky 9 is no longer supported as a base container image. Rocky users + should migrate to Rocky 10. + - | + The following images were supported by Rocky 9 but lack suitable packages + in Rocky, and are no longer supported for Rocky: ``telegraf``. diff --git a/tests/templates/template_overrides.j2 b/tests/templates/template_overrides.j2 index 8dfc6a9ff..003e8005b 100644 --- a/tests/templates/template_overrides.j2 +++ b/tests/templates/template_overrides.j2 @@ -19,29 +19,14 @@ RUN echo registry={{ nodepool_npmjs_proxy }} > /etc/npmrc \ {% endraw %} {% if base_distro == 'rocky' %} -{# -NOTE(hrw): Rocky is not mirrored but it uses CentOS repos which are - #} {% raw %} {% block base_centos_repo_overrides_post_copy %} {% endraw %} - -COPY ci-rocky.repo /etc/yum.repos.d/ -RUN cd /etc/yum.repos.d/ && mkdir not-for-ci/ \ - && sed -i -e "s/MIRROR/{{ nodepool_mirror_host }}/g" /etc/yum.repos.d/ci-rocky.repo - +RUN sed -i -e "s/^mirrorlist/#mirrorlist/g" -e "s/^#baseurl/baseurl/g" \ + /etc/yum.repos.d/rocky.repo {% raw %} {% endblock %} {% endraw %} - -{% raw %} - -{% block base_centos_repo_overrides_post_yum -%} -{%- endraw -%} - && cd /etc/yum.repos.d/ && mv CentOS*.repo epel*.repo not-for-ci/ -{%- raw -%} -{% endblock %} -{% endraw %} {% endif %} {% raw %} diff --git a/zuul.d/nodesets.yaml b/zuul.d/nodesets.yaml index 89c346ba9..bdb9fc8c8 100644 --- a/zuul.d/nodesets.yaml +++ b/zuul.d/nodesets.yaml @@ -11,12 +11,6 @@ - name: primary label: centos-10-stream-arm64-8GB -- nodeset: - name: kolla-ubuntu-noble-8GB - nodes: - - name: primary - label: ubuntu-noble-8GB - - nodeset: name: kolla-debian-bookworm-8GB nodes: @@ -29,6 +23,24 @@ - name: primary label: debian-bookworm-arm64-8GB +- nodeset: + name: kolla-rocky-10-8GB + nodes: + - name: primary + label: rockylinux-10-8GB + +- nodeset: + name: kolla-rocky-10-aarch64-8GB + nodes: + - name: primary + label: rockylinux-10-arm64-8GB + +- nodeset: + name: kolla-ubuntu-noble-8GB + nodes: + - name: primary + label: ubuntu-noble-8GB + - nodeset: name: kolla-ubuntu-noble-aarch64-8GB nodes: diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index b90e6f393..f8652aaf7 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -7,6 +7,7 @@ - check-requirements - kolla-build-centos - kolla-build-debian + - kolla-build-rocky - kolla-build-ubuntu - kolla-periodic-copr - kolla-scenario-aio diff --git a/zuul.d/rocky.yaml b/zuul.d/rocky.yaml new file mode 100644 index 000000000..13ed8f543 --- /dev/null +++ b/zuul.d/rocky.yaml @@ -0,0 +1,61 @@ +--- +- job: + name: kolla-build-rocky-10 + parent: kolla-base + nodeset: kolla-rocky-10-8GB + vars: + base_distro: rocky + +- job: + name: kolla-build-rocky-10-podman + parent: kolla-base-podman + nodeset: kolla-rocky-10-8GB + vars: + base_distro: rocky + +- job: + name: kolla-build-rocky-10-aarch64 + parent: kolla-build-rocky-10 + nodeset: kolla-rocky-10-aarch64-8GB + vars: + base_arch: aarch64 + voting: false + +- job: + name: kolla-build-no-infra-wheels-rocky-10 + parent: kolla-build-no-infra-wheels-base + nodeset: kolla-rocky-10-8GB + vars: + base_distro: rocky + +- job: + name: kolla-publish-rocky-10-quay + parent: kolla-build-rocky-10 + post-run: tests/playbooks/publish.yml + vars: + publisher: true + kolla_registry: quay.io + kolla_namespace: openstack.kolla + secrets: + - kolla_quay_io_creds + - kolla_quay_io_api + +- project-template: + name: kolla-build-rocky + description: | + Runs Kolla Rocky Linux build jobs. + check: + jobs: + - kolla-build-rocky-10 + check-arm64: + jobs: + - kolla-build-rocky-10-aarch64 + experimental: + jobs: + - kolla-build-no-infra-wheels-rocky-10 + gate: + jobs: + - kolla-build-rocky-10 + periodic: + jobs: + - kolla-publish-rocky-10-quay -- cgit v1.2.3