xend: Fix name uniqueness check (revert 15168:a717cb2fac90).

Changeset 15168:a717cb2fac90 altered check_name() in XendDomainInfo so
that it compares domain IDs instead of UUIDs. This breaks a number of
things

 - You can no longer use 'xm new' to define a persistent config file for
   a running guest. This breaks the key OS provisioning scenario where
   you boot a kenrel+initrd for the installer, and at the same time
   define a permanent config with pygrub.

 - It lets you define multiple inactive guests with different UUIDs, but
   the same name because all inactive guests have a domid of None. So
   you can now end up with multiple guests with same name, which is
   contrary to the goal implied by the patch which was name uniqueness.

It is unclear from the original commit logs just what scenario it was
trying to protect against, but the original checking of uniqueness
based on UUID was correct & is what was used in previous releases XenD.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
Keir Fraser committed 2007-09-27 18:08:11 +01:00
1 parent cd76c0a1ed
commit 9f5581fda7
1 file changed
+1 -1
+1 -1
View File
@@ -2184,7 +2184,7 @@ class XendDomainInfo:
raise VmError('Invalid VM Name')
dom = XendDomain.instance().domain_lookup_nr(name)
if dom and dom.domid and dom.domid != self.domid:
if dom and dom.info['uuid'] != self.info['uuid']:
raise VmError("VM name '%s' already exists%s" %
(name,
dom.domid is not None and
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.