On Fri, 2014-05-16 at 09:51 -0400, Daniel P. Berrange wrote:
On Thu, May 15, 2014 at 11:50:54AM +0200, Jiri Denemark wrote:
> On Wed, May 14, 2014 at 15:18:09 +0800, Chen Fan wrote:
> > For now, we set the migration URI via command line '--migrate_uri' or
> > construct the URI by looking up the dest host's hostname which could be
> > solved by DNS automatically.
> >
> > But in cases the dest host have two or more NICs to reach, we may need to
> > send the migration data over a specific NIC which is different from the
> > automatically resloved one for some reason like performance, security, etc.
> > thus we must explicitly specify the migrateuri in command line everytime,
> > but it is too troublesome if there are many such hosts(and don't forget
> > virt-manager).
> >
> > This patches add a configuration file option on dest host to save the
> > default migrate uri which explicitly specify which of this host's
> > addresses is used for transferring data, thus user doesn't boring
> > to specify it in command line everytime.
> >
> > Signed-off-by: Chen Fan <chen.fan.fnst(a)cn.fujitsu.com>
> > ---
> >
> > v3-v4: move up the default uri_in setting to
> > qemuDomainMigratePrepare3Params()
> >
> > src/qemu/qemu.conf | 6 +++++-
> > src/qemu/qemu_conf.c | 1 +
> > src/qemu/qemu_conf.h | 1 +
> > src/qemu/qemu_driver.c | 2 +-
> > 4 files changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
> > index f0e802f..6b443d0 100644
> > --- a/src/qemu/qemu.conf
> > +++ b/src/qemu/qemu.conf
> > @@ -449,7 +449,11 @@
> > #
> > #seccomp_sandbox = 1
> >
> > -
> > +# Override the migration URI for specifying one of host's IP addresses
> > +# to transfer the migration data stream.
> > +# Defaults to hostname, both IPv4 and IPv6 addresses are accepted.
> > +#
> > +#migrate_uri = "tcp://192.168.0.1"
> >
> > # Override the listen address for all incoming migrations. Defaults to
> > # 0.0.0.0, or :: if both host and qemu are capable of IPv6.
>
> The more I think about this the more I incline to a slightly different
> approach. Rather than providing a way to override migration URI, we
> could just provide an option in libvirtd.conf to override what
> virGetHostname returns. That is, the option (naturally called hostname)
> would tell libvirt to use the configured hostname (which might even be
> just an IP address) instead of trying to detect it.
I'm not sure this is a good idea. The hostname is used in a number of places
in libvirt, and we don't neccessarily want them all to use the same interface
as the migration data. eg if you have a NIC that is dedicated just for migration
traffic, you won't want to force other parts of libvirt to use that. So having
the migration hostname specified separately is a good idea IMHO. Perhaps we
could simplify though by having 'migrate_host' rather than 'migrate_uri'
?
I think that is a good idea. I would like to implement them.
Thanks,
Chen
And perhaps we do want a hostname override globally anyway, for other reasons.
Regards,
Daniel