aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2025-08-05 14:24:11 +0200
committerMichal Nasiadka <mnasiadka@gmail.com>2025-10-01 12:39:22 +0000
commitd4b777bb060517dbb0b648d5d7d5c07336969866 (patch)
tree1e5c4965b515d2f992cafa174e03ea30efa99f0d
parent8b121529cbcfeb20f75114873b0d2b46ffde1e68 (diff)
downloadkolla-d4b777bb060517dbb0b648d5d7d5c07336969866.tar.gz
kolla-d4b777bb060517dbb0b648d5d7d5c07336969866.zip
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 <mnasiadka@gmail.com>
-rw-r--r--doc/source/ceph_versions.csv2
-rw-r--r--doc/source/contributor/versions.rst2
-rw-r--r--doc/source/support_matrix.rst2
-rw-r--r--docker/base/Dockerfile.j26
-rw-r--r--docker/base/ci-rocky.repo35
-rw-r--r--kolla/common/config.py4
-rw-r--r--kolla/image/unbuildable.py4
-rw-r--r--kolla/template/repos.yaml6
-rw-r--r--releasenotes/notes/rocky-10-4111fa0160be14ab.yaml12
-rw-r--r--tests/templates/template_overrides.j219
-rw-r--r--zuul.d/nodesets.yaml24
-rw-r--r--zuul.d/project.yaml1
-rw-r--r--zuul.d/rocky.yaml61
13 files changed, 112 insertions, 66 deletions
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
@@ -12,12 +12,6 @@
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:
- name: primary
@@ -30,6 +24,24 @@
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:
- name: primary
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