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