From a0206d9626323ed4ef57bd4ecc072e3f96aa043a Mon Sep 17 00:00:00 2001 From: Maik Catrinque Date: Fri, 14 Jan 2022 15:07:40 -0300 Subject: [PATCH] Add force_boot command to rabbit start template Currently, if a multi-node cluster is shut down unexpectedly, RabbitMQ is not able to boot and sync with the other nodes. The purpose of this change is to add the possibility to use the rabbitmqctl force_boot command to recover RabbitMQ cluster from an unexpected shut down. Test plan: PASS: Shutdown and start a multi-node RabbitMQ cluster Regression: PASS: OpenStack can be applied successfully PASS: RabbitMQ nodes can join the RabbitMQ cluster Story: 2009784 Task: 44290 Ref: [0] https://www.rabbitmq.com/rabbitmqctl.8.html#force_boot Signed-off-by: Maik Catrinque Co-authored-by: Andrew Martins Carletti Change-Id: I56e966ea64e8881ba436213f0c9e1cbe547098e3 Signed-off-by: Thales Elero Cervi --- rabbitmq/templates/bin/_rabbitmq-start.sh.tpl | 3 +++ rabbitmq/values.yaml | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/rabbitmq/templates/bin/_rabbitmq-start.sh.tpl b/rabbitmq/templates/bin/_rabbitmq-start.sh.tpl index 794f0919..4ef849fd 100644 --- a/rabbitmq/templates/bin/_rabbitmq-start.sh.tpl +++ b/rabbitmq/templates/bin/_rabbitmq-start.sh.tpl @@ -94,4 +94,7 @@ if ! [ "${POD_INCREMENT}" -eq "0" ] && ! [ -d "/var/lib/rabbitmq/mnesia" ] ; the rm -fv /tmp/rabbit-disable-readiness /tmp/rabbit-disable-liveness-probe fi +{{- if .Values.forceBoot.enabled }} +if [ "${POD_INCREMENT}" -eq "0" ] && [ -d "/var/lib/rabbitmq/mnesia/${RABBITMQ_NODENAME}" ]; then rabbitmqctl force_boot; fi +{{- end}} exec rabbitmq-server diff --git a/rabbitmq/values.yaml b/rabbitmq/values.yaml index 90ed6d21..65a9526e 100644 --- a/rabbitmq/values.yaml +++ b/rabbitmq/values.yaml @@ -46,6 +46,12 @@ images: - dep_check - image_repo_sync +# forceBoot: executes 'rabbitmqctl force_boot' to force boot on +# cluster shut down unexpectedly in an unknown order. +# ref: https://www.rabbitmq.com/rabbitmqctl.8.html#force_boot +forceBoot: + enabled: false + pod: probes: readiness: -- 2.25.1