On 06/07/2017 09:20 AM, Matt Riedemann wrote:

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!

In my testing tunneling really only makes a big difference if you've got 10G links, and even then it'll hit about 70% of the line rate for an unencrypted tunnel (with libvirtd running at ~70% cpu util).

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)?

Something like that seems reasonable. It'd be nice if we didn't need an explicit username config option.

Chris

_______________________________________________
OpenStack-operators mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators

Reply via email to