diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 50b3205a5b..89e0ac8744 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -86,6 +86,13 @@ COPY yum.conf /etc/yum.conf 'opendaylight.repo', ] %} {% endif %} + # NOTE(yoctozepto): use upstream erlang on CentOS 8 + # see https://launchpad.net/bugs/1884034 + {% if distro_package_manager == 'dnf' %} + {% set base_yum_repo_files = base_yum_repo_files + [ + 'rabbitmq_rabbitmq-erlang.repo', + ] %} + {% endif %} {% set base_yum_repo_keys = [ 'https://packages.grafana.com/gpg.key', @@ -240,17 +247,13 @@ RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 'HighAvailability', 'PowerTools' ] %} + # NOTE(yoctozepto): use upstream rabbitmq (3.7) and erlang on CentOS 8 + # see https://launchpad.net/bugs/1884034 {% set base_centos_yum_repos_to_disable = [ + 'centos-rabbitmq-38', 'epel', 'epel-modular', ] %} - - # NOTE(hrw): no rabbitmq for aarch64 in CentOS 8.0/8.1 - {% if base_arch == 'aarch64' %} - {% set base_centos_yum_repos_to_disable = base_centos_yum_repos_to_disable + [ - 'centos-rabbitmq-38' - ] %} - {% endif %} {% else %} {% set base_centos_yum_repo_keys = base_centos_yum_repo_keys + [ '/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization', diff --git a/docker/base/rabbitmq_rabbitmq-erlang.repo b/docker/base/rabbitmq_rabbitmq-erlang.repo new file mode 100644 index 0000000000..acd5995c80 --- /dev/null +++ b/docker/base/rabbitmq_rabbitmq-erlang.repo @@ -0,0 +1,6 @@ +[rabbitmq_rabbitmq-erlang] +name=rabbitmq_rabbitmq-erlang +baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/$releasever/ +gpgcheck=1 +enabled=1 +gpgkey=https://www.rabbitmq.com/rabbitmq-release-signing-key.asc diff --git a/docker/bifrost/bifrost-base/Dockerfile.j2 b/docker/bifrost/bifrost-base/Dockerfile.j2 index adc8c79dc4..828a440019 100644 --- a/docker/bifrost/bifrost-base/Dockerfile.j2 +++ b/docker/bifrost/bifrost-base/Dockerfile.j2 @@ -28,7 +28,7 @@ WORKDIR /bifrost {% if base_package_type == 'rpm' %} {# Remove updated RabbitMQ packages since these are not supported by Bifrost yet. #} -RUN rm -f /etc/yum.repos.d/rabbitmq_rabbitmq-server.repo \ +RUN rm -f /etc/yum.repos.d/{rabbitmq_rabbitmq-server,rabbitmq_rabbitmq-erlang}.repo \ {%- if distro_package_manager == 'dnf' %} && dnf config-manager --enable epel \ {% else %} diff --git a/docker/rabbitmq/Dockerfile.j2 b/docker/rabbitmq/Dockerfile.j2 index f6e3eee023..a65c9efc28 100644 --- a/docker/rabbitmq/Dockerfile.j2 +++ b/docker/rabbitmq/Dockerfile.j2 @@ -10,7 +10,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% block rabbitmq_install %} {% if base_package_type == 'rpm' %} {% set rabbitmq_packages = [ - 'erlang-hipe', 'hostname', ] %} {% if distro_package_manager == 'dnf' %} @@ -21,6 +20,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build # NOTE(mandre) Remove rabbitmq-server pinning once package dependencies are met # https://bugs.launchpad.net/kolla/+bug/1814233 {% set rabbitmq_packages = rabbitmq_packages + [ + 'erlang-hipe', 'rabbitmq-server-3.7.10' ] %} {% endif %} diff --git a/releasenotes/notes/bug-1884034-328afb8831779e02.yaml b/releasenotes/notes/bug-1884034-328afb8831779e02.yaml new file mode 100644 index 0000000000..5f72766844 --- /dev/null +++ b/releasenotes/notes/bug-1884034-328afb8831779e02.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fixes mixed RabbitMQ and Erlang package sources on CentOS 8 (Train only). + Those could lead to RabbitMQ cluster instability in certain circumstances. + `LP#1884034 `__