Merge "Correction of the auto-kill during deploy"
authorStefan K. Berg <stefan.k.berg@ericsson.com>
Sun, 19 Apr 2015 20:00:26 +0000 (20:00 +0000)
committerGerrit Code Review <gerrit@172.30.200.206>
Sun, 19 Apr 2015 20:00:26 +0000 (20:00 +0000)
fuel/prototypes/libvirt/deploy/deploy.sh

index 5d267e6..ba7f7cd 100755 (executable)
@@ -21,9 +21,14 @@ deployiso=${tmpdir}/deploy.iso
 
 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
@@ -59,14 +64,14 @@ if [ ! -f $deafile ]; 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