Updated openstack/openstack
Project: openstack/neutron  f00cf6b35f1dbf687c0a43a6a1fe6d955cb57fb4
null
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)