Nova VM rebuild causes the VM to not get an IP during boot when the VM ends up on a different host

Bug #1691550 reported by Swaminathan Vasudevan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-vsphere
Confirmed
Undecided
Unassigned

Bug Description

This is caused by the learning activity of the openvswitch in one of the bridges that are connected to the control plane.

The physical bridge (br-eth3 in this case) has a MAC learning table and it takes 300sec for it to age out. It can only learn the MAC from its physical interface that is connected to the bridge 'eth3' and does not have a way to learn from the internal patch ports that are connected to the br-eth3.

So when the VM is rebuilt and moves to a different node, the MAC association does not time out until 300 sec, and the new upcoming VM instance timesout in 60 secs to get an IP address. After 300 sec, if you re-initiate a DHPC request, it receives the packet.

The reason behind this issue is because the incoming packets on the physical port are forwarded to the NORMAL flow on the bridge instead of forwarding it to the inner patch port. This causes the physical bridge to learn from the physical port and it only removes it when it ages out.

Revision history for this message
Adolfo Duarte (adolfo-duarte) wrote :

Submitted https://review.openstack.org/#/c/465732/5 to fix this issue for VLAN overlay.

Changed in networking-vsphere:
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-vsphere (master)

Reviewed: https://review.openstack.org/465732
Committed: https://git.openstack.org/cgit/openstack/networking-vsphere/commit/?id=0c66056dfbbfb4e1e309d9c791a149ebcd8d8fb3
Submitter: Jenkins
Branch: master

commit 0c66056dfbbfb4e1e309d9c791a149ebcd8d8fb3
Author: Swaminathan Vasudevan <email address hidden>
Date: Wed May 17 13:09:00 2017 -0700

    Nova VM rebuild to get an IP on boot if host changes (vlan fix)

    When nova VM rebuild command is issued with ovsVapp, and if the VM
    lands on a different host, then the VM does not get a DHCP reply back.
    It is blocked by the physical bridge since the physical bridge learns
    the VM MAC on the incoming physical port and not on the inner patch ports.

    So the reason behind this is because the incoming packets on the
    physical port are forwarded to the NORMAL flow on the bridge instead of
    forwarding it to the inner patch port.

    This patch addresses this issue for VLAN underlay deployment, by
    forwarding all packets coming in on the physical port to the
    internal patch port instead of the NORMAL flow.

    This patch only addresses the VLAN underlay scenario.

    Change-Id: Id40ace5bd2036e29fe9ed0381eeb700d2c8055bb
    Partial-Bug: #1691550

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to networking-vsphere (stable/ocata)

Fix proposed to branch: stable/ocata
Review: https://review.openstack.org/482652

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to networking-vsphere (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/482653

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-vsphere (stable/ocata)

Reviewed: https://review.openstack.org/482652
Committed: https://git.openstack.org/cgit/openstack/networking-vsphere/commit/?id=34d295c9bf4200c2dc6077bb2990bb752d874e92
Submitter: Jenkins
Branch: stable/ocata

commit 34d295c9bf4200c2dc6077bb2990bb752d874e92
Author: Swaminathan Vasudevan <email address hidden>
Date: Wed May 17 13:09:00 2017 -0700

    Nova VM rebuild to get an IP on boot if host changes (vlan fix)

    When nova VM rebuild command is issued with ovsVapp, and if the VM
    lands on a different host, then the VM does not get a DHCP reply back.
    It is blocked by the physical bridge since the physical bridge learns
    the VM MAC on the incoming physical port and not on the inner patch ports.

    So the reason behind this is because the incoming packets on the
    physical port are forwarded to the NORMAL flow on the bridge instead of
    forwarding it to the inner patch port.

    This patch addresses this issue for VLAN underlay deployment, by
    forwarding all packets coming in on the physical port to the
    internal patch port instead of the NORMAL flow.

    This patch only addresses the VLAN underlay scenario.

    Change-Id: Id40ace5bd2036e29fe9ed0381eeb700d2c8055bb
    Partial-Bug: #1691550
    (cherry picked from commit 0c66056dfbbfb4e1e309d9c791a149ebcd8d8fb3)

tags: added: in-stable-ocata
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-vsphere (stable/newton)

Reviewed: https://review.openstack.org/482653
Committed: https://git.openstack.org/cgit/openstack/networking-vsphere/commit/?id=160eae8c94859831895f7a69b92db9625b3b3ad9
Submitter: Jenkins
Branch: stable/newton

commit 160eae8c94859831895f7a69b92db9625b3b3ad9
Author: Swaminathan Vasudevan <email address hidden>
Date: Wed May 17 13:09:00 2017 -0700

    Nova VM rebuild to get an IP on boot if host changes (vlan fix)

    When nova VM rebuild command is issued with ovsVapp, and if the VM
    lands on a different host, then the VM does not get a DHCP reply back.
    It is blocked by the physical bridge since the physical bridge learns
    the VM MAC on the incoming physical port and not on the inner patch ports.

    So the reason behind this is because the incoming packets on the
    physical port are forwarded to the NORMAL flow on the bridge instead of
    forwarding it to the inner patch port.

    This patch addresses this issue for VLAN underlay deployment, by
    forwarding all packets coming in on the physical port to the
    internal patch port instead of the NORMAL flow.

    This patch only addresses the VLAN underlay scenario.

    Change-Id: Id40ace5bd2036e29fe9ed0381eeb700d2c8055bb
    Partial-Bug: #1691550
    (cherry picked from commit 0c66056dfbbfb4e1e309d9c791a149ebcd8d8fb3)

tags: added: in-stable-newton
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.