diff options
| author | Michal Nasiadka <mnasiadka@gmail.com> | 2025-05-20 09:21:59 +0000 |
|---|---|---|
| committer | Michal Nasiadka <mnasiadka@gmail.com> | 2025-07-16 14:05:50 +0000 |
| commit | 9e36b8976657e5aaf285f4ab9f65603ab475fd89 (patch) | |
| tree | 7d7f24ee6412f50116a9684bd09e0bbba7ba867e /docker | |
| parent | a90a8893c8df1eed8d8409c70bd8177392290554 (diff) | |
| download | kolla-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.j2 | 14 | ||||
| -rw-r--r-- | docker/base/ci-centos.repo | 10 | ||||
| -rw-r--r-- | docker/base/influxdb.repo | 3 | ||||
| -rw-r--r-- | docker/base/kolla_el10.repo | 10 | ||||
| -rw-r--r-- | docker/base/proxysql.repo | 3 | ||||
| -rw-r--r-- | docker/base/td.repo | 3 | ||||
| -rw-r--r-- | docker/ironic/ironic-conductor/Dockerfile.j2 | 2 | ||||
| -rw-r--r-- | docker/keystone/keystone-base/Dockerfile.j2 | 3 | ||||
| -rw-r--r-- | docker/keystone/keystone-ssh/extend_start.sh | 3 | ||||
| -rw-r--r-- | docker/kolla-toolbox/Dockerfile.j2 | 6 | ||||
| -rw-r--r-- | docker/manila/manila-share/Dockerfile.j2 | 4 | ||||
| -rw-r--r-- | docker/mariadb/mariadb-base/Dockerfile.j2 | 4 | ||||
| -rw-r--r-- | docker/mariadb/mariadb-server/Dockerfile.j2 | 5 | ||||
| -rw-r--r-- | docker/neutron/neutron-mlnx-agent/Dockerfile.j2 | 1 | ||||
| -rw-r--r-- | docker/nova/nova-compute-ironic/Dockerfile.j2 | 2 | ||||
| -rw-r--r-- | docker/nova/nova-libvirt/Dockerfile.j2 | 2 | ||||
| -rw-r--r-- | docker/nova/nova-ssh/extend_start.sh | 2 | ||||
| -rw-r--r-- | docker/openstack-base/Dockerfile.j2 | 2 |
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', |
