[libvirt] Migration API broken for xenmigr://

John Levon levon at movementarian.org
Fri Jan 30 16:04:12 UTC 2009


On Fri, Jan 30, 2009 at 03:41:04PM +0000, Daniel P. Berrange wrote:

> > This is obviously impossible for xenmigr:///. As a result, virsh migrate
> > always returns  an error code:
> 
> I'm not sure I understand why this is impossible ?

I thought the purpose of xenmigr:/// was to allow live migration the
traditional way without needing a remotely accessible libvirtd. At
least, that's how we're using it. If it's the intention of libvirt that
you must always have a listening remote API, then we'll have to work out
a private fix for our tree.

> > # virsh migrate --live domu-220 xen:/// interpol
> > 18:44:40.974: error : Domain not found: xenUnifiedDomainLookupByName
> > libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
> > libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
> > 
> > thewhip:xend # echo $?
> > 1
> > 
> > Since virDomainLookupByName() returns NULL. I will request again, can I
> > remove the 'error' code from xenUnifiedDomainLookupByName?
> 
> I'm not sure why it returns NULL there ?!?!

xen:/// (the local source host) no longer has the domain, since it moved
to interpol.

> > More importantly, how can this be fixed? Perhaps we can return 'domain'
> > instead of 'ddomain' if a migrateuri was specified? Also, where does
> > 'domain' get freed in the case where 'ddomain' is returned?
> 
> The passed in 'domain' object is owned by the caller, so the caller is
> responsible for free'ing it once its done using it. Likewise the returned
> ddomain object should also be free'd by the caller when it no longer
> requires it

Yuck, so that won't do. Perhaps we could duplicate domain and pass that
back.

regards
john




More information about the libvir-list mailing list