[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Regig the construction of new domains so that restore and create can share the
# HG changeset patch # User emellor@ewan # Node ID b5c5360a61d01912ccd71c0d07b03d424024d14f # Parent 2a3e10a132a2a57795ff9a46e465f99793c31da5 Regig the construction of new domains so that restore and create can share the construct method. This ensures that the domain will have any stale paths in the store removed on restore. Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx> diff -r 2a3e10a132a2 -r b5c5360a61d0 tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Fri Oct 7 10:16:28 2005 +++ b/tools/python/xen/xend/XendDomainInfo.py Fri Oct 7 12:34:10 2005 @@ -153,6 +153,11 @@ vm = XendDomainInfo(getUuid(), parseConfig(config)) try: vm.construct() + vm.initDomain() + vm.construct_image() + vm.configure() + vm.storeVmDetails() + vm.storeDomDetails() vm.refreshShutdown() return vm except: @@ -223,19 +228,14 @@ except TypeError, exn: raise VmError('Invalid ssidref in config: %s' % exn) - domid = xc.domain_create(ssidref = ssidref) - if domid < 0: - raise VmError('Creating domain failed for restore') + vm = XendDomainInfo(uuid, parseConfig(config)) try: - vm = XendDomainInfo(uuid, parseConfig(config), domid) - except: - xc.domain_destroy(domid) - raise - try: - vm.storeVmDetails() + vm.construct() vm.configure() vm.create_channel() + vm.storeVmDetails() vm.storeDomDetails() + vm.refreshShutdown() return vm except: vm.destroy() @@ -1001,12 +1001,6 @@ # shutdown_start_time from killing the domain, for example. self.removeDom() - self.initDomain() - self.construct_image() - self.configure() - self.storeVmDetails() - self.storeDomDetails() - def initDomain(self): log.debug('XendDomainInfo.initDomain: %s %s %s', @@ -1100,13 +1094,13 @@ def destroyDomain(self): log.debug("XendDomainInfo.destroyDomain(%s)", str(self.domid)) - self.cleanupDomain() - try: if self.domid is not None: xc.domain_destroy(dom=self.domid) except: log.exception("XendDomainInfo.destroy: xc.domain_destroy failed.") + + self.cleanupDomain() ## private: _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |