#
# SPDX-License-Identifier: AGPL-3.0
+set -e
+
DEBUG=0
UNMANAGED=0
SSH_PORT=22
let endtime="$(now) + 600"
while [ "$endtime" -gt "$(now)" ]; do
apt-get update
- apt-get -y upgrade
+ DEBIAN_FRONTEND=noninteractive apt-get -y upgrade
apt_exitcode=$?
if [ 0 = "$apt_exitcode" ]; then
break
if [[ "$ECODE" == "0" ]]; then
rm -f $TMP_FILE
- echo $node successfully updated
+ title "$node successfully updated"
else
- echo $node exit code: $ECODE see $TMP_FILE for details
+ title "$node exit code: $ECODE see $TMP_FILE for details"
fi
}
title "Gathering list of nodes"
start_nodes="workbench"
-if [[ "$IDENTIFIER" != "ce8i5" ]]; then
+if [[ "$IDENTIFIER" != "ce8i5" ]] && [[ "$IDENTIFIER" != "tordo" ]]; then
start_nodes="$start_nodes manage switchyard"
fi
SHELL_NODES=`ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv virtual_machine list |jq .items[].hostname -r`
KEEP_NODES=`ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv keep_service list |jq .items[].service_host -r`
SHELL_NODE_FOR_ARV_KEEPDOCKER="shell.$IDENTIFIER"
-start_nodes="$start_nodes $SHELL_NODES $KEEP_NODES $ARVADOS_API_HOST"
+start_nodes="$start_nodes $SHELL_NODES $KEEP_NODES"
nodes=""
for n in $start_nodes; do
## at this point nodes should be an array containing
## manage.qr1hi, keep.qr1hi, etc
## that should be defined in the .ssh/config file
- title "Updating in parallel: $nodes"
+ title "Updating in parallel:$nodes"
export -f update_node
export -f run_puppet
export -f run_apt
title "Found Arvados Standard Docker Images project with uuid $DOCKER_IMAGES_PROJECT"
- VERSION=`ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" $IDENTIFIER apt-cache policy python3-arvados-cwl-runner|grep Candidate`
- VERSION=`echo $VERSION|cut -f2 -d' '|cut -f1 -d-`
+ if [[ "$SHELL_NODE_FOR_ARV_KEEPDOCKER" == "" ]]; then
+ VERSION=`ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" -o "LogLevel QUIET" $IDENTIFIER apt-cache policy python3-arvados-cwl-runner|grep Candidate`
+ VERSION=`echo $VERSION|cut -f2 -d' '|cut -f1 -d-`
- if [[ "$?" != "0" ]] || [[ "$VERSION" == "" ]]; then
- title "ERROR: unable to get arvados/jobs Docker image version"
- exit 1
- else
- title "Found version for arvados/jobs Docker image: $VERSION"
- fi
+ if [[ "$?" != "0" ]] || [[ "$VERSION" == "" ]]; then
+ title "ERROR: unable to get python3-arvados-cwl-runner version"
+ exit 1
+ else
+ title "Found version for python3-arvados-cwl-runner: $VERSION"
+ fi
- if [[ "$SHELL_NODE_FOR_ARV_KEEPDOCKER" == "" ]]; then
- ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker |grep -qP "arvados/jobs +$VERSION "
+ set +e
+ CLEAN_VERSION=`echo $VERSION | sed s/~dev/.dev/g | sed s/~rc/rc/g`
+ ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker |grep -qP "arvados/jobs +$CLEAN_VERSION "
if [[ $? -eq 0 ]]; then
- title "Found latest arvados/jobs Docker image, nothing to upload"
- # Just in case it isn't yet, tag the image as latest
- title "Tag arvados/jobs Docker image $VERSION as latest"
- ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker --project-uuid=$DOCKER_IMAGES_PROJECT arvados/jobs latest
- if [[ $? -ne 0 ]]; then
- title "'arv-keepdocker' failed..."
- exit 1
- fi
+ set -e
+ title "Found arvados/jobs Docker image version $CLEAN_VERSION, nothing to upload"
else
- title "Installing latest arvados/jobs Docker image"
- ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker --pull --project-uuid=$DOCKER_IMAGES_PROJECT arvados/jobs $VERSION
- if [[ $? -ne 0 ]]; then
- title "'arv-keepdocker' failed..."
- exit 1
- fi
- ## adding latest tag too refs 9254
- docker tag arvados/jobs:$VERSION arvados/jobs:latest
- ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker --project-uuid=$DOCKER_IMAGES_PROJECT arvados/jobs latest
+ set -e
+ title "Installing arvados/jobs Docker image version $CLEAN_VERSION"
+ ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker --pull --project-uuid=$DOCKER_IMAGES_PROJECT arvados/jobs $CLEAN_VERSION
if [[ $? -ne 0 ]]; then
title "'arv-keepdocker' failed..."
exit 1
fi
fi
else
- ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" $SHELL_NODE_FOR_ARV_KEEPDOCKER "ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker" |grep -qP "arvados/jobs +$VERSION "
+ VERSION=`ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" -o "LogLevel QUIET" $SHELL_NODE_FOR_ARV_KEEPDOCKER apt-cache policy python3-arvados-cwl-runner|grep Candidate`
+ VERSION=`echo $VERSION|cut -f2 -d' '|cut -f1 -d-`
+
+ if [[ "$?" != "0" ]] || [[ "$VERSION" == "" ]]; then
+ title "ERROR: unable to get python3-arvados-cwl-runner version"
+ exit 1
+ else
+ title "Found version for python3-arvados-cwl-runner: $VERSION"
+ fi
+ set +e
+ CLEAN_VERSION=`echo $VERSION | sed s/~dev/.dev/g | sed s/~rc/rc/g`
+ ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" -o "LogLevel QUIET" $SHELL_NODE_FOR_ARV_KEEPDOCKER "ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker" |grep -qP "arvados/jobs +$CLEAN_VERSION "
if [[ $? -eq 0 ]]; then
- title "Found latest arvados/jobs Docker image, nothing to upload"
- # Just in case it isn't yet, tag the image as latest
- title "Tag arvados/jobs Docker image $VERSION as latest"
- ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" $SHELL_NODE_FOR_ARV_KEEPDOCKER docker tag arvados/jobs:$VERSION arvados/jobs:latest
- ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" $SHELL_NODE_FOR_ARV_KEEPDOCKER "ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker --project-uuid=$DOCKER_IMAGES_PROJECT arvados/jobs latest"
- if [[ $? -ne 0 ]]; then
- title "'arv-keepdocker' failed..."
- exit 1
- fi
+ set -e
+ title "Found arvados/jobs Docker image version $CLEAN_VERSION, nothing to upload"
else
- title "Installing latest arvados/jobs Docker image"
- ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" $SHELL_NODE_FOR_ARV_KEEPDOCKER "ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker --pull --project-uuid=$DOCKER_IMAGES_PROJECT arvados/jobs $VERSION"
- if [[ $? -ne 0 ]]; then
- title "'arv-keepdocker' failed..."
- exit 1
- fi
- ## adding latest tag too refs 9254
- ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" $SHELL_NODE_FOR_ARV_KEEPDOCKER docker tag arvados/jobs:$VERSION arvados/jobs:latest
- ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" $SHELL_NODE_FOR_ARV_KEEPDOCKER "ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker --project-uuid=$DOCKER_IMAGES_PROJECT arvados/jobs latest"
+ set -e
+ title "Installing arvados/jobs Docker image version $CLEAN_VERSION"
+ ssh -t -p$SSH_PORT -o "StrictHostKeyChecking no" -o "ConnectTimeout 125" -o "LogLevel QUIET" $SHELL_NODE_FOR_ARV_KEEPDOCKER "ARVADOS_API_HOST=$ARVADOS_API_HOST ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN arv-keepdocker --pull --project-uuid=$DOCKER_IMAGES_PROJECT arvados/jobs $CLEAN_VERSION"
if [[ $? -ne 0 ]]; then
title "'arv-keepdocker' failed..."
exit 1