diff --git a/bitnami/rabbitmq/3.9/debian-10/Dockerfile b/bitnami/rabbitmq/3.9/debian-10/Dockerfile index 02e267ffeffa..f00a1dc6819e 100644 --- a/bitnami/rabbitmq/3.9/debian-10/Dockerfile +++ b/bitnami/rabbitmq/3.9/debian-10/Dockerfile @@ -26,7 +26,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/rabbitmq/postunpack.sh RUN /opt/bitnami/scripts/locales/add-extra-locales.sh ENV BITNAMI_APP_NAME="rabbitmq" \ - BITNAMI_IMAGE_VERSION="3.9.13-debian-10-r12" \ + BITNAMI_IMAGE_VERSION="3.9.13-debian-10-r13" \ LANG="en_US.UTF-8" \ LANGUAGE="en_US:en" diff --git a/bitnami/rabbitmq/3.9/debian-10/rootfs/opt/bitnami/scripts/rabbitmq-env.sh b/bitnami/rabbitmq/3.9/debian-10/rootfs/opt/bitnami/scripts/rabbitmq-env.sh index c911dc4c59da..176774bfe73c 100644 --- a/bitnami/rabbitmq/3.9/debian-10/rootfs/opt/bitnami/scripts/rabbitmq-env.sh +++ b/bitnami/rabbitmq/3.9/debian-10/rootfs/opt/bitnami/scripts/rabbitmq-env.sh @@ -37,6 +37,8 @@ rabbitmq_env_vars=( RABBITMQ_NODE_PORT_NUMBER RABBITMQ_NODE_TYPE RABBITMQ_VHOST + RABBITMQ_CLUSTER_REBALANCE + RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS RABBITMQ_USERNAME RABBITMQ_PASSWORD RABBITMQ_FORCE_BOOT @@ -124,6 +126,8 @@ export RABBITMQ_NODE_PORT_NUMBER="${RABBITMQ_NODE_PORT_NUMBER:-5672}" export RABBITMQ_NODE_TYPE="${RABBITMQ_NODE_TYPE:-stats}" RABBITMQ_VHOST="${RABBITMQ_VHOST:-"${RABBITMQ_DEFAULT_VHOST:-}"}" export RABBITMQ_VHOST="${RABBITMQ_VHOST:-/}" +export RABBITMQ_CLUSTER_REBALANCE="${RABBITMQ_CLUSTER_REBALANCE:-false}" +export RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS="${RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS:-100}" # RabbitMQ authentication RABBITMQ_USERNAME="${RABBITMQ_USERNAME:-"${RABBITMQ_DEFAULT_USER:-}"}" diff --git a/bitnami/rabbitmq/3.9/debian-10/rootfs/opt/bitnami/scripts/rabbitmq/run.sh b/bitnami/rabbitmq/3.9/debian-10/rootfs/opt/bitnami/scripts/rabbitmq/run.sh index 531b14f71d9f..0500fc514ab4 100755 --- a/bitnami/rabbitmq/3.9/debian-10/rootfs/opt/bitnami/scripts/rabbitmq/run.sh +++ b/bitnami/rabbitmq/3.9/debian-10/rootfs/opt/bitnami/scripts/rabbitmq/run.sh @@ -15,6 +15,28 @@ set -o pipefail # Load RabbitMQ environment variables . /opt/bitnami/scripts/rabbitmq-env.sh +# Set up queue rebalance to run in the background after the cluster is up +if is_boolean_yes "$RABBITMQ_CLUSTER_REBALANCE"; then + ( + current_attempt=1 + rebalanced=false + while [[ "$current_attempt" -le "$RABBITMQ_CLUSTER_REBALANCE_ATTEMPTS" ]]; do + if rabbitmqctl cluster_status >/dev/null; then + rabbitmq-queues rebalance "all" + rebalanced=true + break + else + ((current_attempt++)) + fi + done + if is_boolean_yes "$rebalanced"; then + info "Cluster rebalanced successfully" + else + error "Unable to rebalance cluster" + fi + ) & +fi + info "** Starting RabbitMQ **" cd "$RABBITMQ_BASE_DIR" if am_i_root; then diff --git a/bitnami/rabbitmq/README.md b/bitnami/rabbitmq/README.md index bcb7fcde252e..e2f9d52f7aa3 100644 --- a/bitnami/rabbitmq/README.md +++ b/bitnami/rabbitmq/README.md @@ -50,7 +50,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`3.9`, `3.9-debian-10`, `3.9.13`, `3.9.13-debian-10-r12`, `latest` (3.9/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-rabbitmq/blob/3.9.13-debian-10-r12/3.9/debian-10/Dockerfile) +* [`3.9`, `3.9-debian-10`, `3.9.13`, `3.9.13-debian-10-r13`, `latest` (3.9/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-rabbitmq/blob/3.9.13-debian-10-r13/3.9/debian-10/Dockerfile) * [`3.8`, `3.8-debian-10`, `3.8.27`, `3.8.27-debian-10-r18` (3.8/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-rabbitmq/blob/3.8.27-debian-10-r18/3.8/debian-10/Dockerfile) Subscribe to project updates by watching the [bitnami/rabbitmq GitHub repo](https://github.com/bitnami/bitnami-docker-rabbitmq).