[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-3.2-testing] xm reboot: Fix wait option of xm reboot command
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1203343265 0 # Node ID 20b20c4532825a74ff3f3c087d9d56152fdbec72 # Parent d26b1b777fde6dc841ee42adb791f0ab15c0e26c xm reboot: Fix wait option of xm reboot command When I rebooted a domain by xm reboot command with wait option, I saw the following message. But, rebooting the domain succeeded. Domain vm1 destroyed for failed in rebooting The cause why the message was shown is the domain is destroyed temporarily by processing of xm reboot command. The domain information is not gotten from Xend by server.xend.domains() function till recreating the domain is completed. This patch fixes processing of xm reboot command in Xm side. It waits just a bit till recreating the domain is completed, then it measures the success or failure of the reboot of the domain. Signed-off-by: Masaki Kanno <kanno.masaki@xxxxxxxxxxxxxx> xen-unstable changeset: 16988:d04593aa1605fd337423b2c1296e275424e06656 xen-unstable date: Thu Feb 07 09:27:46 2008 +0000 --- tools/python/xen/xm/shutdown.py | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff -r d26b1b777fde -r 20b20c453282 tools/python/xen/xm/shutdown.py --- a/tools/python/xen/xm/shutdown.py Wed Feb 06 10:06:35 2008 +0000 +++ b/tools/python/xen/xm/shutdown.py Mon Feb 18 14:01:05 2008 +0000 @@ -23,6 +23,8 @@ from opts import * from opts import * from main import server, serverType, SERVER_XEN_API, get_single_vm from xen.xend.XendAPIConstants import * + +RECREATING_TIMEOUT = 30 gopts = Opts(use="""[options] [DOM] @@ -53,6 +55,7 @@ def wait_reboot(opts, doms, rcs): if serverType == SERVER_XEN_API: opts.err("Cannot wait for reboot w/ XenAPI (yet)") + recreating = {} while doms: alive = server.xend.domains(0) reboot = [] @@ -61,9 +64,17 @@ def wait_reboot(opts, doms, rcs): rc = server.xend.domain.getRestartCount(d) if rc == rcs[d]: continue reboot.append(d) + + # Probably the domain is being recreated now. + # We have to wait just a bit for recreating the domain. + elif not recreating.has_key(d): + recreating[d] = 0 else: - opts.info("Domain %s destroyed for failed in rebooting" % d) - doms.remove(d) + recreating[d] += 1 + if recreating[d] > RECREATING_TIMEOUT: + opts.info("Domain %s destroyed for failing to reboot" % d) + doms.remove(d) + for d in reboot: opts.info("Domain %s rebooted" % d) doms.remove(d) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |