From 2e22d2adb291fc2ae587d17dd7e6943022202bd8 Mon Sep 17 00:00:00 2001 From: Matt Crees Date: Fri, 17 May 2024 09:30:11 +0100 Subject: [PATCH] [2024.2 only] Add script to migrate to RabbitMQ quorum queues Change-Id: Id0540b38e8429c4e95c2c0956d3bc59346fbda68 --- dev/rabbitmq-migrate-queues.sh | 37 +++++++++++++++++++ ...eue-migration-script-5f5badff51d60911.yaml | 5 +++ 2 files changed, 42 insertions(+) create mode 100755 dev/rabbitmq-migrate-queues.sh create mode 100644 releasenotes/notes/add-rabbitmq-queue-migration-script-5f5badff51d60911.yaml diff --git a/dev/rabbitmq-migrate-queues.sh b/dev/rabbitmq-migrate-queues.sh new file mode 100755 index 000000000..4fd8156a1 --- /dev/null +++ b/dev/rabbitmq-migrate-queues.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +set -eu +set -o pipefail + +# Install kayobe and its dependencies in a virtual environment. + +PARENT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +source "${PARENT}/functions" + +SERVICES_TO_RESTART=$1 + +function main { + echo "Migrating to RabbitMQ quorum queues" + + config_init + + environment_setup + + control_host_bootstrap + + sed -i -e '$aom_enable_queue_manager: True' ${KAYOBE_CONFIG_SOURCE_PATH}/etc/kayobe/kolla/globals.yml + sed -i -e '$aom_enable_rabbitmq_quorum_queues: True' ${KAYOBE_CONFIG_SOURCE_PATH}/etc/kayobe/kolla/globals.yml + sed -i -e '$aom_enable_rabbitmq_transient_quorum_queue: True' ${KAYOBE_CONFIG_SOURCE_PATH}/etc/kayobe/kolla/globals.yml + sed -i -e '$aom_enable_rabbitmq_stream_fanout: True' ${KAYOBE_CONFIG_SOURCE_PATH}/etc/kayobe/kolla/globals.yml + + kayobe overcloud service configuration generate --node-config-dir /etc/kolla --kolla-skip-tags rabbitmq-ha-precheck + + kayobe kolla ansible run "stop --yes-i-really-really-mean-it" -kt $SERVICES_TO_RESTART + + kayobe kolla ansible run rabbitmq-reset-state + + kayobe kolla ansible run deploy -kt $SERVICES_TO_RESTART +} + +main diff --git a/releasenotes/notes/add-rabbitmq-queue-migration-script-5f5badff51d60911.yaml b/releasenotes/notes/add-rabbitmq-queue-migration-script-5f5badff51d60911.yaml new file mode 100644 index 000000000..1c02d2866 --- /dev/null +++ b/releasenotes/notes/add-rabbitmq-queue-migration-script-5f5badff51d60911.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds a new dev script ``dev/rabbitmq-migrate-queues.sh`` that will enable + quorum queues and migrate RabbitMQ to use these.