X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0630e05d68440e421d622d1f26e956c65f3d9668..f5c6eb8491fb0d0a94bc1699ad7d84b054e0fec0:/tools/salt-install/installer.sh diff --git a/tools/salt-install/installer.sh b/tools/salt-install/installer.sh index 4ce490421f..cfa7b1454a 100755 --- a/tools/salt-install/installer.sh +++ b/tools/salt-install/installer.sh @@ -47,6 +47,11 @@ declare GITTARGET # This will be populated by loadconfig() declare USE_SSH_JUMPHOST +# The temp file that will get used to disable envvar forwarding to avoid locale +# issues in Debian distros. +# This will be populated by loadconfig() +declare SSH_CONFFILE + checktools() { local MISSING='' for a in git ip ; do @@ -133,14 +138,20 @@ loadconfig() { source ${CONFIG_FILE}.secrets source ${CONFIG_FILE} GITTARGET=arvados-deploy-config-${CLUSTER} + + # Set up SSH so that it doesn't forward any environment variable. This is to avoid + # getting "setlocale" errors on the first run, depending on the distro being used + # to run the installer (like Debian). + SSH_CONFFILE=$(mktemp) + echo "Include config SendEnv -*" > ${SSH_CONFFILE} } ssh_cmd() { local NODE=$1 if [ -z "${USE_SSH_JUMPHOST}" -o "${NODE}" == "${USE_SSH_JUMPHOST}" -o "${NODE}" == "localhost" ]; then - echo "ssh" + echo "ssh -F ${SSH_CONFFILE}" else - echo "ssh -J ${DEPLOY_USER}@${USE_SSH_JUMPHOST}" + echo "ssh -F ${SSH_CONFFILE} -J ${DEPLOY_USER}@${USE_SSH_JUMPHOST}" fi } @@ -296,13 +307,22 @@ case "$subcmd" in for NODE in "${!NODES[@]}" do - # then 'api' or 'controller' roles + # then 'api' or 'controller' roles if [[ "${NODES[$NODE]}" =~ (api|controller) ]] ; then deploynode $NODE "${NODES[$NODE]}" unset NODES[$NODE] fi done + for NODE in "${!NODES[@]}" + do + # then 'balancer' role + if [[ "${NODES[$NODE]}" =~ (balancer) ]] ; then + deploynode $NODE "${NODES[$NODE]}" + unset NODES[$NODE] + fi + done + for NODE in "${!NODES[@]}" do # Everything else (we removed the nodes that we