block migration of config_drive_format=iso9660 doesn't take into account a dedicated live-migration network
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
In Progress
|
Low
|
Doug Szumski |
Bug Description
Downstream issue: https:/
How to reproduce:
1. Prepare two underlying networks/subnets for Libvirt+KVM based OpenStack Nova deployment (one network as main, the other as dedicated live-migration network)
2. Distribute SSH public keys under authorized_keys, pre-populate known_hosts (with the live-migration network IP addresses), and make sure StrictHostKeyCh
3. Set live_migration_
4. Launch a VM with config-drive (iso9660 as the default)
5. Live-migrate the VM with `openstack server migrate --live-migration --block-migration`
Expected result:
Live migration works
Actual result:
Live migration fails with an error on the *destination* host at the point of:
https:/
with:
Command: scp -r <source_
Exit code: 1
Stdout: ''
Stderr: 'Host key verification failed.\r\n'
The source host FQDN is used probably the code relies on instance.host, and it's resolved as an IP address on the main network instead of the live-migration network. And the IP addresses on the main network are not on known_hosts so the key verification failed.
Current workaround is either using config_
Changed in nova: | |
status: | In Progress → Confirmed |
Changed in nova: | |
assignee: | nobody → Doug Szumski (dszumski) |
status: | Confirmed → In Progress |
affects: | charm-nova-cloud-controller → null-and-void |
Changed in null-and-void: | |
status: | Fix Committed → Invalid |
I agree that using live_migration_ inbound_ addr[1] , if configured, over instance.host would be the right move here. (and falling back to instance.host if the config is missing).
Setting this triaged as I think we have a way forward with it. Feel free to propose a patch to fix this in review.opendev.org.
[1] https:/ /docs.openstack .org/nova/ latest/ configuration/ config. html#libvirt. live_migration_ inbound_ addr