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/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/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 new file mode 100644 index 0000000000..28c61c81d4 --- /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: 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: trixie-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/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/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/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 %} 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/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``. 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/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/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 = 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 %} 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: 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)/