Jenkins gets stuck until the safety-catch timer expires
after three hours when the deploy is successfull. The result
code is still correct, but it's an unnecessary delay.
JIRA
Change-Id: I4fae6b019174744894e223ccfd4502acece95768
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
exit_handler() {
# Remove safety catch
- kill $killpid
+ kill -9 `ps -p $killpid -o pid --no-headers` \
+ `ps --ppid $killpid -o pid --no-headers`\
+ > /dev/null 2>&1
}
+# Set maximum allowed deploy time (default three hours)
+MAXDEPLOYTIME=${MAXDEPLOYTIME-3h}
+
####### MAIN ########
if [ "`whoami`" != "root" ]; then
fi
-# Enable safety catch at three hours
-(sleep 3h; kill $$) &
+# Enable safety catch
+echo "Enabling auto-kill if deployment exceeds $MAXDEPLOYTIME"
+(sleep $MAXDEPLOYTIME; echo "Auto-kill of deploy after a timeout of $MAXDEPLOYTIME"; kill $$) &
killpid=$!
# Enable exit handler
trap exit_handler exit
-
# Stop all VMs
for node in controller1 controller2 controller3 compute4 compute5 fuel-master
do