From ad5b9e129660caf17ed4ba42f2cbb751b4d499e7 Mon Sep 17 00:00:00 2001 From: Piotr Milewski Date: Tue, 28 Apr 2026 12:00:47 +0200 Subject: rabbitmq: fix reset-state on RabbitMQ 4.x kolla-ansible rabbitmq-reset-state fails because rabbitmqctl force_reset is not supported with Khepri. Use rabbitmqctl reset instead. Closes-Bug: #2150536 Change-Id: Idc275dc830838519e40a519111ae0e5ca2b76edf Signed-off-by: Piotr Milewski --- ansible/roles/rabbitmq/tasks/reset-state.yml | 7 ++++++- releasenotes/notes/bug-2150536-66c7d07d2b9cdf81.yaml | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/bug-2150536-66c7d07d2b9cdf81.yaml diff --git a/ansible/roles/rabbitmq/tasks/reset-state.yml b/ansible/roles/rabbitmq/tasks/reset-state.yml index a6c7078c2..76dab581a 100644 --- a/ansible/roles/rabbitmq/tasks/reset-state.yml +++ b/ansible/roles/rabbitmq/tasks/reset-state.yml @@ -4,10 +4,15 @@ changed_when: true ansible.builtin.command: "{{ kolla_container_engine }} exec rabbitmq rabbitmqctl stop_app" +# TODO: rabbitmqctl force_reset is not supported with Khepri and +# causes the reset to fail. Remove the fallback to force_reset +# above RabbitMQ version 4.2 where only Khepri is used. - name: Reset the state of RabbitMQ become: true changed_when: true - ansible.builtin.command: "{{ kolla_container_engine }} exec rabbitmq rabbitmqctl force_reset" + ansible.builtin.command: > + {{ kolla_container_engine }} exec rabbitmq bash -c + 'rabbitmqctl force_reset || rabbitmqctl reset' - name: Start the RabbitMQ application become: true diff --git a/releasenotes/notes/bug-2150536-66c7d07d2b9cdf81.yaml b/releasenotes/notes/bug-2150536-66c7d07d2b9cdf81.yaml new file mode 100644 index 000000000..90ab35b3b --- /dev/null +++ b/releasenotes/notes/bug-2150536-66c7d07d2b9cdf81.yaml @@ -0,0 +1,9 @@ +--- +fixes: + - | + Fix ``kolla-ansible rabbitmq-reset-state`` on RabbitMQ 4.2 or later. + Khepri is the new default metadata store starting from RabbitMQ 4.2, + and it does not support ``rabbitmqctl force_reset``, which causes + the reset to fail. This patch adds a fallback to + ``rabbitmqctl reset`` to ensure the operation completes successfully. + `LP#2150536 `__ -- cgit v1.2.3