]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Fix auto-deletion of ports when deleting subnets in ML2
authorBob Kukura <rkukura@redhat.com>
Thu, 3 Oct 2013 16:25:24 +0000 (12:25 -0400)
committerMark McClain <mark.mcclain@dreamhost.com>
Fri, 11 Oct 2013 21:25:48 +0000 (17:25 -0400)
commitbfe1dca0563cd5beadf91e3688924c44f5063778
treee5acf666086625f319796c9e96ca5a2243278583
parent1cb74d6311ee77f4349e9c1caf62593638c71f0f
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)
neutron/plugins/ml2/plugin.py