From 19fe111fccd8a4371aebce630b9171d7e24c65c8 Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Tue, 24 Apr 2012 17:23:02 +0200 Subject: [PATCH] bug #1211: change vmm/xen/shutdown to make use of retry and force_destroy --- src/vmm_mad/remotes/xen/shutdown | 27 +++++++++++++-------------- src/vmm_mad/remotes/xen/xenrc | 6 ++++++ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/vmm_mad/remotes/xen/shutdown b/src/vmm_mad/remotes/xen/shutdown index d7ed0a16c6..9ec12b8c87 100755 --- a/src/vmm_mad/remotes/xen/shutdown +++ b/src/vmm_mad/remotes/xen/shutdown @@ -21,24 +21,23 @@ source $(dirname $0)/../../scripts_common.sh deploy_id=$1 -function gdm { - $XM_LIST | grep "$deploy_id " +if [ -z "$SHUTDOWN_TIMEOUT" ]; then + TIMEOUT=120 +else + TIMEOUT=$SHUTDOWN_TIMEOUT +fi + +function monitor +{ + $XM_LIST "$deploy_id" > /dev/null + + [ "x$?" != "x0" ] } exec_and_log "$XM_SHUTDOWN $deploy_id" \ "Could not shutdown $deploy_id" -OUT=$(gdm) +retry $TIMEOUT monitor -while [ -n "$OUT" -a "$(echo $OUT | awk '{print $5}')" != "---s--" ]; do - sleep 1 - OUT=$(gdm) -done - -OUT=$(gdm) - -if [ -n "$OUT" ]; then - $XM_CANCEL "$deploy_id" -fi -sleep 2 +force_shutdown "$deploy_id" "$XM_CANCEL \"$deploy_id\"" diff --git a/src/vmm_mad/remotes/xen/xenrc b/src/vmm_mad/remotes/xen/xenrc index 694d9570c1..357a93478b 100644 --- a/src/vmm_mad/remotes/xen/xenrc +++ b/src/vmm_mad/remotes/xen/xenrc @@ -28,4 +28,10 @@ export XM_LIST="sudo $XM_PATH list" export XM_SHUTDOWN="sudo $XM_PATH shutdown" export XM_POLL="sudo /usr/sbin/xentop -bi2" +# Senconds to wait after shutdown until timeout +export SHUTDOWN_TIMEOUT=120 + +# Uncoment this line to force VM cancellation after shutdown timeout +#export FORCE_DESTROY=yes +