This patch is an update of my previous anti-duplicate-domain patch.
Now, we check an existing same-name domain to see if it's in the
"terminated" state, renaming it to "zombie-domid-name" if so.
This basically makes the problem go away for me, as it gives the dying
domain time to clean itself up.
Test 10_create_fastdestroy from the next release of xm-test validates
that this fixes the problem.
Signed-off-by: Dan Smith <danms@xxxxxxxxxx>
diff -r c27431cf81f9 tools/python/xen/xend/XendDomain.py
--- a/tools/python/xen/xend/XendDomain.py Thu Sep 15 13:17:24 2005
+++ b/tools/python/xen/xend/XendDomain.py Thu Sep 15 08:44:22 2005
@@ -297,6 +297,20 @@
@param config: configuration
@return: domain
"""
+
+ existing = self.domains.get_by_name(sxp.child_value(config, "name"))
+ if existing:
+ if existing.is_terminated():
+ newname = "zombie-%i-%s" % (existing.domid, existing.name)
+ log.debug("Renaming zombie domain %s -> %s" %
+ (existing.name, newname))
+ existing.setName(newname)
+ else:
+ log.debug("Attempt to create duplicate domain %s" %
+ existing.name)
+ raise XendError("Domain %s already exists as %i!" %
+ (existing.name, existing.id))
+
dominfo = XendDomainInfo.create(self.dbmap, config)
return dominfo
--
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms@xxxxxxxxxx
_______________________________________________
Xen-tools mailing list
Xen-tools@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-tools
|