Cisco nexus plugin fails to untrunk vlan if other hosts using vlan

Bug #1246080 reported by Dane LeBlanc
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Low
Dane LeBlanc
Havana
Fix Released
Low
Dane LeBlanc

Bug Description

If two or more compute hosts have instances which are
sharing a given VLAN on a Nexus switch, and then
all instances on one of the hosts which are using that
VLAN are terminated, while instances which are using
that VLAN on other hosts remain active, then
the VLAN is not being untrunked from the
corresponding interface on the Nexus switch as
expected.

Note that the VLAN is correctly untrunked from
the Nexus interface when the instance being
terminated is the last instance which is using that
VLAN on the Nexus switch.

The correct logic should be:
If this the last instance using this VLAN on this switch interface:
____untrunk the vlan from the switch interface
____If this the last instance using this VLAN on this switch:
_________delete the VLAN from the switch

Note that this bug also exists in the Cisco ML2
mechanism driver, but the code which implements
this is being redesigned, so it will be addressed for
the ML2 separately.

Tags: cisco
Dane LeBlanc (leblancd)
Changed in neutron:
assignee: nobody → Dane LeBlanc (leblancd)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/54612

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/54612
Committed: http://github.com/openstack/neutron/commit/a0a462f0303f68d885ff344898437e310c64188c
Submitter: Jenkins
Branch: master

commit a0a462f0303f68d885ff344898437e310c64188c
Author: Dane LeBlanc <email address hidden>
Date: Wed Oct 30 15:00:47 2013 -0400

    Cisco nexus plugin fails to untrunk vlan if other hosts using vlan

    Closes-Bug: #1246080

    Without this fix, if two or more compute hosts have
    instances which are
    sharing a given VLAN on a Nexus switch, and then
    all instances on one of the hosts which are using that
    VLAN are terminated, while instances which are using
    that VLAN on other hosts remain active, then
    the VLAN is not being untrunked from the
    corresponding interface on the Nexus switch as
    expected.

    This fix changes the VLAN removal logic from:
    ----If this the last instance using this VLAN on this switch:
    --------untrunk the vlan from the switch interface
    --------delete the VLAN from the switch
    To:
    ----If this the last instance using this VLAN on this switch interface:
    --------untrunk the vlan from the switch interface
    --------If this the last instance using this VLAN on this switch:
    ------------delete the VLAN from the switch

    Note that this bug also exists in the Cisco ML2
    mechanism driver, but the code which implements
    this is being redesigned, so it will be addressed for
    the ML2 separately.

    Change-Id: Icb1f95d1db4baa56c0f6fd68ce6342bbff27641d

Changed in neutron:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in neutron:
milestone: none → icehouse-1
status: Fix Committed → Fix Released
Dane LeBlanc (leblancd)
tags: added: havana-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/havana)

Fix proposed to branch: stable/havana
Review: https://review.openstack.org/66457

Alan Pevec (apevec)
Changed in neutron:
importance: Undecided → Low
tags: removed: havana-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/havana)

Reviewed: https://review.openstack.org/66457
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=9ceca26e11870874b24b483abcba8c07c9c1eef8
Submitter: Jenkins
Branch: stable/havana

commit 9ceca26e11870874b24b483abcba8c07c9c1eef8
Author: Dane LeBlanc <email address hidden>
Date: Mon Jan 13 18:21:29 2014 -0500

    Cisco nexus plugin fails to untrunk vlan if other hosts using vlan

    Without this fix, if two or more compute hosts have
    instances which are
    sharing a given VLAN on a Nexus switch, and then
    all instances on one of the hosts which are using that
    VLAN are terminated, while instances which are using
    that VLAN on other hosts remain active, then
    the VLAN is not being untrunked from the
    corresponding interface on the Nexus switch as
    expected.

    This fix changes the VLAN removal logic from:
    ----If this the last instance using this VLAN on this switch:
    --------untrunk the vlan from the switch interface
    --------delete the VLAN from the switch
    To:
    ----If this the last instance using this VLAN on this switch interface:
    --------untrunk the vlan from the switch interface
    --------If this the last instance using this VLAN on this switch:
    ------------delete the VLAN from the switch

    Note that this bug also exists in the Cisco ML2
    mechanism driver, but the code which implements
    this is being redesigned, so it will be addressed for
    the ML2 separately.

    Closes-Bug: #1246080

    Change-Id: Icb1f95d1db4baa56c0f6fd68ce6342bbff27641d
    (cherry picked from commit a0a462f0303f68d885ff344898437e310c64188c)

Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-1 → 2014.1
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.