[Openstack-operators] [nova] How to move on from live_migration_uri?
Matt Riedemann
mriedemos at gmail.com
Wed Jun 7 15:20:57 UTC 2017
The [libvirt]/live_migration_uri config option was deprecated in Ocata
[1] in favor of two other config options:
live_migration_scheme: defaults to tcp (could be ssh), only used for
kvm/qemu virt types
live_migration_inbound_addr: defaults to None, only used if doing a
non-tunneled live migration
Those are used here:
https://github.com/openstack/nova/blob/7815108d4892525b0047c787cbd2fe2f26c204c2/nova/virt/libvirt/driver.py#L652
If you leave a %s in the URI, the libvirt driver will replace that with
the destination target host.
Devstack is configuring the live_migration_uri option and setting it to
"qemu+ssh://stack@%s/system" in our CI jobs. That %s gets replaced with
the target destination host IP as noted above.
Since live_migration_uri is deprecated, I tried to update devstack to
use the new options that replace it [2], but then I ran into some
problems [3].
What I'm trying to do is continue to use ssh as the scheme since that's
what devstack sets up. So I set live_migration_scheme=ssh.
Within the libvirt driver, it starts with a URL like this for qemu:
qemu+%s://%s/system
And does a string replace on that URL with (scheme, destination), which
would give us:
qemu+ssh://<dest>/system
The problem lies in the dest part. Devstack is trying to specify the
username for the ssh URI, so it wants "stack@%s" for the dest part. I
tried setting live_migration_inbound_addr="stack@%s" but that doesn't
work because the driver doesn't replace the dest on top of that again,
so we just end up with this:
qemu+ssh://stack@%s/system
Is there some other way to be doing this? We could try to use tunneling
but the config option help text for live_migration_tunnelled makes that
sound scary, e.g. "Enable this option will definitely
impact performance massively." Holy crap Scoobs, let's scram!
Should we check if the scheme is ssh and try a final string replacement
with the destination host after we've already applied
(live_migration_scheme, live_migration_inbound_addr)?
Other ideas? Given the bazillion config options related to libvirt live
migration, this is just a landmine of terrible so I'm interested in what
people are doing config-wise if they are using ssh.
[1] https://review.openstack.org/#/c/410817/
[2] https://review.openstack.org/#/c/471011/
[3]
http://logs.openstack.org/19/471019/1/check/gate-tempest-dsvm-multinode-live-migration-ubuntu-xenial/546935b/logs/screen-n-cpu.txt.gz?level=TRACE#_Jun_05_15_56_42_184587
--
Thanks,
Matt
More information about the OpenStack-operators
mailing list