Stale DHCP ports remain in DHCP namespace

Bug #1509959 reported by Eugene Nikanorov
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Eugene Nikanorov

Bug Description

Consider the following case: 2 or more DHCP agents host a network, then for any reason they go offline.
both (or more) DHCP ports become reserved. If then DHCP agents start or revive nearly at the same time, they may fetch different reserved port that they have owned previously.

At the same time, previous DHCP port remains in the namespace and is not getting cleaned up.
As a result it is possible to get two hosts with the same DHCP namespace having a pair of port which duplicate the same ports on other host.

Changed in neutron:
status: New → In Progress
Changed in neutron:
assignee: Eugene Nikanorov (enikanorov) → Tardis Xu (xiaoxubeii)
Revision history for this message
Tardis Xu (xiaoxubeii) wrote :

Eugene Nikanorovm: Sorry , i click rebase by mistake

Changed in neutron:
assignee: Tardis Xu (xiaoxubeii) → nobody
Revision history for this message
Eugene Nikanorov (enikanorov) wrote :
Changed in neutron:
assignee: nobody → Eugene Nikanorov (enikanorov)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/239264
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=6ac43c119bff9da93f438d10033b209819a32230
Submitter: Jenkins
Branch: master

commit 6ac43c119bff9da93f438d10033b209819a32230
Author: Eugene Nikanorov <email address hidden>
Date: Sun Oct 25 15:47:38 2015 +0400

    Cleanup dhcp namespace upon dhcp setup.

    In some cases when more than 1 DHCP agents were assigned
    to a network and then they became dead, their DHCP ports
    become reserved. Later, when those agents revive or start
    again, they acquire reserved ports, but it's not guaranteed
    that they get exactly same ports. In such case DHCP agent
    may create interface in the namespaces despite that another
    interface already exist. In such case there will be two
    hosts with dhcp namespaces each containing duplicate ports,
    e.g. one port will be present on two hosts. This breaks
    DHCP.

    Closes-Bug: #1509959
    Change-Id: I34eb1ad5c44dd3528c9910462e26536186e7a4fb

Changed in neutron:
status: In Progress → Fix Committed
tags: added: l3-ipam-dhcp liberty-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/245413

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/liberty)

Reviewed: https://review.openstack.org/245413
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=7d1db366bec234e1a12de73874f16cfe6f772b3c
Submitter: Jenkins
Branch: stable/liberty

commit 7d1db366bec234e1a12de73874f16cfe6f772b3c
Author: Eugene Nikanorov <email address hidden>
Date: Sun Oct 25 15:47:38 2015 +0400

    Cleanup dhcp namespace upon dhcp setup.

    In some cases when more than 1 DHCP agents were assigned
    to a network and then they became dead, their DHCP ports
    become reserved. Later, when those agents revive or start
    again, they acquire reserved ports, but it's not guaranteed
    that they get exactly same ports. In such case DHCP agent
    may create interface in the namespaces despite that another
    interface already exist. In such case there will be two
    hosts with dhcp namespaces each containing duplicate ports,
    e.g. one port will be present on two hosts. This breaks
    DHCP.

    Closes-Bug: #1509959
    Change-Id: I34eb1ad5c44dd3528c9910462e26536186e7a4fb
    (cherry picked from commit 6ac43c119bff9da93f438d10033b209819a32230)

tags: added: in-stable-liberty
Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/neutron 8.0.0.0b1

This issue was fixed in the openstack/neutron 8.0.0.0b1 development milestone.

Changed in neutron:
status: Fix Committed → Fix Released
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron 7.0.1

This issue was fixed in the openstack/neutron 7.0.1 release.

tags: removed: liberty-backport-potential
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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