From 9c54f236bcfcfb51818279b4ef4df4684f098bb8 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Thu, 29 Aug 2024 08:19:04 +0200 Subject: [PATCH 1/7] keystone: Fix requests-kerberos installation Since it was bundled with plugins installation, and we did not have any plugins in keystone container - it was not installed at all. Adding in libkrb5 dependencies for requests-kerberos. Closes-Bug: #2078305 Change-Id: I51c69d0673280e351daa410d943f769d33a10d6c (cherry picked from commit 082d90cca02b0e3935363c7ce2e7ae718bcbb789) --- docker/keystone/keystone/Dockerfile.j2 | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docker/keystone/keystone/Dockerfile.j2 b/docker/keystone/keystone/Dockerfile.j2 index 6f7f7d6ec7..97393fef8e 100644 --- a/docker/keystone/keystone/Dockerfile.j2 +++ b/docker/keystone/keystone/Dockerfile.j2 @@ -9,19 +9,27 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if base_package_type == 'rpm' %} {% set keystone_packages = [ + 'krb5-devel', 'mod_auth_gssapi', ] %} {% elif base_package_type == 'deb' %} {% set keystone_packages = [ 'libapache2-mod-auth-gssapi', + 'libkrb5-dev', ] %} {% endif %} {{ macros.install_packages(keystone_packages | customizable("packages")) }} + +{% set keystone_pip_packages = [ + 'requests-kerberos', +] %} + +RUN {{ macros.install_pip(keystone_pip_packages | customizable("pip_packages")) }} + ADD plugins-archive / {% set keystone_plugins_pip_packages = [ '/plugins/*', - 'requests-kerberos', ] %} COPY keystone_bootstrap.sh /usr/local/bin/kolla_keystone_bootstrap From 4df43abd70c6045f0f8295fbc46f993fbf9290f4 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Tue, 23 Jul 2024 16:58:09 +0100 Subject: [PATCH 2/7] Fix symlinking of openstack-base source Original symlinking works fine with a tarball source for the requirements repo. However, when user supplies git type source of it, we cannot guarantee that the source direcotry name contains ``requirements``. This patch fixes it by moving plugins directory outside of openstack-base directory, which ultimately allow us to use simpler symlinking as openstack-base-archive would be the only directory inside. Closes-Bug: #2074075 Change-Id: I5a9162a30b23cfabb64dabe5c12c226fa8627abd (cherry picked from commit 978a2864f923fa2e65afa13808571ea7738729e6) --- docker/openstack-base/Dockerfile.j2 | 11 +++++------ .../notes/fix-git-build-23c8fe6c4b0d92c4.yaml | 6 ++++++ 2 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 releasenotes/notes/fix-git-build-23c8fe6c4b0d92c4.yaml diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2 index df03aaced1..1df4321e58 100644 --- a/docker/openstack-base/Dockerfile.j2 +++ b/docker/openstack-base/Dockerfile.j2 @@ -135,7 +135,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'pika', 'prettytable', 'psutil', - '/pycadf', + '/plugins/pycadf*', 'pyinotify', 'pymysql', 'pyngus', @@ -182,13 +182,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build %} ADD openstack-base-archive /openstack-base-source -ADD plugins-archive /openstack-base-source +ADD plugins-archive / -RUN ln -s openstack-base-source/plugins/* /pycadf \ - && mkdir -p /etc/pycadf \ - && cp /pycadf/etc/pycadf/* /etc/pycadf/ +RUN mkdir -p /etc/pycadf \ + && cp /plugins/pycadf*/etc/pycadf/* /etc/pycadf/ -RUN ln -s openstack-base-source/*requirements* /requirements \ +RUN ln -s openstack-base-source/* /requirements \ {# NOTE(mnasiadka): Remove ovs from upper-constraints.txt because python3-openvswitch is usually newer than UC entry and older version would get installed diff --git a/releasenotes/notes/fix-git-build-23c8fe6c4b0d92c4.yaml b/releasenotes/notes/fix-git-build-23c8fe6c4b0d92c4.yaml new file mode 100644 index 0000000000..e89710b758 --- /dev/null +++ b/releasenotes/notes/fix-git-build-23c8fe6c4b0d92c4.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fixed a bug preventing image builds when requirements are provided from + git type source. + `LP#2074075 `__ From a58a7f88dea997a2a98ce4f5d1894b13d1f0d4d5 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Mon, 19 Aug 2024 11:29:06 +0100 Subject: [PATCH 3/7] Pin OpenSearch Dashboards to 2.15 OpenSearch Dashboards 2.16.0 discover page hangs after initial deployment due to an upstream bug [1]. This change fixes the issue by pinning OpenSearch Dashboards to 2.15. Note that it seemed safer not to pin OpenSearch to fix this issue, to avoid breaking deployments that have already deployed 2.16. [1] https://github.com/opensearch-project/OpenSearch-Dashboards/issues/7626 Closes-Bug: #2077319 Change-Id: I0de9928b2657ab5f31580325e866bff28f2b5510 (cherry picked from commit 3c49991a86cb26dd0447fa748d1df9df5aed92bb) --- .../opensearch-dashboards/Dockerfile.j2 | 15 ++++++++++++++- .../apt_preferences_opensearch_dashboards | 3 +++ .../notes/bug-2077319-a47a06175a589a1a.yaml | 9 +++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 docker/opensearch/opensearch-dashboards/apt_preferences_opensearch_dashboards create mode 100644 releasenotes/notes/bug-2077319-a47a06175a589a1a.yaml diff --git a/docker/opensearch/opensearch-dashboards/Dockerfile.j2 b/docker/opensearch/opensearch-dashboards/Dockerfile.j2 index a4bbd29f44..ee3ffa41b9 100644 --- a/docker/opensearch/opensearch-dashboards/Dockerfile.j2 +++ b/docker/opensearch/opensearch-dashboards/Dockerfile.j2 @@ -10,7 +10,20 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.configure_user(name='opensearch-dashboards', shell='/bin/bash', homedir='/usr/share/opensearch-dashboards') }} {{ macros.enable_extra_repos(['opensearch-dashboards']) }} -{% set opensearch_dashboards_packages = ['opensearch-dashboards'] %} +# NOTE(mgoddard): Pinning to 2.15 due to https://bugs.launchpad.net/kolla/+bug/2077319 +{% if base_package_type == 'deb' %} +COPY apt_preferences_opensearch_dashboards /etc/apt/preferences.d/opensearch_dashboards +{% endif %} + +{% if base_package_type == 'rpm' %} + {% set opensearch_dashboards_packages = [ + 'opensearch-dashboards-2.15.*' + ] %} +{% elif base_package_type == 'deb' %} + {% set opensearch_dashboards_packages = [ + 'opensearch-dashboards' + ] %} +{% endif %} {{ macros.install_packages(opensearch_dashboards_packages | customizable("packages")) }} diff --git a/docker/opensearch/opensearch-dashboards/apt_preferences_opensearch_dashboards b/docker/opensearch/opensearch-dashboards/apt_preferences_opensearch_dashboards new file mode 100644 index 0000000000..78bcda585b --- /dev/null +++ b/docker/opensearch/opensearch-dashboards/apt_preferences_opensearch_dashboards @@ -0,0 +1,3 @@ +Package: opensearch-dashboards +Pin: version 2.15.* +Pin-Priority: 1000 diff --git a/releasenotes/notes/bug-2077319-a47a06175a589a1a.yaml b/releasenotes/notes/bug-2077319-a47a06175a589a1a.yaml new file mode 100644 index 0000000000..7a259609f6 --- /dev/null +++ b/releasenotes/notes/bug-2077319-a47a06175a589a1a.yaml @@ -0,0 +1,9 @@ +--- +fixes: + - | + Fixes an `issue + `__ + in the OpenSearch Dashboards image where the discover page would hang after + initial deployment when there is no index pattern. This has been resolved + by reverting OpenSearch Dashboards to version 2.15. + `LP#2077319 `__ From 6f63211cffde4a687028c53a652cb71349eaee91 Mon Sep 17 00:00:00 2001 From: Matt Crees Date: Wed, 11 Sep 2024 15:48:55 +0100 Subject: [PATCH 4/7] rabbitmq: Switch to Cloudsmith mirrors PackageCloud is discontinued as of August 18th [1]. Also corrects the versions docs for RabbitMQ and Erlang. Use new RMQ Cloudsmith repo URLs, these now use *.rabbitmq.com domains [2]. 1. https://www.rabbitmq.com/blog/2024/08/11/package-repository-updates#packagecloud-will-be-discontinued-on-aug-18th-2024 2. https://www.rabbitmq.com/blog/2024/08/11/package-repository-updates#mirrors-now-use-rabbitmqcom-domains Change-Id: I2cce3dd2540c878878ff0aae80ee5a7e0f455da7 (cherry picked from commit 528b7eef167996041f7cd3b2184fbcd6b5ff57fb) --- doc/source/contributor/versions.rst | 16 ++++++++-------- docker/base/rabbitmq_rabbitmq-erlang.repo | 7 +++++-- docker/base/rabbitmq_rabbitmq-server.repo | 7 +++++-- kolla/template/repos.yaml | 8 ++++---- kolla/tests/test_methods.py | 4 ++-- ...grate-from-packagecloud-59d7e9e0a10e1da0.yaml | 7 +++++++ 6 files changed, 31 insertions(+), 18 deletions(-) create mode 100644 releasenotes/notes/rabbitmq-erlang-migrate-from-packagecloud-59d7e9e0a10e1da0.yaml diff --git a/doc/source/contributor/versions.rst b/doc/source/contributor/versions.rst index 42ec7ef593..98767e20be 100644 --- a/doc/source/contributor/versions.rst +++ b/doc/source/contributor/versions.rst @@ -23,14 +23,14 @@ information about package sources. Galera 26.4 (LTS) `MariaDB Community downloads`_ OpenSearch 2.x `OpenSearch install guide`_ ProxySQL 2.6.x `ProxySQL repository`_ - Rabbitmq 3.10.x - CentOS: - `Team RabbitMQ 'PackageCloud' repository`_ + Rabbitmq 3.13.x - CentOS/Rocky: + `Team RabbitMQ 'Cloudsmith' repo (RPM)`_ - Debian/Ubuntu: - `Team RabbitMQ 'Cloudsmith' repository`_ - Erlang 25.x - CentOS aarch64: + `Team RabbitMQ 'Cloudsmith' repo (Deb)`_ + Erlang 26.2.X - CentOS/Rocky aarch64: `Hrw's COPR`_ - - CentOS x86-64: - `Team RabbitMQ 'PackageCloud' repository`_ + - CentOS/Rocky x86-64: + `Team RabbitMQ 'Cloudsmith' repo (RPM)`_ - Debian/Ubuntu: `Team RabbitMQ 'Modern Erlang' PPA`_ TD Agent 4.4.x `TreasureData install guide`_ @@ -44,9 +44,9 @@ information about package sources. .. _`TreasureData install guide`: https://www.fluentd.org/download .. _`ProxySQL repository`: https://repo.proxysql.com/ProxySQL/proxysql-2.6.x/ -.. _`Team RabbitMQ 'Cloudsmith' repository`: https://www.rabbitmq.com/install-debian.html#apt-cloudsmith +.. _`Team RabbitMQ 'Cloudsmith' repo (Deb)`: https://www.rabbitmq.com/install-debian.html#apt-cloudsmith .. _`Team RabbitMQ 'Modern Erlang' PPA`: https://launchpad.net/~rabbitmq/+archive/ubuntu/rabbitmq-erlang -.. _`Team RabbitMQ 'PackageCloud' repository`: https://www.rabbitmq.com/install-rpm.html#package-cloud +.. _`Team RabbitMQ 'Cloudsmith' repo (RPM)`: https://www.rabbitmq.com/docs/install-rpm#cloudsmith .. _`Hrw's COPR`: https://copr.fedorainfracloud.org/coprs/hrw/erlang-for-rabbitmq/ .. _`Grafana install guide`: https://grafana.com/grafana/download?platform=linux&edition=oss diff --git a/docker/base/rabbitmq_rabbitmq-erlang.repo b/docker/base/rabbitmq_rabbitmq-erlang.repo index 0c9681bc66..82b0441e06 100644 --- a/docker/base/rabbitmq_rabbitmq-erlang.repo +++ b/docker/base/rabbitmq_rabbitmq-erlang.repo @@ -1,6 +1,9 @@ [rabbitmq_rabbitmq-erlang] name=rabbitmq_rabbitmq-erlang -baseurl=https://packagecloud.io/rabbitmq/erlang/el/9/$basearch +# Use a set of mirrors maintained by the RabbitMQ core team. +# The mirrors have significantly higher bandwidth quotas. +baseurl=https://yum1.rabbitmq.com/erlang/el/9/$basearch + https://yum2.rabbitmq.com/erlang/el/9/$basearch gpgcheck=1 enabled=0 -gpgkey = https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc +gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key diff --git a/docker/base/rabbitmq_rabbitmq-server.repo b/docker/base/rabbitmq_rabbitmq-server.repo index d08af4c54a..0680c11e1d 100644 --- a/docker/base/rabbitmq_rabbitmq-server.repo +++ b/docker/base/rabbitmq_rabbitmq-server.repo @@ -1,6 +1,9 @@ [rabbitmq_rabbitmq-server] name=rabbitmq_rabbitmq-server -baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/9/$basearch +baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/noarch + https://yum1.rabbitmq.com/rabbitmq/el/9/noarch gpgcheck=1 enabled=0 -gpgkey = https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc +# Cloudsmith's repository key and RabbitMQ package signing key +gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key + https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc diff --git a/kolla/template/repos.yaml b/kolla/template/repos.yaml index 1c7572b48e..65cb7b745b 100644 --- a/kolla/template/repos.yaml +++ b/kolla/template/repos.yaml @@ -80,7 +80,7 @@ debian: component: "" gpg_key: "proxysql.asc" rabbitmq: - url: "https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/debian" + url: "https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian" suite: "bullseye" component: "main" gpg_key: "rabbitmq.gpg" @@ -127,7 +127,7 @@ debian-aarch64: component: "" gpg_key: "proxysql.asc" rabbitmq: - url: "https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/debian" + url: "https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian" suite: "bullseye" component: "main" # NOTE(mnasiadka): Since rabbitmq is really noarch and community mirror is not @@ -213,7 +213,7 @@ ubuntu: component: "" gpg_key: "proxysql.asc" rabbitmq: - url: "https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu" + url: "https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/ubuntu" suite: "jammy" component: "main" gpg_key: "rabbitmq.gpg" @@ -260,7 +260,7 @@ ubuntu-aarch64: component: "" gpg_key: "proxysql.asc" rabbitmq: - url: "https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu" + url: "https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/ubuntu" suite: "jammy" component: "main" arch: "amd64" diff --git a/kolla/tests/test_methods.py b/kolla/tests/test_methods.py index 3ce9c6f9fd..dcdc4f4e95 100644 --- a/kolla/tests/test_methods.py +++ b/kolla/tests/test_methods.py @@ -86,7 +86,7 @@ def test_enable_repos_debian_arch(self): } result = methods.handle_repos(template_vars, ['rabbitmq'], 'enable') - expectCmd = "RUN echo 'Uris: https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/debian' " # noqa: E501 + expectCmd = "RUN echo 'Uris: https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian' " # noqa: E501 expectCmd += ">/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Components: main' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " @@ -133,7 +133,7 @@ def test_enable_repos_debian_multiple(self): expectCmd += ">>/etc/apt/sources.list.d/grafana.sources && " expectCmd += "echo 'Uris: " - expectCmd += "https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/debian' " # noqa: E501 + expectCmd += "https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian' " # noqa: E501 expectCmd += ">/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Components: main' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " diff --git a/releasenotes/notes/rabbitmq-erlang-migrate-from-packagecloud-59d7e9e0a10e1da0.yaml b/releasenotes/notes/rabbitmq-erlang-migrate-from-packagecloud-59d7e9e0a10e1da0.yaml new file mode 100644 index 0000000000..b1a66e16f6 --- /dev/null +++ b/releasenotes/notes/rabbitmq-erlang-migrate-from-packagecloud-59d7e9e0a10e1da0.yaml @@ -0,0 +1,7 @@ +--- +upgrade: + - | + RabbitMQ and Erlang packages are now all installed from the Cloudsmith + ``rabbitmq.com`` mirrors since the RabbitMQ ``packagecloud.io`` is getting + shut down August 18st, 2024: + https://www.rabbitmq.com/blog/2024/08/11/package-repository-updates#packagecloud-will-be-discontinued-on-aug-18th-2024 From b9584882ed85405f7bcee515ec83b692a251d480 Mon Sep 17 00:00:00 2001 From: Bui Doan Dang Date: Wed, 4 Sep 2024 10:39:31 +0700 Subject: [PATCH 5/7] Fix cinder-backup: add missing sysfsutils,lsscsi package Closes-Bug: #2078886 Change-Id: Ia678484c001c66a9db675035dbb4505b0448bf58 Signed-off-by: Bui Doan Dang (cherry picked from commit 546084b0a8ac866a34e67b558a2e210e471bec8b) --- docker/cinder/cinder-backup/Dockerfile.j2 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docker/cinder/cinder-backup/Dockerfile.j2 b/docker/cinder/cinder-backup/Dockerfile.j2 index b14d398489..2c6314bdd4 100644 --- a/docker/cinder/cinder-backup/Dockerfile.j2 +++ b/docker/cinder/cinder-backup/Dockerfile.j2 @@ -10,12 +10,16 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if base_package_type == 'rpm' %} {% set cinder_backup_packages = [ 'device-mapper-multipath', - 'nfs-utils' + 'lsscsi', + 'nfs-utils', + 'sysfsutils' ] %} {% elif base_package_type == 'deb' %} {% set cinder_backup_packages = [ + 'lsscsi', 'multipath-tools', - 'nfs-common' + 'nfs-common', + 'sysfsutils' ] %} {% endif %} From 90a37fb02a0663d1e7a90a58c2875a7ca6dba446 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Mon, 23 Sep 2024 10:47:43 +0100 Subject: [PATCH 6/7] Remove debugging docker instructions --- docker/keystone/keystone/Dockerfile.j2 | 3 --- 1 file changed, 3 deletions(-) diff --git a/docker/keystone/keystone/Dockerfile.j2 b/docker/keystone/keystone/Dockerfile.j2 index 6389e4e4d6..35c0e69947 100644 --- a/docker/keystone/keystone/Dockerfile.j2 +++ b/docker/keystone/keystone/Dockerfile.j2 @@ -32,9 +32,6 @@ ADD plugins-archive / '/plugins/*', ] %} -RUN echo $(ls -al /) - -RUN echo $(ls -al /plugins) COPY keystone_bootstrap.sh /usr/local/bin/kolla_keystone_bootstrap COPY extend_start.sh /usr/local/bin/kolla_extend_start From 24d103410fd8e7714c74e21b777359c831cf0d89 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Fri, 27 Sep 2024 10:55:16 +0100 Subject: [PATCH 7/7] Remove pycadf unlinking --- docker/openstack-base/Dockerfile.j2 | 3 --- 1 file changed, 3 deletions(-) diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2 index f270c7eb87..1df4321e58 100644 --- a/docker/openstack-base/Dockerfile.j2 +++ b/docker/openstack-base/Dockerfile.j2 @@ -210,9 +210,6 @@ ENV PATH /var/lib/kolla/venv/bin:$PATH RUN {{ macros.install_pip(['pip', 'wheel', 'setuptools==67.2.*']) }} \ && {{ macros.install_pip(openstack_base_pip_packages | customizable("pip_packages")) }} -RUN unlink /pycadf \ - && rm -rf plugins/* - {% if base_package_type == 'rpm' %} RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \ && sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf