|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] [PATCH] Don't destroy domains on shutdown timeout
 
# HG changeset patch
# User john.levon@xxxxxxx
# Date 1180453350 25200
# Node ID f9a32255575593805ccd9cd2ce481e89aec891cc
# Parent  169ed8c1e7c79bd55d07110d9e784945b60da561
Don't destroy domains on shutdown timeout
Do not destroy domains on shutdown timeout: the administrator needs to be able
to decide what to do if a domain does not shut down.
Bump the timeout so a message is logged after no response to the request for
five minutes.
Signed-off-by: John Levon <john.levon@xxxxxxx>
diff --git a/tools/python/xen/xend/XendConstants.py 
b/tools/python/xen/xend/XendConstants.py
--- a/tools/python/xen/xend/XendConstants.py
+++ b/tools/python/xen/xend/XendConstants.py
@@ -79,7 +79,7 @@ STATE_DOM_OK       = 1
 STATE_DOM_OK       = 1
 STATE_DOM_SHUTDOWN = 2
 
-SHUTDOWN_TIMEOUT = 30.0
+SHUTDOWN_TIMEOUT = (5 * 60.0)
 
 ZOMBIE_PREFIX = 'Zombie-'
 
diff --git a/tools/python/xen/xend/XendDomainInfo.py 
b/tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py
+++ b/tools/python/xen/xend/XendDomainInfo.py
@@ -1112,8 +1112,8 @@ class XendDomainInfo:
                 # failed.  Ignore this domain.
                 pass
             else:
-                # Domain is alive.  If we are shutting it down, then check
-                # the timeout on that, and destroy it if necessary.
+                # Domain is alive.  If we are shutting it down, log a message
+                # if it seems unresponsive.
                 if xeninfo['paused']:
                     self._stateSet(DOM_STATE_PAUSED)
                 else:
@@ -1122,11 +1122,11 @@ class XendDomainInfo:
                 if self.shutdownStartTime:
                     timeout = (SHUTDOWN_TIMEOUT - time.time() +
                                self.shutdownStartTime)
-                    if timeout < 0:
+                    if (timeout < 0 and not self.readDom('xend/unresponsive')):
                         log.info(
                             "Domain shutdown timeout expired: name=%s id=%s",
                             self.info['name_label'], self.domid)
-                        self.destroy()
+                        self.storeDom('xend/unresponsive', 'True')
         finally:
             self.refresh_shutdown_lock.release()
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-devel] [PATCH] Don't destroy domains on shutdown timeout,
john . levon <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |