aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2025-05-20 09:21:59 +0000
committerMichal Nasiadka <mnasiadka@gmail.com>2025-07-16 14:05:50 +0000
commit9e36b8976657e5aaf285f4ab9f65603ab475fd89 (patch)
tree7d7f24ee6412f50116a9684bd09e0bbba7ba867e /docker
parenta90a8893c8df1eed8d8409c70bd8177392290554 (diff)
downloadkolla-9e36b8976657e5aaf285f4ab9f65603ab475fd89.tar.gz
kolla-9e36b8976657e5aaf285f4ab9f65603ab475fd89.zip
Move to CentOS Stream 10
Known missing packages: - mod_auth_mellon - missing SAML support in Keystone/Horizon - built in Kolla COPR - glusterfs-fuse in manila-share - built in Kolla COPR - collectd/telegraf - no opstools repository - redis - needs a switch to valkey - python3-ethtool - not required for neutron-mlnx-agent since 6 years [1] Building packages in Kolla COPR is a temporary solution until these show up in EPEL10. [1]: Id2cae3ac9ff049e9fc8225551f99e1e99a87fc65 Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/951751 Change-Id: I7074fabcf95184fcfd2561648ae1e05acfb0bc11 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
Diffstat (limited to 'docker')
-rw-r--r--docker/base/Dockerfile.j214
-rw-r--r--docker/base/ci-centos.repo10
-rw-r--r--docker/base/influxdb.repo3
-rw-r--r--docker/base/kolla_el10.repo10
-rw-r--r--docker/base/proxysql.repo3
-rw-r--r--docker/base/td.repo3
-rw-r--r--docker/ironic/ironic-conductor/Dockerfile.j22
-rw-r--r--docker/keystone/keystone-base/Dockerfile.j23
-rw-r--r--docker/keystone/keystone-ssh/extend_start.sh3
-rw-r--r--docker/kolla-toolbox/Dockerfile.j26
-rw-r--r--docker/manila/manila-share/Dockerfile.j24
-rw-r--r--docker/mariadb/mariadb-base/Dockerfile.j24
-rw-r--r--docker/mariadb/mariadb-server/Dockerfile.j25
-rw-r--r--docker/neutron/neutron-mlnx-agent/Dockerfile.j21
-rw-r--r--docker/nova/nova-compute-ironic/Dockerfile.j22
-rw-r--r--docker/nova/nova-libvirt/Dockerfile.j22
-rw-r--r--docker/nova/nova-ssh/extend_start.sh2
-rw-r--r--docker/openstack-base/Dockerfile.j22
18 files changed, 47 insertions, 32 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index b3181558c..638aa8a68 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -55,6 +55,7 @@ COPY dnf.conf /etc/dnf/dnf.conf
'docker-ce.repo',
'grafana.repo',
'influxdb.repo',
+ 'kolla_el10.repo',
'mariadb.repo',
'opensearch.repo',
'proxysql.repo',
@@ -129,9 +130,8 @@ RUN rm -f /etc/rpm/macros.image-language-conf \
] %}
{% set base_centos_yum_repo_packages = [
- 'centos-release-ceph-reef',
+ 'centos-release-ceph-squid',
'centos-release-nfv-openvswitch',
- 'centos-release-opstools',
'epel-release',
] %}
@@ -146,13 +146,11 @@ RUN rm -f /etc/rpm/macros.image-language-conf \
# from delorean or rdo-release-* package
# https://review.rdoproject.org/r/c/rdo-infra/ansible-role-dlrn/+/33241
{% set base_centos_yum_repos_to_disable = [
- 'centos-ceph-reef',
+ 'centos-ceph-squid',
'centos-nfv-openvswitch',
- 'centos-opstools',
- 'centos9-nfv-ovs',
- 'centos9-opstools',
- 'centos9-rabbitmq',
- 'centos9-storage',
+ 'centos10-nfv-ovs',
+ 'centos10-rabbitmq',
+ 'centos10-storage',
'epel',
'influxdb',
'opensearch-3.x',
diff --git a/docker/base/ci-centos.repo b/docker/base/ci-centos.repo
index a8decf252..4c08f1fea 100644
--- a/docker/base/ci-centos.repo
+++ b/docker/base/ci-centos.repo
@@ -1,6 +1,6 @@
[baseos]
name=(OpenDev mirror) CentOS Stream $releasever - BaseOS
-baseurl=http://MIRROR/centos-stream/9-stream/BaseOS/$basearch/os/
+baseurl=http://MIRROR/centos-stream/$stream/BaseOS/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
@@ -8,7 +8,7 @@ enabled=1
[appstream]
name=(OpenDev mirror) CentOS Stream $releasever - AppStream
-baseurl=http://MIRROR/centos-stream/9-stream/AppStream/$basearch/os/
+baseurl=http://MIRROR/centos-stream/$stream/AppStream/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
@@ -16,7 +16,7 @@ enabled=1
[extras-common]
name=(OpenDev mirror) CentOS Stream $releasever - Extras packages
-baseurl=http://MIRROR/centos-stream/SIGs/9-stream/extras/$basearch/extras-common/
+baseurl=http://MIRROR/centos-stream/SIGs/$stream/extras/$basearch/extras-common/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512
gpgcheck=1
repo_gpgcheck=0
@@ -24,7 +24,7 @@ enabled=1
[crb]
name=(OpenDev mirror) CentOS Stream $releasever - CRB
-baseurl=http://MIRROR/centos-stream/9-stream/CRB/$basearch/os/
+baseurl=http://MIRROR/centos-stream/$stream/CRB/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
@@ -32,7 +32,7 @@ enabled=0
[highavailability]
name=(OpenDev mirror) CentOS Stream $releasever - HighAvailability
-baseurl=http://MIRROR/centos-stream/9-stream/HighAvailability/$basearch/os/
+baseurl=http://MIRROR/centos-stream/$stream/HighAvailability/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
diff --git a/docker/base/influxdb.repo b/docker/base/influxdb.repo
index b060ab85c..ece571b2b 100644
--- a/docker/base/influxdb.repo
+++ b/docker/base/influxdb.repo
@@ -1,6 +1,7 @@
[influxdb]
name = InfluxDB Repository - RHEL $releasever
-baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
+# NOTE(mnasiadka): Use EL9 for now, 10 is not available yet
+baseurl = https://repos.influxdata.com/rhel/9/$basearch/stable
enabled = 0
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
diff --git a/docker/base/kolla_el10.repo b/docker/base/kolla_el10.repo
new file mode 100644
index 000000000..b1ffee675
--- /dev/null
+++ b/docker/base/kolla_el10.repo
@@ -0,0 +1,10 @@
+[kolla_el10]
+name=Copr repo for el10-missing owned by @openstack-kolla
+baseurl=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/
+type=rpm-md
+skip_if_unavailable=True
+gpgcheck=1
+gpgkey=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg
+repo_gpgcheck=0
+enabled=0
+enabled_metadata=1
diff --git a/docker/base/proxysql.repo b/docker/base/proxysql.repo
index 3c09fa7ff..1bd2c55c3 100644
--- a/docker/base/proxysql.repo
+++ b/docker/base/proxysql.repo
@@ -1,6 +1,7 @@
[proxysql]
name = ProxySQL
-baseurl = https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/$releasever
+# NOTE(mnasiadka): No EL10 packages yet
+baseurl = https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9
gpgkey = https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key
gpgcheck = 1
enabled = 0
diff --git a/docker/base/td.repo b/docker/base/td.repo
index e06b62991..8212817fa 100644
--- a/docker/base/td.repo
+++ b/docker/base/td.repo
@@ -1,6 +1,7 @@
[fluent-package-lts]
name=Fluentd Project
-baseurl=https://packages.treasuredata.com/lts/5/redhat/$releasever/$basearch
+# NOTE(mnasiadka): Use EL9 packages for now - 10 are not available yet
+baseurl=https://packages.treasuredata.com/lts/5/redhat/9/$basearch
gpgcheck=1
gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent
enabled=0
diff --git a/docker/ironic/ironic-conductor/Dockerfile.j2 b/docker/ironic/ironic-conductor/Dockerfile.j2
index d89dca66d..874a0b81f 100644
--- a/docker/ironic/ironic-conductor/Dockerfile.j2
+++ b/docker/ironic/ironic-conductor/Dockerfile.j2
@@ -13,7 +13,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'e2fsprogs',
'fuse',
'gdisk',
- 'genisoimage',
'ipmitool',
'mtools',
'openssh-clients',
@@ -24,6 +23,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'systemd-udev',
'util-linux',
'xfsprogs',
+ 'xorriso'
] %}
{% if base_arch in ['x86_64'] %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
diff --git a/docker/keystone/keystone-base/Dockerfile.j2 b/docker/keystone/keystone-base/Dockerfile.j2
index 7764accbd..8996a8e75 100644
--- a/docker/keystone/keystone-base/Dockerfile.j2
+++ b/docker/keystone/keystone-base/Dockerfile.j2
@@ -7,6 +7,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
+{# NOTE(mnasiadka): mod_auth_mellon missing in CentOS 10 Stream - temporarily from Kolla COPR #}
+{{ macros.enable_extra_repos(['epel', 'kolla_el10']) }}
+
{{ macros.configure_user(name='keystone') }}
{% if base_package_type == 'rpm' %}
diff --git a/docker/keystone/keystone-ssh/extend_start.sh b/docker/keystone/keystone-ssh/extend_start.sh
index dc8f04b49..559cd65a9 100644
--- a/docker/keystone/keystone-ssh/extend_start.sh
+++ b/docker/keystone/keystone-ssh/extend_start.sh
@@ -1,6 +1,7 @@
#!/bin/bash
-SSH_HOST_KEY_TYPES=( "rsa" "dsa" "ecdsa" "ed25519" )
+# NOTE(mnasiadka): CentOS 10 does not support dsa
+SSH_HOST_KEY_TYPES=( "rsa" "ecdsa" "ed25519" )
for key_type in ${SSH_HOST_KEY_TYPES[@]}; do
KEY_PATH=/etc/ssh/ssh_host_${key_type}_key
diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2
index cc8ae1b55..042d98f16 100644
--- a/docker/kolla-toolbox/Dockerfile.j2
+++ b/docker/kolla-toolbox/Dockerfile.j2
@@ -23,7 +23,6 @@ COPY apt_preferences_rabbitmq.{{ base_distro }} /etc/apt/preferences.d/rabbitmq
{% if base_package_type == 'rpm' %}
{% set kolla_toolbox_packages = [
- 'crudini',
'erlang-27.*',
'gcc',
'gdisk',
@@ -36,8 +35,8 @@ COPY apt_preferences_rabbitmq.{{ base_distro }} /etc/apt/preferences.d/rabbitmq
'openssh-clients',
'openssl-devel',
'openvswitch',
- 'python3.12',
- 'python3.12-devel',
+ 'python3',
+ 'python3-devel',
'rabbitmq-server-4.1.*'
] %}
@@ -45,7 +44,6 @@ COPY apt_preferences_rabbitmq.{{ base_distro }} /etc/apt/preferences.d/rabbitmq
{% set kolla_toolbox_packages = [
'build-essential',
'ca-certificates',
- 'crudini',
'gdisk',
'git',
'jq',
diff --git a/docker/manila/manila-share/Dockerfile.j2 b/docker/manila/manila-share/Dockerfile.j2
index 22dceb342..a49d697f6 100644
--- a/docker/manila/manila-share/Dockerfile.j2
+++ b/docker/manila/manila-share/Dockerfile.j2
@@ -7,12 +7,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
-{{ macros.enable_extra_repos(['ceph', 'epel']) }}
+{# NOTE(mnasiadka): glusterfs-fuse missing in CentOS 10 Stream - temporarily from Kolla COPR #}
+{{ macros.enable_extra_repos(['ceph', 'epel', 'kolla_el10']) }}
{% if base_package_type == 'rpm' %}
{% set manila_share_packages = [
'ceph-common',
- 'glusterfs-fuse',
'sqlite',
] %}
{% elif base_package_type == 'deb' %}
diff --git a/docker/mariadb/mariadb-base/Dockerfile.j2 b/docker/mariadb/mariadb-base/Dockerfile.j2
index e4e17a8bf..ddf6d50d9 100644
--- a/docker/mariadb/mariadb-base/Dockerfile.j2
+++ b/docker/mariadb/mariadb-base/Dockerfile.j2
@@ -9,14 +9,14 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='mysql') }}
-{{ macros.enable_extra_repos(['mariadb']) }}
-
+{# NOTE(mnasiadka): Using AppStream packages on CS10 for now #}
{% if base_package_type == 'rpm' %}
{% set mariadb_base_packages = [
'mariadb',
] %}
{% elif base_package_type == 'deb' %}
+{{ macros.enable_extra_repos(['mariadb']) }}
{% set mariadb_base_packages = [
'mariadb-client',
] %}
diff --git a/docker/mariadb/mariadb-server/Dockerfile.j2 b/docker/mariadb/mariadb-server/Dockerfile.j2
index ec17a5055..55dd8b5b6 100644
--- a/docker/mariadb/mariadb-server/Dockerfile.j2
+++ b/docker/mariadb/mariadb-server/Dockerfile.j2
@@ -10,13 +10,15 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='mysql') }}
{# NOTE(mgoddard): EPEL required for pv package #}
-{{ macros.enable_extra_repos(['epel', 'mariadb']) }}
+{# NOTE(mnasiadka): Use AppStream version of MariaDB for now in CentOS #}
+{{ macros.enable_extra_repos(['epel']) }}
{% if base_package_type == 'rpm' %}
{% set mariadb_packages = [
'expect',
'mariadb-backup',
'mariadb-server',
+ 'mariadb-server-galera',
'pv',
'rsync',
'tar'
@@ -26,6 +28,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
RUN ln -s /usr/lib64/galera-4 /usr/lib64/galera
{% elif base_package_type == 'deb' %}
+{{ macros.enable_extra_repos(['mariadb']) }}
{% set mariadb_packages = [
'expect',
'mariadb-backup',
diff --git a/docker/neutron/neutron-mlnx-agent/Dockerfile.j2 b/docker/neutron/neutron-mlnx-agent/Dockerfile.j2
index 6e2252ac3..2ff8e0ff5 100644
--- a/docker/neutron/neutron-mlnx-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-mlnx-agent/Dockerfile.j2
@@ -9,7 +9,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set neutron_mlnx_agent_packages = [
'python3-libvirt',
- 'python3-ethtool',
] %}
{{ macros.install_packages(neutron_mlnx_agent_packages | customizable("packages")) }}
diff --git a/docker/nova/nova-compute-ironic/Dockerfile.j2 b/docker/nova/nova-compute-ironic/Dockerfile.j2
index 56d1f0abd..b248025c8 100644
--- a/docker/nova/nova-compute-ironic/Dockerfile.j2
+++ b/docker/nova/nova-compute-ironic/Dockerfile.j2
@@ -7,7 +7,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
-{% set nova_compute_ironic_packages = ['genisoimage', 'nvme-cli'] %}
+{% set nova_compute_ironic_packages = ['xorriso', 'nvme-cli'] %}
{{ macros.install_packages(nova_compute_ironic_packages | customizable("packages")) }}
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2
index f738fdc35..2942ede41 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/docker/nova/nova-libvirt/Dockerfile.j2
@@ -9,7 +9,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='nova', groups='qemu') }}
-{{ macros.enable_extra_repos(['ceph', 'epel', 'openvswitch']) }}
+{{ macros.enable_extra_repos(['ceph', 'crb', 'epel', 'openvswitch']) }}
{% if base_package_type == 'rpm' %}
diff --git a/docker/nova/nova-ssh/extend_start.sh b/docker/nova/nova-ssh/extend_start.sh
index 6d52952a7..b80114c0a 100644
--- a/docker/nova/nova-ssh/extend_start.sh
+++ b/docker/nova/nova-ssh/extend_start.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-SSH_HOST_KEY_TYPES=( "rsa" "dsa" "ecdsa" "ed25519" )
+SSH_HOST_KEY_TYPES=( "rsa" "ecdsa" "ed25519" )
for key_type in ${SSH_HOST_KEY_TYPES[@]}; do
KEY_PATH=/etc/ssh/ssh_host_${key_type}_key
diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2
index 8cb8a97b7..01dadfcdd 100644
--- a/docker/openstack-base/Dockerfile.j2
+++ b/docker/openstack-base/Dockerfile.j2
@@ -24,7 +24,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'mod_ssl',
'openssl',
'openssl-devel',
- 'pcre-devel',
+ 'pcre2-devel',
'postgresql',
'postgresql-devel',
'python3-devel',