blob: 2c81b68215a95ede265f04499eac12cd9dece6ea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#!/bin/bash
set -u
set -e
# don't try to run on test system
if [ "$HOSTNAME" = "jenkins-test-vm" ] ; then
case $JOB_NAME in
lvc_*)
exec /srv/jenkins/bin/lvc.sh "$@"
echo "$(date -u) - running on $HOSTNAME, This should not happen."
exit 1
;;
esac
echo "$(date -u) - running on $HOSTNAME, exiting successfully and cleanly immediatly."
exit 0
fi
# define Debian build nodes in use
. /srv/jenkins/bin/jenkins_node_definitions.sh
PORT=0
get_node_ssh_port $NODE_NAME
# by default we just use the job name as param
case $JOB_NAME in
rebootstrap_*) PARAMS="$JOB_NAME $@"
;;
lvc_*) PARAMS="$JOB_NAME $EXECUTOR_NUMBER PU_GIT_BRANCH=${PU_GIT_BRANCH:-} $@"
export
;;
*) PARAMS="$JOB_NAME"
;;
esac
# pseudo job used to cleanup nodes
if [ "$JOB_NAME" = "cleanup_nodes" ] ; then
PARAMS="$PARAMS $@"
fi
#
# main
#
set +e
ssh -o "BatchMode = yes" -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
exec /srv/jenkins/bin/abort.sh
fi
set -e
# finally
exec ssh -o "BatchMode = yes" -p $PORT $NODE_NAME "$PARAMS"
|