
Daniel P. Berrange wrote:
On Tue, May 20, 2008 at 10:00:50AM -0400, Cole Robinson wrote:
Wolfgang Rosenauer wrote:
I found that support for setting autostart parameters for xend managed guests has been added to libvirt (https://www.redhat.com/archives/libvir-list/2008-May/msg00060.html)
So I tried that but failed with virsh's autostart command (and also virt-manager) like this:
virsh # autostart saruman libvir: Xen Daemon error : POST operation failed: (xend.err "Error creating domain: VM name 'saruman' already exists as domain 32") libvir: Xen Daemon error : failed Xen syscall Failed to redefine sexpr 6508560 error: Failed to mark domain saruman as autostarted
So yes, the domain is indeed running but I understood it should be changeable during a domain's lifetime.
Any ideas? That is a libvirt CVS snapshot from yesterday and a Xen 3.1 installation.
Thanks, Wolfgang Hmm, I thought redefining the sexpr in place was an a-okay thing to do, and this worked on my f8 machine. I'll look into this.
Yes it is an OK thing todo. It is explicitly supported as it is *required* in order todo installations - we boot the guest with the install config, and defnie the guest with its persistent config. What exact version of Xen is being used here ? It looks like it has overzealous duplicate checking
I just found the following patch which is applied to Xen 3.1 on openSUSE which sounds like the culprit. If you can confirm that I'm happy to report a bug over at openSUSE. # HG changeset patch # User kfraser@localhost.localdomain # Date 1180086787 -3600 # Node ID a717cb2fac908ba82619ba52e34a2cc77942df4f # Parent 9073caff4b63490bc63bbe2b0b48fd06cc47d6c6 xend: Fix checkname so that it detects duplicate domains. Signed-off-by: Mats Petersson <mats.petersson@amd.com> Index: xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== --- xen-3.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py +++ xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -2069,7 +2069,7 @@ class XendDomainInfo: raise VmError('Invalid VM Name') dom = XendDomain.instance().domain_lookup_nr(name) - if dom and dom.info['uuid'] != self.info['uuid']: + if dom and dom.domid != self.domid: raise VmError("VM name '%s' already exists%s" % (name, dom.domid is not None and