diff --git a/ansible/roles/rabbitmq/tasks/restart_services.yml b/ansible/roles/rabbitmq/tasks/restart_services.yml index d9e2a1a6ab..e7b5297ee7 100644 --- a/ansible/roles/rabbitmq/tasks/restart_services.yml +++ b/ansible/roles/rabbitmq/tasks/restart_services.yml @@ -1,4 +1,21 @@ --- +- name: Get info on RabbitMQ container + become: True + kolla_container_facts: + container_engine: "{{ kolla_container_engine }}" + name: "rabbitmq" + register: container_info + +- name: Put RabbitMQ node into maintenance mode + kolla_toolbox: + container_engine: "{{ kolla_container_engine }}" + module_name: "community.rabbitmq.rabbitmq_upgrade" + module_args: + action: "drain" + user: root + become: true + when: container_info._containers | length > 0 + - name: Restart rabbitmq container vars: service_name: "rabbitmq" diff --git a/releasenotes/notes/rabbitmq-use-maintenance-mode-on-restart-a25659b9269c82b5.yaml b/releasenotes/notes/rabbitmq-use-maintenance-mode-on-restart-a25659b9269c82b5.yaml new file mode 100644 index 0000000000..d6abda3817 --- /dev/null +++ b/releasenotes/notes/rabbitmq-use-maintenance-mode-on-restart-a25659b9269c82b5.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + When restarting a RabbitMQ container, the node is now first put into + maintenance mode. This will make the node shutdown less disruptive. For + details on what maintenance mode does, see: + https://www.rabbitmq.com/upgrade.html#maintenance-mode