3 # Copyright (C) The Arvados Authors. All rights reserved.
5 # SPDX-License-Identifier: CC-BY-SA-3.0
12 if test "$NODE" != localhost ; then
13 if ! ssh $NODE test -d arvados-setup ; then
14 ssh $NODE git init --bare arvados-setup.git
15 if ! git remote add $NODE $DEPLOY_USER@$NODE:arvados-setup.git ; then
16 git remote set-url $NODE $DEPLOY_USER@$NODE:arvados-setup.git
18 git push $NODE $BRANCH
19 ssh $NODE git clone arvados-setup.git arvados-setup
22 git push $NODE $BRANCH
23 ssh $NODE git -C arvados-setup checkout $BRANCH
24 ssh $NODE git -C arvados-setup pull
29 if test -z "${NODES[$NODE]}" ; then
30 echo "No roles declared for '$NODE' in local.params"
34 if test $NODE = localhost ; then
35 sudo ./provision.sh --config local.params --roles ${NODES[$NODE]}
37 ssh $DEPLOY_USER@$NODE "cd arvados-setup && sudo ./provision.sh --config local.params --roles ${NODES[$NODE]}"
42 CONFIG_FILE=local.params
43 if ! test -s $CONFIG_FILE ; then
44 echo "Must be run from arvados-setup, maybe you need to 'initialize' first?"
50 if test -n "$subcmd" ; then
55 if ! test -f provision.sh ; then
56 echo "Must be run from arvados/tools/salt-install"
65 if test -z "$PARAMS" -o ! -f local.params.example.$PARAMS ; then
66 echo "Not found: local.params.example.$PARAMS"
67 echo "Expected one of multiple_hosts, single_host_multiple_hostnames, single_host_single_hostname"
71 if test -z "$SLS" -o ! -d config_examples/$SLS ; then
72 echo "Not found: config_examples/$SLS"
73 echo "Expected one of multi_host/aws, single_host/multiple_hostnames, single_host/single_hostname"
77 if test -z "$SETUPDIR" -o -z "$PARAMS" -o -z "$SLS" ; then
78 echo "installer.sh <setup dir to initialize> <params template> <config template>"
82 if test -n "$err" ; then
86 echo "Initializing $SETUPDIR"
88 cp -r *.sh tests $SETUPDIR
90 cp local.params.example.$PARAMS $SETUPDIR/local.params
91 cp -r config_examples/$SLS $SETUPDIR/local_config_dir
94 git add *.sh local.params local_config_dir tests
95 git commit -m"initial commit"
97 echo "setup directory initialized, now go to $SETUPDIR, edit 'local.params' and 'local_config_dir' as needed, then run 'installer.sh deploy'"
106 BRANCH=$(git branch --show-current)
109 if ! git diff --cached --exit-code ; then
110 git commit -m"prepare for deploy"
113 if test -z "$NODE"; then
114 for NODE in "${!NODES[@]}"
128 if ! which arvados-client ; then
129 apt-get install arvados-client
132 export ARVADOS_API_HOST="${CLUSTER}.${DOMAIN}"
133 export ARVADOS_API_TOKEN="$SYSTEM_ROOT_TOKEN"
135 arvados-client diagnostics -internal-client
138 echo "Arvados installer"
140 echo "initialize initialize the setup directory for configuration"
141 echo "deploy deploy the configuration from the setup directory"
142 echo "diagnostics check your install using diagnostics"