+diagnostics-internal)
+ loadconfig
+ set -u
+
+ if [ -z "${ROLE2NODES['shell']:-}" ]; then
+ echo "No node with 'shell' role was found, cannot run diagnostics-internal"
+ exit 1
+ fi
+
+ export ARVADOS_API_HOST="${DOMAIN}:${CONTROLLER_EXT_SSL_PORT}"
+ export ARVADOS_API_TOKEN="$SYSTEM_ROOT_TOKEN"
+
+ # Pick the first shell node for test running
+ declare TESTNODE=$(echo ${ROLE2NODES['shell']} | cut -d\, -f1)
+ declare SSH=$(ssh_cmd "$TESTNODE")
+
+ # Set up credentials
+ declare CONFFILE=$(mktemp)
+ trap 'rm "$CONFFILE"' EXIT INT TERM QUIT
+ {
+ echo "ARVADOS_API_HOST=$ARVADOS_API_HOST"
+ echo "ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN"
+ } > $CONFFILE
+ $SSH $DEPLOY_USER@$TESTNODE "sudo bash -c 'mkdir -m 0700 -p ~/.config/arvados'"
+ cat $CONFFILE | $SSH $DEPLOY_USER@$TESTNODE "sudo bash -c 'cat > ~/.config/arvados/settings.conf'"
+
+ # Run diagnostics
+ echo "Running diagnostics in $TESTNODE..."
+ $SSH $DEPLOY_USER@$TESTNODE "sudo arvados-client diagnostics -internal-client"
+
+ ;;
+