From 79d2ce7dc1dd3fa4bdf2c5cba388166dd2bb5592 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Wed, 16 Sep 2015 09:42:28 +0200 Subject: node wrapper: check if a node is up, else sleep 15m and abort the job --- bin/jenkins_master_wrapper.sh | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'bin/jenkins_master_wrapper.sh') diff --git a/bin/jenkins_master_wrapper.sh b/bin/jenkins_master_wrapper.sh index 77c90026..12dcb142 100755 --- a/bin/jenkins_master_wrapper.sh +++ b/bin/jenkins_master_wrapper.sh @@ -2,29 +2,46 @@ set -u set -e +PARAMS="$JOB_NAME" # these nodes also need to be listed in bin/reproducible_common.sh where they define $BUILD_NODES case "$NODE_NAME" in bpi0-armhf-rb.debian.net) - exec ssh -p 2222 $NODE_NAME "$JOB_NAME" + PORT=2222 ;; hb0-armhf-rb.debian.net) - exec ssh -p 2224 $NODE_NAME "$JOB_NAME" + PORT=2224 ;; wbq0-armhf-rb.debian.net) - exec ssh -p 2225 $NODE_NAME "$JOB_NAME" + PORT=2225 ;; cbxi4pro0-armhf-rb.debian.net) - exec ssh -p 2226 $NODE_NAME "$JOB_NAME" + PORT=2226 ;; profitbricks-build?-amd64.debian.net) + PORT=22 if [[ "$JOB_NAME" =~ rebootstrap_.* ]] ; then - exec ssh $NODE_NAME "$JOB_NAME $@" - else - exec ssh $NODE_NAME "$JOB_NAME" + PARAMS="$PARAMS $@" fi ;; *) echo >&2 "Unknown node $NODE_NAME." exit 1 esac + +# +# main +# +set +e +ssh -p $PORT $NODE_NAME /bin/true +RESULT=$? +# abort job if host is down +if [ $RESULT -ne 0 ] then + echo "$(date -u) - $NODE_NAME seems to be down, sleeping 15min before aborting this job." + sleep 15m + /srv/jenkins/bin/abort.sh +fi +set -e +# finally +exec ssh -p $PORT $NODE_NAME "$PARAMS" + -- cgit v1.2.3-54-g00ecf