Enable rabbitmq force_boot command

This change sets the rabbit forceBoot flag to true through
the manifest to enable the force_boot command on the RabbitMQ
start script template. Also, add a new condition to the patch
file to use the force_boot command only on the first RabbitMQ
node to boot.

Test plan:
PASS: Shutdown and start a multi-node RabbitMQ cluster
PASS: Build stx-openstack with the change

Regression:
PASS: OpenStack can be applied successfully
PASS: RabbitMQ nodes can join the RabbitMQ cluster

Story: 2009784
Task: 44290

Relates-to: https://review.opendev.org/c/starlingx/openstack-armada-app/+/826516

Signed-off-by: Maik Catrinque
<maik.wandercatrinqueandrade@windriver.com>
Change-Id: Ibd59526eafe941955e06b3141481eaf7c61a04c0
This commit is contained in:
Maik Catrinque 2022-02-02 14:18:54 -03:00
parent 87d67cc91a
commit 9892254209
3 changed files with 12 additions and 10 deletions

View File

@ -1,4 +1,4 @@
From eac757e4a8ffd0e5db0bc1c9c2a652f65fd90353 Mon Sep 17 00:00:00 2001
From a0206d9626323ed4ef57bd4ecc072e3f96aa043a Mon Sep 17 00:00:00 2001
From: Maik Catrinque <maik.wandercatrinqueandrade@windriver.com>
Date: Fri, 14 Jan 2022 15:07:40 -0300
Subject: [PATCH] Add force_boot command to rabbit start template
@ -7,8 +7,8 @@ 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 from an
unexpected cluster shut down.
rabbitmqctl force_boot command to recover RabbitMQ cluster from
an unexpected shut down.
Test plan:
PASS: Shutdown and start a multi-node RabbitMQ cluster
@ -32,7 +32,7 @@ Change-Id: I56e966ea64e8881ba436213f0c9e1cbe547098e3
4 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/rabbitmq/templates/bin/_rabbitmq-start.sh.tpl b/rabbitmq/templates/bin/_rabbitmq-start.sh.tpl
index 794f0919..58eb5fc0 100644
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
@ -40,7 +40,7 @@ index 794f0919..58eb5fc0 100644
fi
+{{- if .Values.forceBoot.enabled }}
+if [ -d "/var/lib/rabbitmq/mnesia/${RABBITMQ_NODENAME}" ]; then rabbitmqctl force_boot; fi
+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

View File

@ -1,4 +1,4 @@
From eac757e4a8ffd0e5db0bc1c9c2a652f65fd90353 Mon Sep 17 00:00:00 2001
From a0206d9626323ed4ef57bd4ecc072e3f96aa043a Mon Sep 17 00:00:00 2001
From: Maik Catrinque <maik.wandercatrinqueandrade@windriver.com>
Date: Fri, 14 Jan 2022 15:07:40 -0300
Subject: [PATCH] Add force_boot command to rabbit start template
@ -7,8 +7,8 @@ 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 from an
unexpected cluster shut down.
rabbitmqctl force_boot command to recover RabbitMQ cluster from
an unexpected shut down.
Test plan:
PASS: Shutdown and start a multi-node RabbitMQ cluster
@ -32,7 +32,7 @@ Change-Id: I56e966ea64e8881ba436213f0c9e1cbe547098e3
4 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/rabbitmq/templates/bin/_rabbitmq-start.sh.tpl b/rabbitmq/templates/bin/_rabbitmq-start.sh.tpl
index 794f0919..58eb5fc0 100644
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
@ -40,7 +40,7 @@ index 794f0919..58eb5fc0 100644
fi
+{{- if .Values.forceBoot.enabled }}
+if [ -d "/var/lib/rabbitmq/mnesia/${RABBITMQ_NODENAME}" ]; then rabbitmqctl force_boot; fi
+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

View File

@ -351,6 +351,8 @@ data:
release_group: osh-openstack-rabbitmq
component: test
values:
forceBoot:
enabled: true
monitoring:
prometheus:
enabled: false