From 14a7644a1e458dcfe8e928d9ea032b0465da08f5 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Tue, 2 Dec 2025 13:21:04 +0100 Subject: [PATCH 01/14] manila: Stop enabling kolla_el10 COPR repo This repo enablement is here by mistake, the glusterfs-fuse package installation has been removed in the original CentOS Stream 10 patch. Change-Id: I395fcae7fd39ea7488191690f994ad98a8184f65 Signed-off-by: Michal Nasiadka --- docker/manila/manila-share/Dockerfile.j2 | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docker/manila/manila-share/Dockerfile.j2 b/docker/manila/manila-share/Dockerfile.j2 index 35ff6b8f48..210d8b31c2 100644 --- a/docker/manila/manila-share/Dockerfile.j2 +++ b/docker/manila/manila-share/Dockerfile.j2 @@ -8,10 +8,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% import "macros.j2" as macros with context %} {% if base_package_type == 'rpm' %} - -{# NOTE(mnasiadka): glusterfs-fuse missing in CentOS 10 Stream - temporarily from Kolla COPR #} -{{ macros.enable_extra_repos(['ceph', 'epel', 'kolla_el10']) }} - {% set manila_share_packages = [ 'ceph-common', 'sqlite', From 3b1fe42e32a734fe555e9377b23faae4984a62ce Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Tue, 2 Dec 2025 15:36:50 +0100 Subject: [PATCH 02/14] mariadb: Switch EL to mariadb upstream repos Change-Id: I8fa363e7e9bc87195adaf218c46d6e9fb4575419 Signed-off-by: Michal Nasiadka --- docker/mariadb-server/Dockerfile.j2 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docker/mariadb-server/Dockerfile.j2 b/docker/mariadb-server/Dockerfile.j2 index 8d17ff4ff9..18811f36ea 100644 --- a/docker/mariadb-server/Dockerfile.j2 +++ b/docker/mariadb-server/Dockerfile.j2 @@ -9,19 +9,16 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.configure_user(name='mysql') }} -{# NOTE(mnasiadka): Use AppStream version of MariaDB for now in CentOS #} - {% if base_package_type == 'rpm' %} {# NOTE(mgoddard): EPEL required for pv package #} -{{ macros.enable_extra_repos(['epel']) }} +{{ macros.enable_extra_repos(['epel', 'mariadb']) }} {% set mariadb_packages = [ 'expect', 'mariadb', 'mariadb-backup', 'mariadb-server', - 'mariadb-server-galera', 'pv', 'rsync', 'tar' From 2da1676d7a861ff921936443861559f1b994f776 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Wed, 3 Dec 2025 10:31:30 +0100 Subject: [PATCH 03/14] redis: Drop redis and redis-sentinel images We switched to Valkey Change-Id: Ic40fecb87dd3eaf67eb1d3088978d462ff5b4320 Signed-off-by: Michal Nasiadka --- README.rst | 2 +- doc/source/matrix_aarch64.csv | 2 +- doc/source/matrix_x86.csv | 2 +- docker/redis/redis-base/Dockerfile.j2 | 17 ---------- docker/redis/redis-base/extend_start.sh | 9 ------ docker/redis/redis-sentinel/Dockerfile.j2 | 25 --------------- docker/redis/redis-sentinel/extend_start.sh | 32 ------------------- docker/redis/redis/Dockerfile.j2 | 22 ------------- kolla/common/config.py | 4 +-- kolla/common/users.py | 2 +- kolla/image/unbuildable.py | 2 -- .../notes/drop-redis-d286ca1237747c48.yaml | 4 +++ 12 files changed, 10 insertions(+), 113 deletions(-) delete mode 100644 docker/redis/redis-base/Dockerfile.j2 delete mode 100644 docker/redis/redis-base/extend_start.sh delete mode 100644 docker/redis/redis-sentinel/Dockerfile.j2 delete mode 100644 docker/redis/redis-sentinel/extend_start.sh delete mode 100644 docker/redis/redis/Dockerfile.j2 create mode 100644 releasenotes/notes/drop-redis-d286ca1237747c48.yaml diff --git a/README.rst b/README.rst index 4af919296e..a8cf66238f 100644 --- a/README.rst +++ b/README.rst @@ -133,7 +133,7 @@ Kolla provides images to deploy the following infrastructure components: direct messaging back end for communication between services. - `RabbitMQ `__ as a broker messaging back end for communication between services. -- `Redis Sentinel `__ provides high availability for redis +- `Valkey Sentinel `__ provides high availability for valkey along with collateral tasks such as monitoring, notification and acts as configuration provider for clients. - `Telegraf `__ as a plugin-driven server diff --git a/doc/source/matrix_aarch64.csv b/doc/source/matrix_aarch64.csv index 028bba2c21..04e94f1690 100644 --- a/doc/source/matrix_aarch64.csv +++ b/doc/source/matrix_aarch64.csv @@ -46,11 +46,11 @@ ovsdpdk,N,U,U placement,U,U,U prometheus,U,U,U rabbitmq,U,U,U -redis,U,U,U skyline,U,U,U tacker,U,U,U telegraf,N,N,N tgtd,U,U,U trove,U,U,U +valkey,U,U,U watcher,U,U,U zun,U,U,U diff --git a/doc/source/matrix_x86.csv b/doc/source/matrix_x86.csv index 14c37597dc..738475b61f 100644 --- a/doc/source/matrix_x86.csv +++ b/doc/source/matrix_x86.csv @@ -47,12 +47,12 @@ ovsdpdk,N,U,U placement,T,T,T prometheus,U,U,U rabbitmq,T,T,T -redis,T,U,U skyline,U,U,U swift,T,T,U tacker,T,U,U telegraf,U,U,U tgtd,N,T,U trove,U,U,U +valkey,T,U,U watcher,U,U,U zun,T,T,U diff --git a/docker/redis/redis-base/Dockerfile.j2 b/docker/redis/redis-base/Dockerfile.j2 deleted file mode 100644 index 89dccd2580..0000000000 --- a/docker/redis/redis-base/Dockerfile.j2 +++ /dev/null @@ -1,17 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} -{% block labels %} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" -{% endblock %} - -{% block redis_base_header %}{% endblock %} - -{% import "macros.j2" as macros with context %} - -{{ macros.configure_user(name='redis', homedir='/run/redis') }} - -COPY extend_start.sh /usr/local/bin/kolla_extend_start -RUN chmod 644 /usr/local/bin/kolla_extend_start - -{{ macros.kolla_patch_sources() }} - -{% block redis_base_footer %}{% endblock %} diff --git a/docker/redis/redis-base/extend_start.sh b/docker/redis/redis-base/extend_start.sh deleted file mode 100644 index f5f12ac70f..0000000000 --- a/docker/redis/redis-base/extend_start.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -if [[ ! -d "/var/log/kolla/redis" ]]; then - mkdir -p /var/log/kolla/redis -fi - -if [[ $(stat -c %a /var/log/kolla/redis) != "755" ]]; then - chmod 755 /var/log/kolla/redis -fi diff --git a/docker/redis/redis-sentinel/Dockerfile.j2 b/docker/redis/redis-sentinel/Dockerfile.j2 deleted file mode 100644 index 83fc60df05..0000000000 --- a/docker/redis/redis-sentinel/Dockerfile.j2 +++ /dev/null @@ -1,25 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}redis-base:{{ tag }} -{% block labels %} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" -{% endblock %} - -{% block redis_sentinel_header %}{% endblock %} - -{% import "macros.j2" as macros with context %} - -{% if base_package_type == 'rpm' %} - {% set redis_sentinel_packages = ['redis'] %} -{% elif base_package_type == 'deb' %} - {% set redis_sentinel_packages = ['redis-sentinel'] %} -{% endif %} -{{ macros.install_packages(redis_sentinel_packages | customizable("packages")) }} - -COPY extend_start.sh /usr/local/bin/kolla_extend_start -RUN chmod 644 /usr/local/bin/kolla_extend_start - -{{ macros.kolla_patch_sources() }} - -{% block redis_sentinel_footer %}{% endblock %} -{% block footer %}{% endblock %} - -USER redis diff --git a/docker/redis/redis-sentinel/extend_start.sh b/docker/redis/redis-sentinel/extend_start.sh deleted file mode 100644 index 9044f39908..0000000000 --- a/docker/redis/redis-sentinel/extend_start.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -if [[ ! -d "/var/log/kolla/redis" ]]; then - mkdir -p /var/log/kolla/redis -fi - -if [[ $(stat -c %a /var/log/kolla/redis) != "755" ]]; then - chmod 755 /var/log/kolla/redis -fi - -# The CONFIG REWRITE command rewrites the redis.conf -# file the server was started with, applying the minimal -# changes needed to make it reflect the configuration -# currently used by the server, which may be different -# compared to the original one because of the use of -# the CONFIG SET command. -# -# https://redis.io/commands/config-rewrite/ -# -# Because of above behaviour it's needed to -# hack kolla's CMD. -# -# Without this hack -# /usr/local/bin/kolla_set_configs --check -# is always reporting changed. -# -# Therefore redis-sentinel is always restarted -# even if configuration is not changed from -# kolla-ansible side. -if [ ! -z "${REDIS_CONF}" ] && [ ! -z ${REDIS_GEN_CONF} ]; then - cp ${REDIS_CONF} ${REDIS_GEN_CONF} -fi diff --git a/docker/redis/redis/Dockerfile.j2 b/docker/redis/redis/Dockerfile.j2 deleted file mode 100644 index 7e5ce923b2..0000000000 --- a/docker/redis/redis/Dockerfile.j2 +++ /dev/null @@ -1,22 +0,0 @@ -FROM {{ namespace }}/{{ image_prefix }}redis-base:{{ tag }} -{% block labels %} -LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" -{% endblock %} - -{% block redis_header %}{% endblock %} - -{% import "macros.j2" as macros with context %} - -{% if base_package_type == 'rpm' %} - {% set redis_packages = ['redis'] %} -{% elif base_package_type == 'deb' %} - {% set redis_packages = ['redis-server'] %} -{% endif %} -{{ macros.install_packages(redis_packages | customizable("packages")) }} - -{{ macros.kolla_patch_sources() }} - -{% block redis_footer %}{% endblock %} -{% block footer %}{% endblock %} - -USER redis diff --git a/kolla/common/config.py b/kolla/common/config.py index 2ec2194ac5..559fbbfa3a 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -64,9 +64,9 @@ 'openvswitch', 'proxysql', 'rabbitmq', - 'redis', 'storm', 'tgtd', + 'valkey', ], help='Infra images'), cfg.ListOpt('main', @@ -99,10 +99,10 @@ 'masakari', 'mistral', 'octavia', - 'redis', 'tacker', 'telegraf', 'trove', + 'valkey', 'zookeeper', 'zun', ], diff --git a/kolla/common/users.py b/kolla/common/users.py index de8fc315cd..ec21b06581 100644 --- a/kolla/common/users.py +++ b/kolla/common/users.py @@ -217,7 +217,7 @@ 'uid': 42459, 'gid': 42459, }, - 'redis-user': { + 'redis-user': { # unused user (redis dropped) 'uid': 42460, 'gid': 42460, }, diff --git a/kolla/image/unbuildable.py b/kolla/image/unbuildable.py index 997b4b86b3..d117ba0a75 100644 --- a/kolla/image/unbuildable.py +++ b/kolla/image/unbuildable.py @@ -26,7 +26,6 @@ "hacluster-pcs", # Missing crmsh package "nova-spicehtml5proxy", # Missing spicehtml5 package "ovsdpdk", # Not supported on CentOS - "redis-base", # Missing in CS10 "telegraf", # CS10 no opstools repo "tgtd", # Not supported on CentOS }, @@ -41,7 +40,6 @@ "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/releasenotes/notes/drop-redis-d286ca1237747c48.yaml b/releasenotes/notes/drop-redis-d286ca1237747c48.yaml new file mode 100644 index 0000000000..9710a37a28 --- /dev/null +++ b/releasenotes/notes/drop-redis-d286ca1237747c48.yaml @@ -0,0 +1,4 @@ +--- +upgrade: + - | + ``redis`` container image has been dropped due to migration to ``valkey``. From 5ff768f0bdfadefaa32e69278dfdcafd2aa2b271 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Thu, 4 Dec 2025 11:56:01 +0100 Subject: [PATCH 04/14] neutron: Remove networking-generic-switch from u-c networking-generic-switch was added to u-c [1] and it breaks our install scheme. Alternative is to remove networking-generic-switch from sources.py, but that would be a user facing change and if we would pursue that we would need to do the same for all neutron plugins. using u-c removal macro to preserve previous approach of installing n-g-s from a branch tarball compared to a pypi version [1]: https://review.opendev.org/c/openstack/requirements/+/964059 Change-Id: Ifcee01f9415e9b9de8138b55cd676873a99c86aa Signed-off-by: Michal Nasiadka --- docker/neutron/neutron-base/Dockerfile.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2 index e3d19178d4..956551fbda 100644 --- a/docker/neutron/neutron-base/Dockerfile.j2 +++ b/docker/neutron/neutron-base/Dockerfile.j2 @@ -78,6 +78,7 @@ RUN chmod +x /usr/local/lib/neutron-wrappers/copy-wrappers \ && chmod +x /usr/local/lib/neutron-wrappers/delete-wrappers RUN ln -s neutron-base-source/* neutron \ + && {{ macros.upper_constraints_remove('networking-generic-switch') }} \ && {{ macros.install_pip(neutron_base_pip_packages | customizable("pip_packages")) }} \ && mkdir -p /etc/neutron \ && cp -r /neutron/etc/* /etc/neutron/ \ From c30e4e524a3f2e83f693b102d3c1db0387302e11 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Thu, 4 Dec 2025 10:39:08 +0100 Subject: [PATCH 05/14] Revert "Switch to 2025.2 release" This reverts commit a28d2409c58c3192ed9c1b5dc1049ae466502577. Change-Id: I55c99ea29f20165b7853976f13312fca62e0be8f Signed-off-by: Michal Nasiadka --- kolla/common/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kolla/common/config.py b/kolla/common/config.py index 2ec2194ac5..69969706e9 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -38,7 +38,7 @@ 'ubuntu': 'Ubuntu 24.04.* LTS', } -OPENSTACK_RELEASE = '2025.2' +OPENSTACK_RELEASE = 'master' # NOTE(mnasiadka): Using Epoxy here, since Debian OpenStack builds Flamingo # only for Trixie OPENSTACK_RELEASE_CODENAME = 'Epoxy' From 96b54022857ccef8dc6bb11789abe32119827109 Mon Sep 17 00:00:00 2001 From: Rafal Lewandowski Date: Tue, 9 Dec 2025 12:01:41 +0100 Subject: [PATCH 06/14] Add genisoimage package to nova-compute-ironic Closes-Bug: #2132960 Change-Id: I672f625e445bd1a2db1c4994baa7c44c20723a62 Signed-off-by: rafal Lewandowski --- docker/nova/nova-compute-ironic/Dockerfile.j2 | 6 +++++- ...oimage_package_nova-compute-ironic-28f4c262ec201f99.yaml | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/bug-2132960-genisoimage_package_nova-compute-ironic-28f4c262ec201f99.yaml diff --git a/docker/nova/nova-compute-ironic/Dockerfile.j2 b/docker/nova/nova-compute-ironic/Dockerfile.j2 index b248025c8c..c849dc18fc 100644 --- a/docker/nova/nova-compute-ironic/Dockerfile.j2 +++ b/docker/nova/nova-compute-ironic/Dockerfile.j2 @@ -7,7 +7,11 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% import "macros.j2" as macros with context %} -{% set nova_compute_ironic_packages = ['xorriso', 'nvme-cli'] %} +{% set nova_compute_ironic_packages = [ + 'genisoimage', + 'nvme-cli', + 'xorriso' +] %} {{ macros.install_packages(nova_compute_ironic_packages | customizable("packages")) }} diff --git a/releasenotes/notes/bug-2132960-genisoimage_package_nova-compute-ironic-28f4c262ec201f99.yaml b/releasenotes/notes/bug-2132960-genisoimage_package_nova-compute-ironic-28f4c262ec201f99.yaml new file mode 100644 index 0000000000..beffc2df00 --- /dev/null +++ b/releasenotes/notes/bug-2132960-genisoimage_package_nova-compute-ironic-28f4c262ec201f99.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Add missing genisoimage package to nova-compute-ironic + container to fix ironic baremetal provisioning error. + `LP#2132960 `__ From 7401179ab66a30319520a3806ab6f04dd4d41e8c Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Fri, 12 Dec 2025 13:38:23 +0100 Subject: [PATCH 07/14] CI: add rocky-10 kolla-ansible jobs Change-Id: I5607081701b59ac0ca58cb6c285769209a009355 Signed-off-by: Bartosz Bezak --- zuul.d/scenarios/aio.yaml | 4 ++++ zuul.d/scenarios/bifrost.yaml | 2 ++ zuul.d/scenarios/cells.yaml | 2 ++ zuul.d/scenarios/cephadm.yaml | 4 ++++ zuul.d/scenarios/ironic.yaml | 2 ++ zuul.d/scenarios/mariadb.yaml | 2 ++ zuul.d/scenarios/masakari.yaml | 2 ++ zuul.d/scenarios/ovn.yaml | 2 ++ 8 files changed, 20 insertions(+) diff --git a/zuul.d/scenarios/aio.yaml b/zuul.d/scenarios/aio.yaml index ee58ed05da..6b38b95d1c 100644 --- a/zuul.d/scenarios/aio.yaml +++ b/zuul.d/scenarios/aio.yaml @@ -8,6 +8,8 @@ - kolla-ansible-centos-10s - kolla-ansible-debian-bookworm - kolla-ansible-debian-bookworm-upgrade + - kolla-ansible-rocky-10 + - kolla-ansible-rocky-10-upgrade - kolla-ansible-ubuntu-noble - kolla-ansible-ubuntu-noble-upgrade check-arm64: @@ -18,5 +20,7 @@ jobs: - kolla-ansible-debian-bookworm - kolla-ansible-debian-bookworm-upgrade + - kolla-ansible-rocky-10 + - kolla-ansible-rocky-10-upgrade - kolla-ansible-ubuntu-noble - kolla-ansible-ubuntu-noble-upgrade diff --git a/zuul.d/scenarios/bifrost.yaml b/zuul.d/scenarios/bifrost.yaml index 4c4dd54657..e72f5b4069 100644 --- a/zuul.d/scenarios/bifrost.yaml +++ b/zuul.d/scenarios/bifrost.yaml @@ -7,5 +7,7 @@ jobs: - kolla-ansible-debian-bookworm-bifrost: files: ^docker/bifrost/ + - kolla-ansible-rocky-10-bifrost: + files: ^docker/bifrost/ - kolla-ansible-ubuntu-noble-bifrost: files: ^docker/bifrost/ diff --git a/zuul.d/scenarios/cells.yaml b/zuul.d/scenarios/cells.yaml index 4105c48ed6..474bd3ec64 100644 --- a/zuul.d/scenarios/cells.yaml +++ b/zuul.d/scenarios/cells.yaml @@ -7,5 +7,7 @@ jobs: - kolla-ansible-debian-bookworm-cells: files: ^docker/proxysql/ + - kolla-ansible-rocky-10-cells: + files: ^docker/proxysql/ - kolla-ansible-ubuntu-noble-cells: files: ^docker/proxysql/ diff --git a/zuul.d/scenarios/cephadm.yaml b/zuul.d/scenarios/cephadm.yaml index 93578439ae..c41162ee8d 100644 --- a/zuul.d/scenarios/cephadm.yaml +++ b/zuul.d/scenarios/cephadm.yaml @@ -9,6 +9,10 @@ files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.* - kolla-ansible-debian-bookworm-cephadm-upgrade: files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.* + - kolla-ansible-rocky-10-cephadm: + files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.* + - kolla-ansible-rocky-10-cephadm-upgrade: + files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.* - kolla-ansible-ubuntu-noble-cephadm: files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.* - kolla-ansible-ubuntu-noble-cephadm-upgrade: diff --git a/zuul.d/scenarios/ironic.yaml b/zuul.d/scenarios/ironic.yaml index 4484ccd7f2..4c501ad324 100644 --- a/zuul.d/scenarios/ironic.yaml +++ b/zuul.d/scenarios/ironic.yaml @@ -7,5 +7,7 @@ jobs: - kolla-ansible-debian-bookworm-ironic: files: ^docker\/(base|dnsmasq|ironic|ironic-inspector|iscsid|openstack-base)\/.* + - kolla-ansible-rocky-10-ironic: + files: ^docker\/(base|dnsmasq|ironic|ironic-inspector|iscsid|openstack-base)\/.* - kolla-ansible-ubuntu-noble-ironic: files: ^docker\/(base|dnsmasq|ironic|ironic-inspector|iscsid|openstack-base)\/.* diff --git a/zuul.d/scenarios/mariadb.yaml b/zuul.d/scenarios/mariadb.yaml index 3627e11a4a..f89e8f087e 100644 --- a/zuul.d/scenarios/mariadb.yaml +++ b/zuul.d/scenarios/mariadb.yaml @@ -7,5 +7,7 @@ jobs: - kolla-ansible-debian-bookworm-mariadb: files: ^docker/(base|mariadb-server)/ + - kolla-ansible-rocky-10-mariadb: + files: ^docker/(base|mariadb-server)/ - kolla-ansible-ubuntu-noble-mariadb: files: ^docker/(base|mariadb-server)/ diff --git a/zuul.d/scenarios/masakari.yaml b/zuul.d/scenarios/masakari.yaml index 81c8e84dd9..0974a2affc 100644 --- a/zuul.d/scenarios/masakari.yaml +++ b/zuul.d/scenarios/masakari.yaml @@ -7,5 +7,7 @@ jobs: - kolla-ansible-debian-bookworm-masakari: files: ^docker/(base|masakari|openstack-base)/ + - kolla-ansible-rocky-10-masakari: + files: ^docker/(base|masakari|openstack-base)/ - kolla-ansible-ubuntu-noble-masakari: files: ^docker/(base|masakari|openstack-base)/ diff --git a/zuul.d/scenarios/ovn.yaml b/zuul.d/scenarios/ovn.yaml index 1ca2a1d226..a531a02b4b 100644 --- a/zuul.d/scenarios/ovn.yaml +++ b/zuul.d/scenarios/ovn.yaml @@ -7,5 +7,7 @@ jobs: - kolla-ansible-debian-bookworm-ovn: files: ^docker/(base|neutron|openstack-base|openvswitch|ovn)/ + - kolla-ansible-rocky-10-ovn: + files: ^docker/(base|neutron|openstack-base|openvswitch|ovn)/ - kolla-ansible-ubuntu-noble-ovn: files: ^docker/(base|neutron|openstack-base|openvswitch|ovn)/ From 35f7b3c3426662877d4f8fc2e3c517697ffba6d9 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Fri, 12 Dec 2025 15:55:49 +0100 Subject: [PATCH 08/14] setup.cfg: Update Python versions according to Flamingo PTI Add Python 3.13 and drop 3.8 & 3.9. See https://governance.openstack.org/tc/reference/runtimes/2025.2.html Change-Id: I2125879365dbe9a1645c159d87777939dae824c4 Signed-off-by: Michal Nasiadka --- setup.cfg | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 1ee28f601c..2634ee512e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,7 +6,7 @@ description_file = author = OpenStack author_email = openstack-discuss@lists.openstack.org home_page = https://docs.openstack.org/kolla/latest/ -python_requires = >=3.8 +python_requires = >=3.10 license = Apache License, Version 2.0 classifier = Environment :: OpenStack @@ -18,11 +18,10 @@ classifier = Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: 3 :: Only Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 [files] packages = From a7ee5ccb2b551af5be80c0f082e503f6cbd54096 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Fri, 12 Dec 2025 16:10:30 +0100 Subject: [PATCH 09/14] debian: Switch to deb822 Change-Id: I8156e2c2a57d820afdee0b76cd5a050ad682fb38 Signed-off-by: Michal Nasiadka --- docker/base/Dockerfile.j2 | 8 ++--- docker/base/debian.sources | 13 ++++++++ docker/base/sources.list.debian | 11 ------- docker/base/sources.list.ubuntu | 15 --------- docker/base/sources.list.ubuntu.aarch64 | 15 --------- docker/base/ubuntu.sources | 24 ++++++++++++++ docker/base/ubuntu.sources.arm64 | 24 ++++++++++++++ .../notes/deb822-3f0435dfce6da841.yaml | 6 ++++ tests/templates/template_overrides.j2 | 31 ++++++++++--------- 9 files changed, 87 insertions(+), 60 deletions(-) create mode 100644 docker/base/debian.sources delete mode 100644 docker/base/sources.list.debian delete mode 100644 docker/base/sources.list.ubuntu delete mode 100644 docker/base/sources.list.ubuntu.aarch64 create mode 100644 docker/base/ubuntu.sources create mode 100644 docker/base/ubuntu.sources.arm64 create mode 100644 releasenotes/notes/deb822-3f0435dfce6da841.yaml diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 5ba1d5a874..53ef731cc9 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -187,12 +187,12 @@ RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc \ && sed -i -e s/#*LAST_SYSTEM_UID=999/LAST_SYSTEM_UID=59999/g \ -e s/#*LAST_SYSTEM_GID=999/LAST_SYSTEM_GID=59999/g /etc/adduser.conf +{# NOTE(mnasiadka): Ubuntu arm64 uses ports.ubuntu.com #} {% block base_ubuntu_package_sources_list %} -{% if base_distro == 'debian' or ( base_distro == 'ubuntu' and base_arch == 'x86_64' ) %} -RUN rm -f /etc/apt/sources.list.d/{{ base_distro }}.sources -COPY sources.list.{{ base_distro }} /etc/apt/sources.list +{% if base_distro == "ubuntu" and base_arch == 'aarch64' %} +COPY {{ base_distro }}.sources.arm64 /etc/apt/sources.list.d/{{ base_distro }}.sources {% else %} -COPY sources.list.{{ base_distro }}.{{ base_arch }} /etc/apt/sources.list +COPY {{ base_distro }}.sources /etc/apt/sources.list.d/ {% endif %} COPY sources.list /etc/apt/sources.list.d/kolla-custom.list {% endblock %} diff --git a/docker/base/debian.sources b/docker/base/debian.sources new file mode 100644 index 0000000000..2b502a609b --- /dev/null +++ b/docker/base/debian.sources @@ -0,0 +1,13 @@ +Types: deb +# http://snapshot.debian.org/archive/debian/20251020T000000Z +URIs: http://deb.debian.org/debian +Suites: bookworm bookworm-updates bookworm-backports +Components: main +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg + +Types: deb +# http://snapshot.debian.org/archive/debian-security/20251020T000000Z +URIs: http://deb.debian.org/debian-security +Suites: bookworm-security +Components: main +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg diff --git a/docker/base/sources.list.debian b/docker/base/sources.list.debian deleted file mode 100644 index 89f7a1160b..0000000000 --- a/docker/base/sources.list.debian +++ /dev/null @@ -1,11 +0,0 @@ -# Default repos -deb http://deb.debian.org/debian bookworm main - -# debian security updates -deb http://deb.debian.org/debian-security bookworm-security main - -# debian updates -deb http://deb.debian.org/debian bookworm-updates main - -# debian backports -deb http://deb.debian.org/debian bookworm-backports main diff --git a/docker/base/sources.list.ubuntu b/docker/base/sources.list.ubuntu deleted file mode 100644 index 6542433e39..0000000000 --- a/docker/base/sources.list.ubuntu +++ /dev/null @@ -1,15 +0,0 @@ -# For non-x86 architectures we use sources.list.ubuntu. - -# Default repos -deb mirror://mirrors.ubuntu.com/mirrors.txt noble main universe -deb mirror://mirrors.ubuntu.com/mirrors.txt noble-updates main universe -deb mirror://mirrors.ubuntu.com/mirrors.txt noble-backports main universe -deb mirror://mirrors.ubuntu.com/mirrors.txt noble-security main universe - -# We need to add the repo for the updated packages they provide. The main ones -# are qemu, libvirt, and openvswitch. -deb http://ubuntu-cloud.archive.canonical.com/ubuntu noble-updates/flamingo main - -# NOTE(hrw): extra repositories are added into image when they are needed as -# separate files in /etc/apt/sources.list.d/ directory. For that purpose they -# are defined in kolla/template/repos.yaml file. diff --git a/docker/base/sources.list.ubuntu.aarch64 b/docker/base/sources.list.ubuntu.aarch64 deleted file mode 100644 index d4cfbe20f5..0000000000 --- a/docker/base/sources.list.ubuntu.aarch64 +++ /dev/null @@ -1,15 +0,0 @@ -# Default repos -deb http://ports.ubuntu.com/ noble main universe -deb http://ports.ubuntu.com/ noble-updates main universe -deb http://ports.ubuntu.com/ noble-security main universe - -# Backports have a lower priority and must be explicitly installed to be used -deb http://ports.ubuntu.com/ noble-backports main universe - -# We need to add the repo for the updated packages they provide. The main ones -# are qemu, libvirt, and openvswitch. -deb http://ubuntu-cloud.archive.canonical.com/ubuntu noble-updates/flamingo main - -# NOTE(hrw): extra repositories are added into image when they are needed as -# separate files in /etc/apt/sources.list.d/ directory. For that purpose they -# are defined in kolla/template/repos.yaml file. diff --git a/docker/base/ubuntu.sources b/docker/base/ubuntu.sources new file mode 100644 index 0000000000..6e12fb58ce --- /dev/null +++ b/docker/base/ubuntu.sources @@ -0,0 +1,24 @@ +Types: deb +URIs: http://archive.ubuntu.com/ubuntu/ +Suites: noble noble-updates noble-backports +Components: main universe +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg + +## Ubuntu security updates. Aside from URIs and Suites, +## this should mirror your choices in the previous section. +Types: deb +URIs: http://security.ubuntu.com/ubuntu/ +Suites: noble-security +Components: main universe +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 +Components: main +Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg + +# NOTE(hrw): extra repositories are added into image when they are needed as +# separate files in /etc/apt/sources.list.d/ directory. For that purpose they +# are defined in kolla/template/repos.yaml file. diff --git a/docker/base/ubuntu.sources.arm64 b/docker/base/ubuntu.sources.arm64 new file mode 100644 index 0000000000..da3ecdfdab --- /dev/null +++ b/docker/base/ubuntu.sources.arm64 @@ -0,0 +1,24 @@ +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports/ +Suites: noble noble-updates noble-backports +Components: main universe +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg + +## Ubuntu security updates. Aside from URIs and Suites, +## this should mirror your choices in the previous section. +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports/ +Suites: noble-security +Components: main universe +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 +Components: main +Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg + +# NOTE(hrw): extra repositories are added into image when they are needed as +# separate files in /etc/apt/sources.list.d/ directory. For that purpose they +# are defined in kolla/template/repos.yaml file. diff --git a/releasenotes/notes/deb822-3f0435dfce6da841.yaml b/releasenotes/notes/deb822-3f0435dfce6da841.yaml new file mode 100644 index 0000000000..572248317f --- /dev/null +++ b/releasenotes/notes/deb822-3f0435dfce6da841.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + ``base`` container image sources.list for Debian and Ubuntu have been + reworked to use ``deb822`` and now are called ``debian.sources`` and + ``ubuntu.sources``. diff --git a/tests/templates/template_overrides.j2 b/tests/templates/template_overrides.j2 index d9d89b3e0e..481795cd65 100644 --- a/tests/templates/template_overrides.j2 +++ b/tests/templates/template_overrides.j2 @@ -34,16 +34,19 @@ RUN sed -i -e "s/^mirrorlist/#mirrorlist/g" -e "s/^#baseurl/baseurl/g" \ {% endraw %} {% if base_distro == "debian" %} -RUN sed -i -e "s|http://deb.debian.org|[trusted=yes] http://{{ nodepool_mirror_host }}|" \ - -e "s|http://security.debian.org|[trusted=yes] http://{{ nodepool_mirror_host }}|" \ - /etc/apt/sources.list +RUN cp /etc/apt/sources.list.d/debian.sources /tmp/ && \ + sed -i -e "s|^URIs: http://deb.debian.org/debian$|URIs: http://{{ nodepool_mirror_host }}/debian\nTrusted: yes|" \ + -e "s|^URIs: http://deb.debian.org/debian-security|URIs: http://{{ nodepool_mirror_host }}/debian-security\nTrusted: yes|" \ + /etc/apt/sources.list.d/debian.sources {% elif base_distro == "ubuntu" %} -RUN sed -i -e "s|mirror://mirrors.ubuntu.com/mirrors.txt|[trusted=yes] http://{{ nodepool_mirror_host }}/ubuntu/|" \ - -e "s|http://ports.ubuntu.com|[trusted=yes] http://{{ nodepool_mirror_host }}/ubuntu-ports|" \ - -e "s|http://ubuntu-cloud.archive.canonical.com/ubuntu|[trusted=yes] http://{{ nodepool_mirror_host }}/ubuntu-cloud-archive|" \ - /etc/apt/sources.list +RUN cp /etc/apt/sources.list.d/ubuntu.sources /tmp/ && \ + sed -i -e "s|^URIs: http://archive.ubuntu.com/ubuntu/$|URIs: http://{{ nodepool_mirror_host }}/ubuntu/\nTrusted: yes|" \ + -e "s|^URIs: http://security.ubuntu.com/ubuntu/$|URIs: http://{{ nodepool_mirror_host }}/ubuntu/\nTrusted: yes|" \ + -e "s|^URIs: http://ports.ubuntu.com/ubuntu-ports/$|URIs: http://{{ nodepool_mirror_host }}/ubuntu-ports/\nTrusted: yes|" \ + -e "s|^URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu$|URIs: http://{{ nodepool_mirror_host }}/ubuntu-cloud-archive\nTrusted: yes|" \ + /etc/apt/sources.list.d/ubuntu.sources {% endif %} {% raw %} @@ -59,21 +62,19 @@ ENV PIP_TRUSTED_HOST= {% if use_infra_wheels_mirror | default(true) %} ENV PIP_EXTRA_INDEX_URL= {% endif %} - RUN if [ -f /usr/etc/npmrc ]; then \ unlink /usr/etc/npmrc; \ fi \ && rm -f /etc/npmrc {% if base_distro == "debian" %} -RUN sed -i -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}|http://deb.debian.org|" \ - -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}|http://security.debian.org|" \ - /etc/apt/sources.list +RUN if [ -f /tmp/debian.sources ]; then \ + mv -f /tmp/debian.sources /etc/apt/sources.list.d/debian.sources; \ + fi {% elif base_distro == "ubuntu" %} -RUN sed -i -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}/ubuntu/|mirror://mirrors.ubuntu.com/mirrors.txt|" \ - -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}/ubuntu-cloud-archive|http://ubuntu-cloud.archive.canonical.com/ubuntu|" \ - -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}/ubuntu-ports|http://ports.ubuntu.com|" \ - /etc/apt/sources.list +RUN if [ -f /tmp/ubuntu.sources ]; then \ + mv -f /tmp/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources; \ + fi {% endif %} {% raw %} {% endblock %} From cee27f6426f49b4242b0535d0e0dee6f8a44dbda Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Fri, 24 Oct 2025 16:58:36 +0200 Subject: [PATCH 10/14] Switch to Debian Trixie Change-Id: Ib7f551d4a7c6ffe95786853d6899e704de4747b8 Signed-off-by: Michal Nasiadka --- doc/source/support_matrix.rst | 2 +- docker/base/apt_preferences.debian | 2 +- docker/base/debian.sources | 4 +- docker/httpd/Dockerfile.j2 | 3 +- docker/openstack-base/Dockerfile.j2 | 2 +- docker/valkey/valkey-sentinel/Dockerfile.j2 | 6 +-- docker/valkey/valkey-server/Dockerfile.j2 | 10 ++--- kolla/common/config.py | 9 ++-- kolla/image/unbuildable.py | 2 - kolla/template/repos.yaml | 19 +++++---- kolla/tests/test_methods.py | 8 ++-- .../notes/debian-trixie-23987480043dc662.yaml | 5 +++ zuul.d/debian.yaml | 42 +++++++++---------- zuul.d/nodesets.yaml | 13 +++++- 14 files changed, 66 insertions(+), 61 deletions(-) create mode 100644 releasenotes/notes/debian-trixie-23987480043dc662.yaml diff --git a/doc/source/support_matrix.rst b/doc/source/support_matrix.rst index 48338af6f9..445ed08c63 100644 --- a/doc/source/support_matrix.rst +++ b/doc/source/support_matrix.rst @@ -18,7 +18,7 @@ The following base container images are supported: Distribution Default base Default base tag ================== =============================== ================ Rocky Linux quay.io/rockylinux/rockylinux 10 -Debian Bookworm debian bookworm +Debian Trixie debian trixie Ubuntu Noble ubuntu 24.04 ================== =============================== ================ diff --git a/docker/base/apt_preferences.debian b/docker/base/apt_preferences.debian index 5edb8814a4..08e21ff227 100644 --- a/docker/base/apt_preferences.debian +++ b/docker/base/apt_preferences.debian @@ -1,4 +1,4 @@ # NOTE(hrw): we do not want backports unless requested Package: * -Pin: release n=bookworm-backports +Pin: release n=trixie-backports Pin-Priority: -1000 diff --git a/docker/base/debian.sources b/docker/base/debian.sources index 2b502a609b..28c61c81d4 100644 --- a/docker/base/debian.sources +++ b/docker/base/debian.sources @@ -1,13 +1,13 @@ Types: deb # http://snapshot.debian.org/archive/debian/20251020T000000Z URIs: http://deb.debian.org/debian -Suites: bookworm bookworm-updates bookworm-backports +Suites: trixie trixie-updates trixie-backports Components: main Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Types: deb # http://snapshot.debian.org/archive/debian-security/20251020T000000Z URIs: http://deb.debian.org/debian-security -Suites: bookworm-security +Suites: trixie-security Components: main Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg diff --git a/docker/httpd/Dockerfile.j2 b/docker/httpd/Dockerfile.j2 index 2b58e7b127..a414656611 100644 --- a/docker/httpd/Dockerfile.j2 +++ b/docker/httpd/Dockerfile.j2 @@ -22,8 +22,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'apache2', 'ca-certificates', 'libapache2-mod-auth-mellon', - 'libapache2-mod-auth-openidc', - 'libapache2-mod-proxy-uwsgi' + 'libapache2-mod-auth-openidc' ] %} {% endif %} diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2 index fafd405d55..85b1f4b002 100644 --- a/docker/openstack-base/Dockerfile.j2 +++ b/docker/openstack-base/Dockerfile.j2 @@ -44,7 +44,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'git', 'libapache2-mod-wsgi-py3', 'libffi-dev', - 'libpcre3-dev', + 'libpcre2-dev', 'libpq-dev', 'libssl-dev', 'libxml2-dev', diff --git a/docker/valkey/valkey-sentinel/Dockerfile.j2 b/docker/valkey/valkey-sentinel/Dockerfile.j2 index e3045d2fe9..9cdfac282f 100644 --- a/docker/valkey/valkey-sentinel/Dockerfile.j2 +++ b/docker/valkey/valkey-sentinel/Dockerfile.j2 @@ -11,11 +11,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.enable_extra_repos(['epel']) }} {% set valkey_sentinel_packages = ['valkey'] %} {% elif base_package_type == 'deb' %} - {% if base_distro == 'debian' %} - {% set valkey_sentinel_packages = ['valkey-sentinel/bookworm-backports'] %} - {% else %} - {% set valkey_sentinel_packages = ['valkey-sentinel'] %} - {% endif %} + {% set valkey_sentinel_packages = ['valkey-sentinel'] %} {% endif %} {{ macros.install_packages(valkey_sentinel_packages | customizable("packages")) }} diff --git a/docker/valkey/valkey-server/Dockerfile.j2 b/docker/valkey/valkey-server/Dockerfile.j2 index 7b989f66b4..9d187ffbe4 100644 --- a/docker/valkey/valkey-server/Dockerfile.j2 +++ b/docker/valkey/valkey-server/Dockerfile.j2 @@ -9,14 +9,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if base_package_type == 'rpm' %} {{ macros.enable_extra_repos(['epel']) }} - {% set valkey_server_packages = ['valkey'] %} -{% elif base_package_type == 'deb' %} - {% if base_distro == 'debian' %} - {% set valkey_server_packages = ['valkey/bookworm-backports'] %} - {% else %} - {% set valkey_server_packages = ['valkey'] %} - {% endif %} {% endif %} + +{% set valkey_server_packages = ['valkey'] %} + {{ macros.install_packages(valkey_server_packages | customizable("packages")) }} {{ macros.kolla_patch_sources() }} diff --git a/kolla/common/config.py b/kolla/common/config.py index f0fa025e35..9999393010 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -26,22 +26,21 @@ DEBIAN_ARCH = ['amd64', 'arm64'] DEFAULT_BASE_TAGS = { 'centos': {'name': 'quay.io/centos/centos', 'tag': 'stream10'}, - 'debian': {'name': 'debian', 'tag': 'bookworm'}, + 'debian': {'name': 'debian', 'tag': 'trixie'}, '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)', + 'debian': 'Debian GNU/Linux 13 (trixie)', 'rocky': 'Rocky Linux 10.* (Red Quartz)', 'ubuntu': 'Ubuntu 24.04.* LTS', } OPENSTACK_RELEASE = 'master' -# NOTE(mnasiadka): Using Epoxy here, since Debian OpenStack builds Flamingo -# only for Trixie -OPENSTACK_RELEASE_CODENAME = 'Epoxy' +# NOTE(mnasiadka): Using Flamingo here until Gazpacho shows up in osbpo +OPENSTACK_RELEASE_CODENAME = 'Flamingo' # TODO(mandre) check for file integrity instead of downloading from an HTTPS # source diff --git a/kolla/image/unbuildable.py b/kolla/image/unbuildable.py index d117ba0a75..06c1f51f99 100644 --- a/kolla/image/unbuildable.py +++ b/kolla/image/unbuildable.py @@ -31,8 +31,6 @@ }, 'debian': { - "openvswitch-netcontrold", - # https://bugs.launchpad.net/kolla/+bug/2027668 }, 'rocky': { diff --git a/kolla/template/repos.yaml b/kolla/template/repos.yaml index 7d9d7ec71a..efdb15376b 100644 --- a/kolla/template/repos.yaml +++ b/kolla/template/repos.yaml @@ -27,39 +27,40 @@ deb: debian: erlang: url: "https://ppa.launchpadcontent.net/rabbitmq/rabbitmq-erlang/ubuntu" - suite: "jammy" + suite: "noble" component: "main" gpg_key: "erlang-ppa.gpg" docker-ce: url: "https://download.docker.com/linux/debian" - suite: "bookworm" + suite: "trixie" component: "stable" gpg_key: "docker-ce.asc" fluentd: - url: "https://fluentd.cdn.cncf.io/lts/6/debian/bookworm" - suite: "bookworm" + url: "https://fluentd.cdn.cncf.io/lts/6/debian/trixie" + suite: "trixie" component: "contrib" gpg_key: "fluentd.asc" + # NOTE(mnasiadka): 11.4 does not have trixie builds yet mariadb: url: "https://dlm.mariadb.com/repo/mariadb-server/11.4/repo/debian" suite: "bookworm" component: "main" gpg_key: "mariadb.gpg" proxysql: - url: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/bookworm/" + url: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/trixie/" suite: "./" component: "" gpg_key: "proxysql.asc" rabbitmq: - url: "https://deb1.rabbitmq.com/rabbitmq-server/debian/bookworm" - suite: "bookworm" + url: "https://deb1.rabbitmq.com/rabbitmq-server/debian/trixie/" + suite: "trixie" component: "main" gpg_key: "rabbitmq.gpg" debian-aarch64: rabbitmq: - url: "https://deb1.rabbitmq.com/rabbitmq-server/debian/bookworm" - suite: "bookworm" + url: "https://deb1.rabbitmq.com/rabbitmq-server/debian/trixie" + suite: "trixie" component: "main" # NOTE(mnasiadka): Since rabbitmq is really noarch and community mirror is not # syncing binary-aarch64 - we're using amd64 here. diff --git a/kolla/tests/test_methods.py b/kolla/tests/test_methods.py index 2d2fdd3edc..f304623625 100644 --- a/kolla/tests/test_methods.py +++ b/kolla/tests/test_methods.py @@ -191,13 +191,13 @@ def test_enable_repos_debian_arch(self): } result = methods.handle_repos(template_vars, ["rabbitmq"], "enable") - expectCmd = "RUN echo 'Uris: https://deb1.rabbitmq.com/rabbitmq-server/debian/bookworm' " # noqa: E501 + expectCmd = "RUN echo 'Uris: https://deb1.rabbitmq.com/rabbitmq-server/debian/trixie' " # noqa: E501 expectCmd += ">/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Components: main' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Types: deb' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " - expectCmd += "echo 'Suites: bookworm' " + expectCmd += "echo 'Suites: trixie' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Signed-By: /etc/kolla/apt-keys/rabbitmq.gpg' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " @@ -236,13 +236,13 @@ def test_enable_repos_debian_multiple(self): expectCmd += ">>/etc/apt/sources.list.d/grafana.sources && " expectCmd += "echo 'Uris: " - expectCmd += "https://deb1.rabbitmq.com/rabbitmq-server/debian/bookworm' " # noqa: E501 + expectCmd += "https://deb1.rabbitmq.com/rabbitmq-server/debian/trixie/' " # noqa: E501 expectCmd += ">/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Components: main' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Types: deb' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " - expectCmd += "echo 'Suites: bookworm' " + expectCmd += "echo 'Suites: trixie' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Signed-By: /etc/kolla/apt-keys/rabbitmq.gpg' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources" diff --git a/releasenotes/notes/debian-trixie-23987480043dc662.yaml b/releasenotes/notes/debian-trixie-23987480043dc662.yaml new file mode 100644 index 0000000000..68555cfea9 --- /dev/null +++ b/releasenotes/notes/debian-trixie-23987480043dc662.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Debian ``trixie`` is now used instead of ``bookworm``. Trixie is the current + stable release of Debian. diff --git a/zuul.d/debian.yaml b/zuul.d/debian.yaml index 847a0b4d17..d40f10fc08 100644 --- a/zuul.d/debian.yaml +++ b/zuul.d/debian.yaml @@ -1,23 +1,23 @@ --- - job: - name: kolla-build-debian-bookworm + name: kolla-build-debian-trixie parent: kolla-base - nodeset: kolla-debian-bookworm-8GB + nodeset: kolla-debian-trixie-8GB - job: - name: kolla-build-debian-bookworm-podman + name: kolla-build-debian-trixie-podman parent: kolla-base-podman - nodeset: kolla-debian-bookworm-8GB + nodeset: kolla-debian-trixie-8GB - job: - name: kolla-build-debian-bookworm-arm64 - parent: kolla-build-debian-bookworm - nodeset: kolla-debian-bookworm-arm64-8GB + name: kolla-build-debian-trixie-arm64 + parent: kolla-build-debian-trixie + nodeset: kolla-debian-trixie-arm64-8GB voting: false - job: - name: kolla-publish-debian-bookworm-quay - parent: kolla-build-debian-bookworm + name: kolla-publish-debian-trixie-quay + parent: kolla-build-debian-trixie post-run: tests/playbooks/publish.yml vars: publisher: true @@ -28,8 +28,8 @@ - kolla_quay_io_api_oct_2025 - job: - name: kolla-publish-debian-bookworm-arm64-quay - parent: kolla-build-debian-bookworm-arm64 + name: kolla-publish-debian-trixie-arm64-quay + parent: kolla-build-debian-trixie-arm64 post-run: tests/playbooks/publish.yml vars: publisher: true @@ -40,9 +40,9 @@ - kolla_quay_io_api_oct_2025 - job: - name: kolla-build-debian-bookworm-no-infra-wheels + name: kolla-build-debian-trixie-no-infra-wheels parent: kolla-build-no-infra-wheels-base - nodeset: kolla-debian-bookworm-8GB + nodeset: kolla-debian-trixie-8GB - project-template: name: kolla-build-debian @@ -50,19 +50,19 @@ Runs Kolla Debian build jobs. check: jobs: - - kolla-build-debian-bookworm - - kolla-build-debian-bookworm-podman + - kolla-build-debian-trixie + - kolla-build-debian-trixie-podman check-arm64: jobs: - - kolla-build-debian-bookworm-arm64 + - kolla-build-debian-trixie-arm64 gate: jobs: - - kolla-build-debian-bookworm - - kolla-build-debian-bookworm-podman + - kolla-build-debian-trixie + - kolla-build-debian-trixie-podman experimental: jobs: - - kolla-build-debian-bookworm-no-infra-wheels + - kolla-build-debian-trixie-no-infra-wheels periodic: jobs: - - kolla-publish-debian-bookworm-quay - - kolla-publish-debian-bookworm-arm64-quay + - kolla-publish-debian-trixie-quay + - kolla-publish-debian-trixie-arm64-quay diff --git a/zuul.d/nodesets.yaml b/zuul.d/nodesets.yaml index 5a069beb6e..1c85b45fba 100644 --- a/zuul.d/nodesets.yaml +++ b/zuul.d/nodesets.yaml @@ -16,13 +16,24 @@ nodes: - name: primary label: debian-bookworm-8GB - - nodeset: name: kolla-debian-bookworm-arm64-8GB nodes: - name: primary label: debian-bookworm-arm64-8GB +- nodeset: + name: kolla-debian-trixie-8GB + nodes: + - name: primary + label: debian-trixie-8GB + +- nodeset: + name: kolla-debian-trixie-arm64-8GB + nodes: + - name: primary + label: debian-trixie-arm64-8GB + - nodeset: name: kolla-rocky-10-8GB nodes: From ef12d96731bc82472941c81ac24e3a13736674d0 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Fri, 5 Dec 2025 08:20:55 +0100 Subject: [PATCH 11/14] kolla-toolbox: Bump ansible-core to 2.20 Change-Id: I2a74d906b5239b3896fcdca015a9b37641ade833 Signed-off-by: Michal Nasiadka --- docker/kolla-toolbox/Dockerfile.j2 | 2 +- releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2 index 9f97ed3866..6a0796bfbe 100644 --- a/docker/kolla-toolbox/Dockerfile.j2 +++ b/docker/kolla-toolbox/Dockerfile.j2 @@ -96,7 +96,7 @@ RUN mkdir -p /requirements \ ENV PATH {{ venv_path }}/bin:$PATH {% set kolla_toolbox_pip_packages = [ - 'ansible-core==2.19.*', + 'ansible-core==2.20.*', 'cmd2', 'influxdb', 'openstacksdk', diff --git a/releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml b/releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml new file mode 100644 index 0000000000..bf7ac0e7d7 --- /dev/null +++ b/releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Version of ``ansible-core`` in ``kolla-toolbox`` has been updated to + ``2.20``. From cfebb40d863aacc5553553bd1b1d3e11c8c3e7e7 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Tue, 27 Aug 2024 20:02:08 +0200 Subject: [PATCH 12/14] mariadb: Sync packages across distros Change-Id: I93ac9c28332644f51fa350d5a7a6207ae822e4cf Signed-off-by: Michal Nasiadka --- docker/mariadb-server/Dockerfile.j2 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/mariadb-server/Dockerfile.j2 b/docker/mariadb-server/Dockerfile.j2 index 18811f36ea..af9297396a 100644 --- a/docker/mariadb-server/Dockerfile.j2 +++ b/docker/mariadb-server/Dockerfile.j2 @@ -33,7 +33,10 @@ RUN ln -s /usr/lib64/galera-4 /usr/lib64/galera 'expect', 'mariadb-backup', 'mariadb-client', - 'mariadb-server' + 'mariadb-server', + 'pv', + 'rsync', + 'tar' ] %} {% endif %} From 8aa631d40c0960a257382c50c16dfb45b07d19c1 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Mon, 22 Dec 2025 12:13:03 +0000 Subject: [PATCH 13/14] Revert "kolla-toolbox: Bump ansible-core to 2.20" This reverts commit ef12d96731bc82472941c81ac24e3a13736674d0. Reason for revert: Broke community.mysql Change-Id: Icb85112c66645d8df00eb0c40076a6bd822f6866 Signed-off-by: Michal Nasiadka --- docker/kolla-toolbox/Dockerfile.j2 | 2 +- releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2 index 6a0796bfbe..9f97ed3866 100644 --- a/docker/kolla-toolbox/Dockerfile.j2 +++ b/docker/kolla-toolbox/Dockerfile.j2 @@ -96,7 +96,7 @@ RUN mkdir -p /requirements \ ENV PATH {{ venv_path }}/bin:$PATH {% set kolla_toolbox_pip_packages = [ - 'ansible-core==2.20.*', + 'ansible-core==2.19.*', 'cmd2', 'influxdb', 'openstacksdk', diff --git a/releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml b/releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml deleted file mode 100644 index bf7ac0e7d7..0000000000 --- a/releasenotes/notes/ansible-core-2-20-bd912e1767d5f197.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - Version of ``ansible-core`` in ``kolla-toolbox`` has been updated to - ``2.20``. From 9a09f82646c577c4b484eeaac7bf56d8005da11b Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Mon, 22 Dec 2025 10:59:02 +0100 Subject: [PATCH 14/14] CI: Add ^docker/ trigger for aio jobs Without that - these are not run at all Update Bookworm to Trixie while we're at it Change-Id: I6fb70da636514b5c1057c16cc2df08b07820bc5f Signed-off-by: Michal Nasiadka --- zuul.d/scenarios/aio.yaml | 45 ++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/zuul.d/scenarios/aio.yaml b/zuul.d/scenarios/aio.yaml index 6b38b95d1c..392ea7b228 100644 --- a/zuul.d/scenarios/aio.yaml +++ b/zuul.d/scenarios/aio.yaml @@ -5,22 +5,37 @@ Runs Kolla-Ansible AIO jobs on all Kolla changes. check: jobs: - - kolla-ansible-centos-10s - - kolla-ansible-debian-bookworm - - kolla-ansible-debian-bookworm-upgrade - - kolla-ansible-rocky-10 - - kolla-ansible-rocky-10-upgrade - - kolla-ansible-ubuntu-noble - - kolla-ansible-ubuntu-noble-upgrade + - kolla-ansible-centos-10s: + files: ^docker/ + - kolla-ansible-debian-trixie: + files: ^docker/ + - kolla-ansible-debian-bookworm-upgrade: + files: ^docker/ + - kolla-ansible-rocky-10: + files: ^docker/ + - kolla-ansible-rocky-10-upgrade: + files: ^docker/ + - kolla-ansible-ubuntu-noble: + files: ^docker/ + - kolla-ansible-ubuntu-noble-upgrade: + files: ^docker/ check-arm64: jobs: - - kolla-ansible-centos-10s-aarch64 - - kolla-ansible-debian-bookworm-aarch64 + - kolla-ansible-centos-10s-aarch64: + files: ^docker/ + - kolla-ansible-debian-bookworm-aarch64: + files: ^docker/ gate: jobs: - - kolla-ansible-debian-bookworm - - kolla-ansible-debian-bookworm-upgrade - - kolla-ansible-rocky-10 - - kolla-ansible-rocky-10-upgrade - - kolla-ansible-ubuntu-noble - - kolla-ansible-ubuntu-noble-upgrade + - kolla-ansible-debian-trixie: + files: ^docker/ + - kolla-ansible-debian-bookworm-upgrade: + files: ^docker/ + - kolla-ansible-rocky-10: + files: ^docker/ + - kolla-ansible-rocky-10-upgrade: + files: ^docker/ + - kolla-ansible-ubuntu-noble: + files: ^docker/ + - kolla-ansible-ubuntu-noble-upgrade: + files: ^docker/