From 5e1a45ef888c6b3eda51c9e41f0eb3c22f3c2b43 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Wed, 13 Sep 2023 19:27:13 -0300 Subject: [PATCH] 20926: Requires manually setting PG version when not using the 'database' role. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- tools/salt-install/common.sh | 6 ++++++ tools/salt-install/installer.sh | 6 ++++++ tools/salt-install/local.params.example.multiple_hosts | 4 ++-- .../local.params.example.single_host_multiple_hostnames | 4 ++-- .../local.params.example.single_host_single_hostname | 4 ++-- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/tools/salt-install/common.sh b/tools/salt-install/common.sh index 7036e116c9..a1201fe369 100644 --- a/tools/salt-install/common.sh +++ b/tools/salt-install/common.sh @@ -18,6 +18,7 @@ fi USE_SSH_JUMPHOST=${USE_SSH_JUMPHOST:-} DISABLED_CONTROLLER="" +DATABASE_POSTGRESQL_DEFAULT_VERSION=12 # Comma-separated list of nodes. This is used to dynamically adjust # salt pillars. @@ -53,3 +54,8 @@ if [ -z "${ROLE2NODES['balancer']:-}" ]; then else ENABLE_BALANCER="yes" fi + +# Auto-sets PG version if needed +if [ -n "${ROLE2NODES['database']:-}" ]; then + DATABASE_POSTGRESQL_VERSION="${DATABASE_POSTGRESQL_VERSION:-${DATABASE_POSTGRESQL_DEFAULT_VERSION}}" +fi \ No newline at end of file diff --git a/tools/salt-install/installer.sh b/tools/salt-install/installer.sh index d41c50e8c5..bb57666da6 100755 --- a/tools/salt-install/installer.sh +++ b/tools/salt-install/installer.sh @@ -297,6 +297,12 @@ deploy) exit 1 fi + if [[ -z "${DATABASE_POSTGRESQL_VERSION:-}" ]]; then + echo + echo "Please configure DATABASE_POSTGRESQL_VERSION in local.params: It should match the version of the PostgreSQL service you're going to use." + exit 1 + fi + if [[ ${SSL_MODE} == "bring-your-own" ]]; then if [[ ! -z "${ROLE2NODES['balancer']:-}" ]]; then checkcert balancer diff --git a/tools/salt-install/local.params.example.multiple_hosts b/tools/salt-install/local.params.example.multiple_hosts index e84b8d6c13..909c3354ec 100644 --- a/tools/salt-install/local.params.example.multiple_hosts +++ b/tools/salt-install/local.params.example.multiple_hosts @@ -143,9 +143,9 @@ SHELL_INT_IP=10.1.2.17 DATABASE_NAME="${CLUSTER}_arvados" DATABASE_USER="${CLUSTER}_arvados" -DATABASE_POSTGRESQL_VERSION=12 -# Set this if using an external PostgreSQL service. +# Set these if using an external PostgreSQL service. #DATABASE_EXTERNAL_SERVICE_HOST_OR_IP= +#DATABASE_POSTGRESQL_VERSION= # Performance tuning parameters. If these are not set, workers # defaults on the number of cpus and queued requests defaults to 128. diff --git a/tools/salt-install/local.params.example.single_host_multiple_hostnames b/tools/salt-install/local.params.example.single_host_multiple_hostnames index d5273c0c11..8dece2b76f 100644 --- a/tools/salt-install/local.params.example.single_host_multiple_hostnames +++ b/tools/salt-install/local.params.example.single_host_multiple_hostnames @@ -78,9 +78,9 @@ SHELL_INT_IP="" DATABASE_NAME="${CLUSTER}_arvados" DATABASE_USER="${CLUSTER}_arvados" -DATABASE_POSTGRESQL_VERSION=12 -# Set this if using an external PostgreSQL service. +# Set these if using an external PostgreSQL service. #DATABASE_EXTERNAL_SERVICE_HOST_OR_IP= +#DATABASE_POSTGRESQL_VERSION= # The directory to check for the config files (pillars, states) you want to use. # There are a few examples under 'config_examples'. diff --git a/tools/salt-install/local.params.example.single_host_single_hostname b/tools/salt-install/local.params.example.single_host_single_hostname index 5d4dc12a12..33be542a15 100644 --- a/tools/salt-install/local.params.example.single_host_single_hostname +++ b/tools/salt-install/local.params.example.single_host_single_hostname @@ -88,9 +88,9 @@ SHELL_INT_IP="" DATABASE_NAME="${CLUSTER}_arvados" DATABASE_USER="${CLUSTER}_arvados" -DATABASE_POSTGRESQL_VERSION=12 -# Set this if using an external PostgreSQL service. +# Set these if using an external PostgreSQL service. #DATABASE_EXTERNAL_SERVICE_HOST_OR_IP= +#DATABASE_POSTGRESQL_VERSION= # The directory to check for the config files (pillars, states) you want to use. # There are a few examples under 'config_examples'. -- 2.30.2