aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ansible/roles/rabbitmq/tasks/reset-state.yml7
-rw-r--r--releasenotes/notes/bug-2150536-66c7d07d2b9cdf81.yaml9
2 files changed, 15 insertions, 1 deletions
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 <https://launchpad.net/bugs/2150536>`__