Allow repmgr node_id to take a starting seed value to ensure uniqueness in multi cluster environments (#110)

* 12.9.0-debian-10-r78 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 14.1.0-debian-10-r76 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 11.14.0-debian-10-r75 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 10.19.0-debian-10-r83 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 13.5.0-debian-10-r74 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 12.9.0-debian-10-r79 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 14.1.0-debian-10-r77 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 11.14.0-debian-10-r76 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 10.19.0-debian-10-r84 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* 13.5.0-debian-10-r75 release

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* Add REPMGR_NODE_ID_START_SEED env var to allow node_id to start from arbitrary number

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* Add REPMGR_NODE_ID_START_SEED env var

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* Remove default value 1000 from function repmgr_get_node_id() as it is already set in postgresql-env.sh

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* Update README.md with new variable REPMGR_NODE_ID_START_SEED

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* remove parameter expansion around variable after linting advice - not required for arithmetic functions

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

* add space back in README.md

Signed-off-by: Nicholas Johnson <ntejohnson@gmail.com>

Co-authored-by: Bitnami Bot <containers-bot@bitnami.com>
This commit is contained in:
ntejohn 2022-02-03 23:03:54 +11:00 committed by GitHub
parent d2fa92ec18
commit 18974f3adc
11 changed files with 16 additions and 5 deletions

View File

@ -28,7 +28,7 @@ repmgr_get_node_id() {
else
num="${REPMGR_NODE_NAME##*-}"
if [[ "$num" != "" ]]; then
num=$((num + 1000))
num=$((num + REPMGR_NODE_ID_START_SEED))
echo "$num"
fi
fi

View File

@ -90,6 +90,7 @@ postgresql_env_vars=(
POSTGRESQL_AUTOCTL_HOSTNAME
REPMGR_DATA_DIR
REPMGR_NODE_ID
REPMGR_NODE_ID_START_SEED
REPMGR_NODE_NAME
REPMGR_NODE_NETWORK_NAME
REPMGR_NODE_PRIORITY
@ -375,6 +376,7 @@ export REPMGR_DATA_DIR="${REPMGR_DATA_DIR:-${REPMGR_VOLUME_DIR}/repmgr/data}"
# Settings (Replication Manager)
export REPMGR_NODE_ID="${REPMGR_NODE_ID:-}"
export REPMGR_NODE_ID_START_SEED="${REPMGR_NODE_ID_START_SEED:-1000}"
export REPMGR_NODE_NAME="${REPMGR_NODE_NAME:-$(hostname)}"
export REPMGR_NODE_NETWORK_NAME="${REPMGR_NODE_NETWORK_NAME:-}"
export REPMGR_NODE_PRIORITY="${REPMGR_NODE_PRIORITY:-100}"

View File

@ -28,7 +28,7 @@ repmgr_get_node_id() {
else
num="${REPMGR_NODE_NAME##*-}"
if [[ "$num" != "" ]]; then
num=$((num + 1000))
num=$((num + REPMGR_NODE_ID_START_SEED))
echo "$num"
fi
fi

View File

@ -90,6 +90,7 @@ postgresql_env_vars=(
POSTGRESQL_AUTOCTL_HOSTNAME
REPMGR_DATA_DIR
REPMGR_NODE_ID
REPMGR_NODE_ID_START_SEED
REPMGR_NODE_NAME
REPMGR_NODE_NETWORK_NAME
REPMGR_NODE_PRIORITY
@ -375,6 +376,7 @@ export REPMGR_DATA_DIR="${REPMGR_DATA_DIR:-${REPMGR_VOLUME_DIR}/repmgr/data}"
# Settings (Replication Manager)
export REPMGR_NODE_ID="${REPMGR_NODE_ID:-}"
export REPMGR_NODE_ID_START_SEED="${REPMGR_NODE_ID_START_SEED:-1000}"
export REPMGR_NODE_NAME="${REPMGR_NODE_NAME:-$(hostname)}"
export REPMGR_NODE_NETWORK_NAME="${REPMGR_NODE_NETWORK_NAME:-}"
export REPMGR_NODE_PRIORITY="${REPMGR_NODE_PRIORITY:-100}"

View File

@ -28,7 +28,7 @@ repmgr_get_node_id() {
else
num="${REPMGR_NODE_NAME##*-}"
if [[ "$num" != "" ]]; then
num=$((num + 1000))
num=$((num + REPMGR_NODE_ID_START_SEED))
echo "$num"
fi
fi

View File

@ -90,6 +90,7 @@ postgresql_env_vars=(
POSTGRESQL_AUTOCTL_HOSTNAME
REPMGR_DATA_DIR
REPMGR_NODE_ID
REPMGR_NODE_ID_START_SEED
REPMGR_NODE_NAME
REPMGR_NODE_NETWORK_NAME
REPMGR_NODE_PRIORITY
@ -375,6 +376,7 @@ export REPMGR_DATA_DIR="${REPMGR_DATA_DIR:-${REPMGR_VOLUME_DIR}/repmgr/data}"
# Settings (Replication Manager)
export REPMGR_NODE_ID="${REPMGR_NODE_ID:-}"
export REPMGR_NODE_ID_START_SEED="${REPMGR_NODE_ID_START_SEED:-1000}"
export REPMGR_NODE_NAME="${REPMGR_NODE_NAME:-$(hostname)}"
export REPMGR_NODE_NETWORK_NAME="${REPMGR_NODE_NETWORK_NAME:-}"
export REPMGR_NODE_PRIORITY="${REPMGR_NODE_PRIORITY:-100}"

View File

@ -28,7 +28,7 @@ repmgr_get_node_id() {
else
num="${REPMGR_NODE_NAME##*-}"
if [[ "$num" != "" ]]; then
num=$((num + 1000))
num=$((num + REPMGR_NODE_ID_START_SEED))
echo "$num"
fi
fi

View File

@ -90,6 +90,7 @@ postgresql_env_vars=(
POSTGRESQL_AUTOCTL_HOSTNAME
REPMGR_DATA_DIR
REPMGR_NODE_ID
REPMGR_NODE_ID_START_SEED
REPMGR_NODE_NAME
REPMGR_NODE_NETWORK_NAME
REPMGR_NODE_PRIORITY
@ -375,6 +376,7 @@ export REPMGR_DATA_DIR="${REPMGR_DATA_DIR:-${REPMGR_VOLUME_DIR}/repmgr/data}"
# Settings (Replication Manager)
export REPMGR_NODE_ID="${REPMGR_NODE_ID:-}"
export REPMGR_NODE_ID_START_SEED="${REPMGR_NODE_ID_START_SEED:-1000}"
export REPMGR_NODE_NAME="${REPMGR_NODE_NAME:-$(hostname)}"
export REPMGR_NODE_NETWORK_NAME="${REPMGR_NODE_NETWORK_NAME:-}"
export REPMGR_NODE_PRIORITY="${REPMGR_NODE_PRIORITY:-100}"

View File

@ -28,7 +28,7 @@ repmgr_get_node_id() {
else
num="${REPMGR_NODE_NAME##*-}"
if [[ "$num" != "" ]]; then
num=$((num + 1000))
num=$((num + REPMGR_NODE_ID_START_SEED))
echo "$num"
fi
fi

View File

@ -90,6 +90,7 @@ postgresql_env_vars=(
POSTGRESQL_AUTOCTL_HOSTNAME
REPMGR_DATA_DIR
REPMGR_NODE_ID
REPMGR_NODE_ID_START_SEED
REPMGR_NODE_NAME
REPMGR_NODE_NETWORK_NAME
REPMGR_NODE_PRIORITY
@ -375,6 +376,7 @@ export REPMGR_DATA_DIR="${REPMGR_DATA_DIR:-${REPMGR_VOLUME_DIR}/repmgr/data}"
# Settings (Replication Manager)
export REPMGR_NODE_ID="${REPMGR_NODE_ID:-}"
export REPMGR_NODE_ID_START_SEED="${REPMGR_NODE_ID_START_SEED:-1000}"
export REPMGR_NODE_NAME="${REPMGR_NODE_NAME:-$(hostname)}"
export REPMGR_NODE_NETWORK_NAME="${REPMGR_NODE_NETWORK_NAME:-}"
export REPMGR_NODE_PRIORITY="${REPMGR_NODE_PRIORITY:-100}"

View File

@ -528,6 +528,7 @@ Please see the list of environment variables available in the Bitnami PostgreSQL
|:-------------------------------------|:--------------|
| REPMGR_NODE_ID | `nil` |
| REPMGR_NODE_NAME | `nil` |
| REPMGR_NODE_ID_START_SEED | `1000` |
| REPMGR_NODE_NETWORK_NAME | `nil` |
| REPMGR_NODE_PRIORITY | `100` |
| REPMGR_PARTNER_NODES | `nil` |