Masaki Kanno
2007-Dec-11 06:01 UTC
[Xen-devel] [PATCH] Fix cleanup_domains() for suspending managed domains
Hi, When unmanaged domains with on_xend_stop="suspend" exist, managed domains are not suspended by xend stop command. The processing of cleanup_domains() is aborted by exception. # xm create vm1.conf on_xend_stop="suspend" Using config file "./vm1.conf". Started domain vm1 # xm new vm2.conf on_xend_stop="suspend" Using config file "./vm2.conf". # xm start vm2 # xend stop # cat /var/log/xen/xend.log <<snip>> [2007-12-11 12:11:00 14789] DEBUG (SrvServer:76) SrvServer.cleanup() [2007-12-11 12:11:00 14789] DEBUG (XMLRPCServer:228) XMLRPCServer.cleanup() [2007-12-11 12:11:00 14789] DEBUG (XMLRPCServer:228) XMLRPCServer.cleanup() [2007-12-11 12:11:00 14789] DEBUG (XendDomain:609) cleanup_domains [2007-12-11 12:11:00 14789] ERROR (SrvDaemon:353) Exception starting xend (Domain is not managed by Xend lifecycle support.) Traceback (most recent call last): File "//usr/lib/python/xen/xend/server/SrvDaemon.py", line 346, in run servers.start(status) File "//usr/lib/python/xen/xend/server/SrvServer.py", line 158, in start time.sleep(100000000) File "//usr/lib/python/xen/xend/server/SrvServer.py", line 86, in cleanup xenddomain().cleanup_domains() File "//usr/lib/python/xen/xend/XendDomain.py", line 622, in cleanup_domains self.domain_suspend(dom.getName()) File "//usr/lib/python/xen/xend/XendDomain.py", line 870, in domain_suspend raise XendError("Domain is not managed by Xend lifecycle " + XendError: Domain is not managed by Xend lifecycle support. This patch keeps suspending managed domains even if unmanaged domains exist. # xm create vm1.conf on_xend_stop="suspend" Using config file "./vm1.conf". Started domain vm1 # xm new vm2.conf on_xend_stop="suspend" Using config file "./vm2.conf". # xm start vm2 # xend stop # cat /var/log/xen/xend.log <<snip>> [2007-12-11 13:48:54 3434] DEBUG (SrvServer:76) SrvServer.cleanup() [2007-12-11 13:48:54 3434] DEBUG (XMLRPCServer:228) XMLRPCServer.cleanup() [2007-12-11 13:48:54 3434] DEBUG (XMLRPCServer:228) XMLRPCServer.cleanup() [2007-12-11 13:48:54 3434] DEBUG (XendDomain:609) cleanup_domains [2007-12-11 13:48:54 3434] ERROR (XendDomain:627) Domain vm1 failed to suspend. Traceback (most recent call last): File "/usr/lib/python/xen/xend/XendDomain.py", line 623, in cleanup_domains self.domain_suspend(dom.getName()) File "/usr/lib/python/xen/xend/XendDomain.py", line 876, in domain_suspend raise XendError("Domain is not managed by Xend lifecycle " + XendError: Domain is not managed by Xend lifecycle support. [2007-12-11 13:48:54 3434] DEBUG (XendCheckpoint:89) [xc_save]: /usr/lib/xen/bin/xc_save 4 2 0 0 0 [2007-12-11 13:48:54 3434] DEBUG (XendCheckpoint:336) suspend [2007-12-11 13:48:54 3434] DEBUG (XendCheckpoint:92) In saveInputHandler suspend [2007-12-11 13:48:54 3434] DEBUG (XendCheckpoint:94) Suspending 2 ... [2007-12-11 13:48:54 3434] DEBUG (XendDomainInfo:467) XendDomainInfo.shutdown(suspend) [2007-12-11 13:48:54 3434] DEBUG (XendDomainInfo:1085) XendDomainInfo.handleShutdownWatch [2007-12-11 13:48:54 3434] DEBUG (XendDomainInfo:1085) XendDomainInfo.handleShutdownWatch [2007-12-11 13:48:54 3434] INFO (XendCheckpoint:99) Domain 2 suspended. [2007-12-11 13:48:54 3434] DEBUG (XendCheckpoint:107) Written done [2007-12-11 13:48:54 3434] INFO (XendCheckpoint:365) Had 0 unexplained entries in p2m table Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com> Best regards, Kan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel