From: Peter Amstutz Date: Mon, 27 Jun 2022 00:46:41 +0000 (-0400) Subject: 18870: Deploy individual nodes X-Git-Tag: 2.5.0~127^2~20 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/c47e500a8143b1354624a962eae7f8fc016ba72f 18870: Deploy individual nodes Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- diff --git a/tools/salt-install/installer.sh b/tools/salt-install/installer.sh index b901651e7c..2024c2cd1d 100755 --- a/tools/salt-install/installer.sh +++ b/tools/salt-install/installer.sh @@ -6,6 +6,27 @@ set -e +deploynode() { + if test $NODE = localhost ; then + sudo ./provision.sh --config local.params --roles ${NODES[$NODE]} + else + if ! ssh $NODE test -d arvados-setup ; then + ssh $NODE git init --bare arvados-setup.git + if ! git remote add $NODE $DEPLOY_USER@$NODE:arvados-setup.git ; then + git remote set-url $NODE $DEPLOY_USER@$NODE:arvados-setup.git + fi + git push $NODE $BRANCH + ssh $NODE git clone arvados-setup.git arvados-setup + fi + + git push $NODE $BRANCH + ssh $NODE git -C arvados-setup checkout $BRANCH + ssh $NODE git -C arvados-setup pull + + ssh $DEPLOY_USER@$NODE "cd arvados-setup && sudo ./provision.sh --config local.params --roles ${NODES[$NODE]}" + fi +} + subcmd="$1" if test -n "$subcmd" ; then shift @@ -57,6 +78,7 @@ case "$subcmd" in echo "setup directory initialized, now go to $SETUPDIR, edit 'local.params' and 'local_config_dir' as needed, then run 'installer.sh deploy'" ;; deploy) + NODE=$1 CONFIG_FILE=local.params if ! test -s $CONFIG_FILE ; then echo "Must be run from arvados-setup, maybe you need to 'initialize' first?" @@ -72,27 +94,15 @@ case "$subcmd" in if ! git diff --cached --exit-code ; then git commit -m"prepare for deploy" fi - for NODE in "${!NODES[@]}" - do - if test $NODE = localhost ; then - sudo ./provision.sh --config local.params --roles ${NODES[$NODE]} - else - if ! ssh $NODE test -d arvados-setup ; then - ssh $NODE git init --bare arvados-setup.git - if ! git remote add $NODE $DEPLOY_USER@$NODE:arvados-setup.git ; then - git remote set-url $NODE $DEPLOY_USER@$NODE:arvados-setup.git - fi - git push $NODE $BRANCH - ssh $NODE git clone arvados-setup.git arvados-setup - fi - git push $NODE $BRANCH - ssh $NODE git -C arvados-setup checkout $BRANCH - ssh $NODE git -C arvados-setup pull - - ssh $DEPLOY_USER@$NODE "cd arvados-setup && sudo ./provision.sh --config local.params --roles ${NODES[$NODE]}" - fi - done + if test -z "$NODE"; then + for NODE in "${!NODES[@]}" + do + deploynode + done + else + deploynode + fi ;; *) echo "Arvados installer"