OVS drops RARP packets by QEMU upon live-migration - VM temporarily disconnected
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Sahid Orentino | ||
Queens |
Fix Committed
|
Medium
|
Matt Riedemann | ||
neutron |
Fix Released
|
Medium
|
Oleg Bondarev |
Bug Description
When live-migrating a VM the QEMU send 5 RARP packets in order to allow re-learning of the new location of the VM's MAC address.
However the VIF creation scheme between nova-compute and neutron-ovs-agent drops these RARPs:
1. nova creates a port on OVS but without the internal tagging.
2. At this stage all the packets that come out from the VM, or QEMU process it runs in, will be dropped.
3. The QEMU sends five RARP packets in order to allow MAC learning. These packets are dropped as described in #2.
4. In the meanwhile neutron-ovs-agent loops every POLLING_INTERVAL and scans for new ports. Once it detects a new port is added. it will read the properties of the new port, and assign the correct internal tag, that will allow connection of the VM.
The flow above suggests that:
1. RARP packets are dropped, so MAC learning takes much longer and depends on internal traffic and advertising by the VM.
2. VM is disconnected from the network for a mean period of POLLING_INTERVAL/2
Seems like this could be solved by direct messages between nova vif driver and neutron-ovs-agent
Changed in neutron: | |
assignee: | nobody → sean mooney (sean-k-mooney) |
status: | New → Incomplete |
Changed in neutron: | |
assignee: | sean mooney (sean-k-mooney) → Oleg Bondarev (obondarev) |
Changed in neutron: | |
status: | Invalid → Triaged |
importance: | Undecided → Medium |
Changed in neutron: | |
assignee: | Oleg Bondarev (obondarev) → Swaminathan Vasudevan (swaminathan-vasudevan) |
Changed in neutron: | |
assignee: | Swaminathan Vasudevan (swaminathan-vasudevan) → Oleg Bondarev (obondarev) |
tags: | added: neutron-proactive-backport-potential |
tags: | removed: neutron-proactive-backport-potential |
Changed in nova: | |
assignee: | sahid (sahid-ferdjaoui) → Matt Riedemann (mriedem) |
Changed in nova: | |
importance: | Undecided → Medium |
assignee: | Matt Riedemann (mriedem) → sahid (sahid-ferdjaoui) |
Also encounterd in my environment.
I use ovs + vlan mode, after live migrated , vm send RARP packets. But the RARP packets are not taking vlan tag, so they can't send to outer.