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>
This commit is contained in:
Michal Nasiadka
2025-08-05 14:24:11 +02:00
parent 8b121529cb
commit d4b777bb06
13 changed files with 112 additions and 66 deletions

View File

@@ -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
1 Distro Ceph
2 Source Release
3 Rocky Linux CentOS Storage SIG Reef Squid
4 Ubuntu Ubuntu Squid
5 Debian Debian Pacific

View File

@@ -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

View File

@@ -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
================== =============================== ================

View File

@@ -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',

View File

@@ -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

View File

@@ -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'

View File

@@ -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
},

View File

@@ -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"

View File

@@ -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``.

View File

@@ -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 %}

View File

@@ -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:

View File

@@ -7,6 +7,7 @@
- check-requirements
- kolla-build-centos
- kolla-build-debian
- kolla-build-rocky
- kolla-build-ubuntu
- kolla-periodic-copr
- kolla-scenario-aio

61
zuul.d/rocky.yaml Normal file
View File

@@ -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