From 64475a0b1b4dccbc3b817c78453e1d027b3f0d68 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Thu, 22 Jan 2026 09:20:50 +0100 Subject: [PATCH 1/5] Remove special handling for python3.12 This is not required anymore since we have switched to Rocky Linux 10. Change-Id: I10b68c2d3afa91cabf9341df75d8cf9f626c0f9b Signed-off-by: Pierre Riteau --- docker/bifrost/bifrost-base/Dockerfile.j2 | 5 ----- docker/kolla-toolbox/Dockerfile.j2 | 18 ------------------ 2 files changed, 23 deletions(-) diff --git a/docker/bifrost/bifrost-base/Dockerfile.j2 b/docker/bifrost/bifrost-base/Dockerfile.j2 index 27e3455e94..a84f0e0e33 100644 --- a/docker/bifrost/bifrost-base/Dockerfile.j2 +++ b/docker/bifrost/bifrost-base/Dockerfile.j2 @@ -19,11 +19,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {# NOTE(mgoddard): EPEL required for nginx #} {{ macros.enable_extra_repos(['epel']) }} - - {% set bifrost_base_packages = bifrost_base_packages + [ - 'python3.12', - 'python3.12-devel' - ] %} {% endif %} {{ macros.install_packages(bifrost_base_packages | customizable("packages")) }} diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2 index 6a0796bfbe..22c133fe44 100644 --- a/docker/kolla-toolbox/Dockerfile.j2 +++ b/docker/kolla-toolbox/Dockerfile.j2 @@ -61,24 +61,6 @@ COPY apt_preferences_rabbitmq.{{ base_distro }} /etc/apt/preferences.d/rabbitmq {% endif %} {{ macros.install_packages(kolla_toolbox_packages | customizable("packages")) }} -{# NOTE(kevko): - In all distros, there is always a /usr/bin/python3 -> python3.X. - However, this is disrupted for RHEL-based systems because, unlike - other distros, we upgrade Python above [1], but we forget to set - the default python3 to the new python3.X. As a result also, everything - outside of the virtual environment ends up running on Python 3.9. - - So, let's correctly set python3 -> python3.X since we had to install - it and now have default python3 points to the new version. - - [1] https://review.opendev.org/c/openstack/kolla/+/924245 -#} -{% if base_package_type == 'rpm' %} -RUN cd /usr/bin && \ - rm -f python3 && \ - ln -s python3.12 python3 -{% endif %} - {% block kolla_toolbox_pip_conf %} ENV UPPER_CONSTRAINTS_FILE=https://releases.openstack.org/constraints/upper/{{ openstack_release }} {% endblock %} From a056cf58775ef51d927222ff5a2b236e668e843e Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Fri, 6 Feb 2026 19:21:17 +0100 Subject: [PATCH 2/5] [release] Use UCA Gazpacho Change-Id: Iee851c09e63817cd03b780163392517bf35cdfef Signed-off-by: Bartosz Bezak --- docker/base/ubuntu.sources | 2 +- docker/base/ubuntu.sources.arm64 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/base/ubuntu.sources b/docker/base/ubuntu.sources index 6e12fb58ce..f8f609ceed 100644 --- a/docker/base/ubuntu.sources +++ b/docker/base/ubuntu.sources @@ -15,7 +15,7 @@ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg ## Ubuntu Cloud Archive Types: deb URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu -Suites: noble-updates/flamingo +Suites: noble-updates/gazpacho Components: main Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg diff --git a/docker/base/ubuntu.sources.arm64 b/docker/base/ubuntu.sources.arm64 index da3ecdfdab..751af7ccf5 100644 --- a/docker/base/ubuntu.sources.arm64 +++ b/docker/base/ubuntu.sources.arm64 @@ -15,7 +15,7 @@ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg ## Ubuntu Cloud Archive Types: deb URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu -Suites: noble-updates/flamingo +Suites: noble-updates/gazpacho Components: main Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg From 4cdf881631eb0a671b9f70d5afefa6ead1949118 Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Mon, 9 Feb 2026 11:16:54 +0100 Subject: [PATCH 3/5] horizon: pin setuptools <82 setuptools 82 removed pkg_resources [1] [1] https://setuptools.pypa.io/en/stable/history.html#v82-0-0 Related-Bug: #2141293 Change-Id: Iced7662f7e58b9f094306e9a6c4f1b5a79f48b17 Signed-off-by: Bartosz Bezak --- docker/horizon/Dockerfile.j2 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docker/horizon/Dockerfile.j2 b/docker/horizon/Dockerfile.j2 index f2cb0b4336..b854ca0f6b 100644 --- a/docker/horizon/Dockerfile.j2 +++ b/docker/horizon/Dockerfile.j2 @@ -49,10 +49,13 @@ COPY extend_start.sh /usr/local/bin/kolla_extend_start # NOTE(kevko): This dance with local settings python paths below is needed # because we are using different distros with different python version and we need to # know to which path symlink should point to. -# NOTE(mnasiadka): pinning setuptools due to https://bugs.launchpad.net/horizon/+bug/2007574 +# NOTE(bbezak): pin setuptools for pip build isolation due to +# https://bugs.launchpad.net/horizon/+bug/2141293 RUN ln -s horizon-source/* horizon \ && {{ macros.upper_constraints_remove("horizon") }} \ - && {{ macros.install_pip(horizon_pip_packages | customizable("pip_packages")) }} \ + && echo "setuptools<82" > /tmp/horizon-build-constraints.txt \ + && PIP_BUILD_CONSTRAINT=/tmp/horizon-build-constraints.txt \ + {{ macros.install_pip(horizon_pip_packages | customizable("pip_packages")) }} \ && mkdir -p /etc/openstack-dashboard \ && cp -r /horizon/openstack_dashboard/conf/* /etc/openstack-dashboard/ \ && cp /horizon/openstack_dashboard/local/local_settings.py.example /etc/openstack-dashboard/local_settings.py \ From 48c58c621209176320ee78ebb65eafec02a9a5e0 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Wed, 11 Feb 2026 20:41:52 +0900 Subject: [PATCH 4/5] Stop installation of zake The zake driver is provided for testing and should not be used in real production deployments. The driver was formally deprecated because it requires the archived zake library, and is being removed soon. Change-Id: Ie8204e60920572ffc830f94cd60f6a9f19eb7b72 Signed-off-by: Takashi Kajinami --- docker/openstack-base/Dockerfile.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2 index 85b1f4b002..7a5843846c 100644 --- a/docker/openstack-base/Dockerfile.j2 +++ b/docker/openstack-base/Dockerfile.j2 @@ -177,7 +177,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'sqlalchemy-migrate', 'sqlparse', 'stevedore', - 'tooz[consul,etcd,etcd3gw,zake,redis,postgresql,mysql,zookeeper,memcached,ipc]', + 'tooz[consul,etcd,etcd3gw,redis,postgresql,mysql,zookeeper,memcached,ipc]', 'unicodecsv', 'uwsgi', 'warlock', From 54f3e76771bf64d505a0b0668cdc755a61f1d8c0 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Wed, 11 Feb 2026 20:44:15 +0900 Subject: [PATCH 5/5] Drop sqlalchemy-migrate The library was replaced by alembic during adoption of SQLAlchemy 2.0 . Change-Id: I2f9c074cc0ba42463ddc6aebbefc0073ed9bae8c Signed-off-by: Takashi Kajinami --- docker/openstack-base/Dockerfile.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2 index 85b1f4b002..5b76a2daa5 100644 --- a/docker/openstack-base/Dockerfile.j2 +++ b/docker/openstack-base/Dockerfile.j2 @@ -174,7 +174,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'simplegeneric', 'simplejson', 'six', - 'sqlalchemy-migrate', 'sqlparse', 'stevedore', 'tooz[consul,etcd,etcd3gw,zake,redis,postgresql,mysql,zookeeper,memcached,ipc]',