From 479a1c733586746ad8e376b03a2d9c28180c591b Mon Sep 17 00:00:00 2001 From: Roy Tang Date: Mon, 12 Jul 2021 14:01:43 -0400 Subject: [PATCH] RabbitMQ add preStop and prep 3.8.x feature flag This ps updates the following: - Add preStop action to allow rabbitmq node a chance to more graceful shutdown - Add support for RABBITMQ_FEATURE_FLAG in preparation for future 3.8.x upgrade. Change-Id: I25d1e4fdb9dee370382e97a5a97b2b098f5ef11f --- rabbitmq/Chart.yaml | 2 +- rabbitmq/templates/statefulset.yaml | 10 ++++++++++ rabbitmq/values.yaml | 5 +++++ releasenotes/notes/rabbitmq.yaml | 1 + 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/rabbitmq/Chart.yaml b/rabbitmq/Chart.yaml index d3f741dd4..79b0daff0 100644 --- a/rabbitmq/Chart.yaml +++ b/rabbitmq/Chart.yaml @@ -15,6 +15,6 @@ apiVersion: v1 appVersion: v3.7.26 description: OpenStack-Helm RabbitMQ name: rabbitmq -version: 0.1.12 +version: 0.1.13 home: https://github.com/rabbitmq/rabbitmq-server ... diff --git a/rabbitmq/templates/statefulset.yaml b/rabbitmq/templates/statefulset.yaml index cac3bba10..578ea3579 100644 --- a/rabbitmq/templates/statefulset.yaml +++ b/rabbitmq/templates/statefulset.yaml @@ -212,6 +212,10 @@ spec: value: "{{ tuple "oslo_messaging" "internal" "amqp" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}" - name: PORT_CLUSTERING value: "{{ add (tuple "oslo_messaging" "internal" "amqp" . | include "helm-toolkit.endpoints.endpoint_port_lookup") 20000 }}" +{{- if ne (.Values.conf.feature_flags | default "") "default" }} + - name: RABBITMQ_FEATURE_FLAGS + value: "{{ .Values.conf.feature_flags }}" +{{- end }} readinessProbe: initialDelaySeconds: 10 timeoutSeconds: 10 @@ -224,6 +228,12 @@ spec: exec: command: - /tmp/rabbitmq-liveness.sh + lifecycle: + preStop: + exec: + command: + - rabbitmqctl + - stop_app volumeMounts: - name: pod-tmp mountPath: /tmp diff --git a/rabbitmq/values.yaml b/rabbitmq/values.yaml index 988b81c7f..c593966f5 100644 --- a/rabbitmq/values.yaml +++ b/rabbitmq/values.yaml @@ -195,6 +195,11 @@ conf: management.listener.port: null rabbitmq_exporter: rabbit_timeout: 30 + # Feature Flags is introduced in RabbitMQ 3.8.0 + # To deploy with standard list of feature, leave as default + # To deploy with specific feature, separate each feature with comma + # To deploy with all features disabled, leave blank or empty + feature_flags: default dependencies: dynamic: common: diff --git a/releasenotes/notes/rabbitmq.yaml b/releasenotes/notes/rabbitmq.yaml index b278b7176..95bf38e56 100644 --- a/releasenotes/notes/rabbitmq.yaml +++ b/releasenotes/notes/rabbitmq.yaml @@ -12,4 +12,5 @@ rabbitmq: - 0.1.10 Set separate for HTTPS - 0.1.11 Add TLS support for helm test - 0.1.12 Added helm hook post-install and post-upgrade for rabbitmq wait cluster job + - 0.1.13 Add prestop action and version 3.8.x upgrade prep ...