Comment 53 for bug 1815989

Revision history for this message
sean mooney (sean-k-mooney) wrote :

the binding of the port should not be requried for neutno to have wired up the port so that it has netwrok connectivity. before rocky neutron woudl wireup the port on any host at least for the in tree drivers. after rocky nova prebinds the port by creating a second port bingding. it then activates the port binding in post live migration.

neutron should have made the port ready before sending the network-vif-plugged event.
in the iptabels case the vm tap device is added to an intimidate linux bridge which is not visible to neutron. the neutron l2 agent just sees a one end fo the veth pair that interconnect the linuxbridge to ovs. so nova is expecting that when network-vif-plugged is sent neutorn has done everything required to all networking to work when the qemu instance starts.

so yes this is a neutron issue but the outstanding question is whether neutron is correct to act as it is currently, neutron is tying the link state to the state of the port binding on the destination host. when there was only one port binding it was unspecified what the network backend did. it coudl fully wire up the port on a host without a binding or it could ignore the new port until the binding was updated to that host. ml2 ovs did the former and some other thidpart sdn solution( i think odl) ignored the port as there was no binding on that host.

if the correct behavior is to only allow traffic to flow once the binding is active then neutron is doing the right thing if not then its a seperate neutron bug from the libvirt race.