[libvirt] [PATCH v3 2/5] vz: add migration backbone code
Daniel P. Berrange
berrange at redhat.com
Wed Aug 26 08:46:11 UTC 2015
On Wed, Aug 26, 2015 at 10:19:43AM +0300, Nikolay Shirokovskiy wrote:
>
>
> On 25.08.2015 20:28, Dmitry Guryanov wrote:
> > On 08/25/2015 07:18 PM, Daniel P. Berrange wrote:
> >> On Tue, Aug 25, 2015 at 12:04:14PM +0300, nshirokovskiy at virtuozzo.com wrote:
> >>> From: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
> >>>
> >>> This patch makes basic vz migration possible. For example by virsh:
> >>> virsh -c vz:///system migrate --direct $NAME $STUB vz+ssh://$DST/system
> >>>
> >>> $STUB could be anything as it is required virsh argument but it is not
> >>> used in direct migration.
> >>>
> >>> Vz migration is implemented as direct migration. The reason is that vz sdk do
> >>> all the job. Prepare phase function is used to pass session uuid from
> >>> destination to source so we don't introduce new rpc call.
> >> I'm trying to understand why you need $STUB as dummy data.
> >>
> >> IIRC, when doing direct migration, you should be providing a valid
> >> URI for the first parameter, and not need the second uri.
> >
> > virsh uses virDomainMigrateToURI3 function, and for some reason it differs
> > destination URI for direct and peer-to-peer migrations. For p2p it uses
> > pconnuri argument and for direct -VIR_MIGRATE_PARAM_URI <http://libvirt.org/html/libvirt-libvirt-domain.html#VIR_MIGRATE_PARAM_URI> from typed params list.
> >
> AFAIU in virDomainMigrateToURI3 function, dconnuri argument is treated as URI to destination libvirt daemon.
> As direct migration doesn't need this kind of connection this argument is ignored.
>
> However as suggested vz migration implementation uses connection to destination libvirtd daemon
> to get destination hypervisor session uuid I should probably use dconnuri for for that purporse
> not hypervisor URI. This is related what Dmitry mentioned in previous letters where there
> was a confusion between hypervisor and remote access to daemon ports.
>
> This would break a invariant mentioned in the documentation that direct migration
> does not use dconnuri. Probably it is not too bad too get away from this restriction.
Before you change the code yet again, I'll take a closer look at the
migration code and try to figure out a clear correct answer. This bit
of libvirt is so confusing it is easy to get wrong....
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list