[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [XEND] Activate a declared external device migration script for all devices and all save modes.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Node ID 903f80054bca52386ddbffc39b7f1ba62ffe470b # Parent 360eb996fa38319867a74bf581c734a80bf6839d [XEND] Activate a declared external device migration script for all devices and all save modes. Signed-off-by: Brendan Cully <brendan@xxxxxxxxx> --- tools/python/xen/xend/server/DevController.py | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletion(-) diff -r 360eb996fa38 -r 903f80054bca tools/python/xen/xend/server/DevController.py --- a/tools/python/xen/xend/server/DevController.py Wed Dec 13 16:13:26 2006 +0000 +++ b/tools/python/xen/xend/server/DevController.py Thu Dec 14 10:00:56 2006 +0000 @@ -19,12 +19,14 @@ from threading import Event from threading import Event import types -from xen.xend import sxp +from xen.xend import sxp, XendRoot from xen.xend.XendError import VmError from xen.xend.XendLogging import log from xen.xend.xenstore.xstransact import xstransact, complete from xen.xend.xenstore.xswatch import xswatch + +import os DEVICE_CREATE_TIMEOUT = 100 HOTPLUG_STATUS_NODE = "hotplug-status" @@ -47,6 +49,8 @@ xenbusState = { 'Closing' : 5, 'Closed' : 6, } + +xroot = XendRoot.instance() xenbusState.update(dict(zip(xenbusState.values(), xenbusState.keys()))) @@ -313,6 +317,16 @@ class DevController: Make sure that the migration has finished and only then return from the call. """ + tool = xroot.get_external_migration_tool() + if tool: + log.info("Calling external migration tool for step %d" % step) + fd = os.popen("%s -type %s -step %d -host %s -domname %s" % + (tool, self.deviceClass, step, dst, domName)) + for line in fd: + log.info(line.rstrip()) + rc = fd.close() + if rc: + raise VmError('Migration tool returned %d' % (rc >> 8)) return 0 @@ -320,6 +334,16 @@ class DevController: """ Recover from device migration. The given step was the last one that was successfully executed. """ + tool = xroot.get_external_migration_tool() + if tool: + log.info("Calling external migration tool") + fd = os.popen("%s -type %s -step %d -host %s -domname %s -recover" % + (tool, self.deviceClass, step, dst, domName)) + for line in fd: + log.info(line.rstrip()) + rc = fd.close() + if rc: + raise VmError('Migration tool returned %d' % (rc >> 8)) return 0 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |