diff options
| -rw-r--r-- | ansible/roles/rabbitmq/tasks/reset-state.yml | 7 | ||||
| -rw-r--r-- | releasenotes/notes/bug-2150536-66c7d07d2b9cdf81.yaml | 9 |
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>`__ |
