--- /dev/null
+##########################################################
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: CC-BY-SA-3.0
+
+# This is generic logic used by provision.sh & installer.sh scripts
+
+if [[ -s ${CONFIG_FILE} && -s ${CONFIG_FILE}.secrets ]]; then
+ source ${CONFIG_FILE}.secrets
+ source ${CONFIG_FILE}
+else
+ echo >&2 "You don't seem to have a config file with initial values."
+ echo >&2 "Please create a '${CONFIG_FILE}' & '${CONFIG_FILE}.secrets' files as described in"
+ echo >&2 " * https://doc.arvados.org/install/salt-single-host.html#single_host, or"
+ echo >&2 " * https://doc.arvados.org/install/salt-multi-host.html#multi_host_multi_hostnames"
+ exit 1
+fi
+
+# Comma-separated list of nodes. This is used to dynamically adjust
+# salt pillars.
+NODELIST=""
+for node in "${!NODES[@]}"; do
+ if [ -z "$NODELIST" ]; then
+ NODELIST="$node"
+ else
+ NODELIST="$NODELIST,$node"
+ fi
+done
+
+# The mapping of roles to nodes. This is used to dinamically adjust
+# salt pillars.
+declare -A ROLES
+for node in "${!NODES[@]}"; do
+ roles="${NODES[$node]}"
+
+ # Split the comma-separated roles into an array
+ IFS=',' read -ra roles_array <<< "$roles"
+
+ for role in "${roles_array[@]}"; do
+ if [ -n "${ROLES[$role]:-}" ]; then
+ ROLES["$role"]="${ROLES[$role]},$node"
+ else
+ ROLES["$role"]=$node
+ fi
+ done
+done
+
+# Auto-detects load-balancing mode
+if [ -z "${ROLES['balancer']:-}" ]; then
+ ENABLE_BALANCER="no"
+else
+ ENABLE_BALANCER="yes"
+fi
if ! [[ -s ${CONFIG_FILE} && -s ${CONFIG_FILE}.secrets ]]; then
echo "Must be run from initialized setup dir, maybe you need to 'initialize' first?"
fi
- source ${CONFIG_FILE}.secrets
- source ${CONFIG_FILE}
+ source common.sh
GITTARGET=arvados-deploy-config-${CLUSTER}
# Set up SSH so that it doesn't forward any environment variable. This is to avoid
[shell.${DOMAIN}]=shell
)
-# Comma-separated list of nodes. This is used to dynamically adjust
-# salt pillars.
-NODELIST=""
-for node in "${!NODES[@]}"; do
- if [ -z "$NODELIST" ]; then
- NODELIST="$node"
- else
- NODELIST="$NODELIST,$node"
- fi
-done
-
-# The mapping of roles to nodes. This is used to dinamically adjust
-# salt pillars.
-declare -A ROLES
-for node in "${!NODES[@]}"; do
- roles="${NODES[$node]}"
-
- # Split the comma-separated roles into an array
- IFS=',' read -ra roles_array <<< "$roles"
-
- for role in "${roles_array[@]}"; do
- if [ -n "${ROLES[$role]:-}" ]; then
- ROLES["$role"]="${ROLES[$role]},$node"
- else
- ROLES["$role"]=$node
- fi
- done
-done
-
-# Auto-detects load-balancing mode
-if [ -z "${ROLES['balancer']:-}" ]; then
- ENABLE_BALANCER="no"
-else
- ENABLE_BALANCER="yes"
-fi
-
# Host SSL port where you want to point your browser to access Arvados
# Defaults to 443 for regular runs, and to 8443 when called in Vagrant.
# You can point it to another port if desired
KEEPSTORE0_INT_IP=10.1.2.13
SHELL_INT_IP=10.1.2.17
-# Load balancing settings
+# In a load balanced deployment, you can do rolling upgrades by specifying one
+# controller node name at a time, so that it gets removed from the pool and can
+# be upgraded.
DISABLED_CONTROLLER=""
# Performance tuning parameters
declare -A ROLES
declare NODELIST
-if [[ -s ${CONFIG_FILE} && -s ${CONFIG_FILE}.secrets ]]; then
- source ${CONFIG_FILE}.secrets
- source ${CONFIG_FILE}
-else
- echo >&2 "You don't seem to have a config file with initial values."
- echo >&2 "Please create a '${CONFIG_FILE}' & '${CONFIG_FILE}.secrets' files as described in"
- echo >&2 " * https://doc.arvados.org/install/salt-single-host.html#single_host, or"
- echo >&2 " * https://doc.arvados.org/install/salt-multi-host.html#multi_host_multi_hostnames"
- exit 1
-fi
+source common.sh
if [ ! -d ${CONFIG_DIR} ]; then
echo >&2 "You don't seem to have a config directory with pillars and states."