ML2 mechanism drivers not called for ports auto-deleted when subnet deleted

Bug #1234195 reported by Robert Kukura
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Robert Kukura

Bug Description

Similar to bug 1230330, when a subnet is deleted, ports need to be auto-deleted via the ML2 plugin code rather than at DB level by NeutronDBPLuginV2.

Tags: ml2
Changed in neutron:
importance: Undecided → High
tags: added: ml2
Changed in neutron:
status: New → Triaged
tags: added: havana-rc-potential
Robert Kukura (rkukura)
Changed in neutron:
status: Triaged → In Progress
Changed in neutron:
milestone: none → havana-rc2
tags: removed: havana-rc-potential
Revision history for this message
Thierry Carrez (ttx) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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

commit ed78b563e13f1ed9189d7c4b9cd4317f2a50e734
Author: Bob Kukura <email address hidden>
Date: Thu Oct 3 12:25:24 2013 -0400

    Fix auto-deletion of ports when deleting subnets in ML2

    When a subnet is deleted, certain ports referencing it are
    auto-deleted. The implementation of NeutronDBPluginV2.delete_subnet()
    does this at the DB level, so ML2's mechanism drivers were not being
    called.

    Ml2Plugin.delete_subnet() is changed to not use the base class's
    method, and to auto-delete ports by calling its own delete_port()
    method outside of the transaction. A loop avoids race conditions with
    ports being asynchronously added to the subnet.

    The logic in Ml2Plugin.delete_network() is also fixed to properly
    handle auto-deleting ports and subnets, and debug logging is added to
    the various delete methods.

    Closes-Bug: 1234195
    Partial-Bug: 1235486
    Change-Id: I6d74f89d39ea8afe6915f1d2f9afdf66c0076f5a

Changed in neutron:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (milestone-proposed)

Fix proposed to branch: milestone-proposed
Review: https://review.openstack.org/51303

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (milestone-proposed)

Reviewed: https://review.openstack.org/51303
Committed: http://github.com/openstack/neutron/commit/bfe1dca0563cd5beadf91e3688924c44f5063778
Submitter: Jenkins
Branch: milestone-proposed

commit bfe1dca0563cd5beadf91e3688924c44f5063778
Author: Bob Kukura <email address hidden>
Date: Thu Oct 3 12:25:24 2013 -0400

    Fix auto-deletion of ports when deleting subnets in ML2

    When a subnet is deleted, certain ports referencing it are
    auto-deleted. The implementation of NeutronDBPluginV2.delete_subnet()
    does this at the DB level, so ML2's mechanism drivers were not being
    called.

    Ml2Plugin.delete_subnet() is changed to not use the base class's
    method, and to auto-delete ports by calling its own delete_port()
    method outside of the transaction. A loop avoids race conditions with
    ports being asynchronously added to the subnet.

    The logic in Ml2Plugin.delete_network() is also fixed to properly
    handle auto-deleting ports and subnets, and debug logging is added to
    the various delete methods.

    Closes-Bug: 1234195
    Partial-Bug: 1235486
    Change-Id: I6d74f89d39ea8afe6915f1d2f9afdf66c0076f5a
    (cherry picked from commit ed78b563e13f1ed9189d7c4b9cd4317f2a50e734)

Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: havana-rc2 → 2013.2
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.