Migration does not take account of Neutron routed pods
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Description
===========
Nova does not appear to take account of Neutron-defined host aggregates when migrating instances which have interfaces attached to routed provider networks. If the operator does not manually select an appropriate hypervisor to migrate to (within the same pod), the automated selection is likely to choose a host which does not have connectivity to the required VLAN.
I'm not certain to what extent this issue is on the Nova side versus Neutron, but a solution to avoid accidental migration to inappropriate hosts in the simplest case would be appreciated.
Steps to reproduce
==================
* Deploy a system which makes use of Neutron routed provider networks, with a single logical network using a separate VLAN/segment per rack (https:/
* Launch a VM and attach a port to the instance which lives within the above network. It will be allocated an appropriate IP address based upon the segment it has landed in.
* Perform a live migration. Assuming a hypervisor outside of the current segment is selected then connectivity to the network will be lost.
Expected result
===============
Either:
* The live migration would have proceeded, but only to a host within the same rack/segment.
* The live migration would fail as the only available hosts live outside of the current rack/segment.
* The IP address associated with the attached port is changed to reflect the requirements of the rack/segment which the instance has been migrated to.
Actual result
=============
* Where a migration results in the instance moving to a host outside the original rack/segment, connectivity is lost.
Environment
===========
OpenStack Xena release
Libvirt+KVM
Nova f766db261634c8f
Neutron with Linux bridge networking e6953e217c73155
Thanks!
In wallaby we added support for scheduling for routed networks[1]. But there is a config option to enable it. Do you have the following config enabled in your nova-scheduler services?
[scheduler] _for_routed_ network_ aggregates = True
query_placement
I set this to Incomplete. Please set it back to New if the issue is still present when the above config is set.
[1]https:/ /docs.openstack .org/releasenot es/nova/ wallaby. html#relnotes- 23-0-0- stable- wallaby- new-features /docs.openstack .org/nova/ latest/ configuration/ config. html#scheduler. query_placement _for_routed_ network_ aggregates
[2] https:/