From e709599ff0550f1d157162517181890e5fda00d8 Mon Sep 17 00:00:00 2001 From: Matt Crees <mattc@stackhpc.com> Date: Mon, 13 Mar 2023 10:46:17 +0000 Subject: [PATCH] RabbitMQ use maintenance mode on container restart Puts the RabbitMQ node into maintenance mode before restarting the container. This will make the node shutdown less disruptive. For details on what maintenance mode does, see: https://www.rabbitmq.com/upgrade.html#maintenance-mode Change-Id: Ia61573f3fb95fe8fcde6b789ca77ef5b45fe0a65 --- .../roles/rabbitmq/tasks/restart_services.yml | 17 +++++++++++++++++ ...enance-mode-on-restart-a25659b9269c82b5.yaml | 7 +++++++ 2 files changed, 24 insertions(+) create mode 100644 releasenotes/notes/rabbitmq-use-maintenance-mode-on-restart-a25659b9269c82b5.yaml 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