When a network is deleted, certain ports and any subnets referencing
it are auto-deleted. The implementation of
NeutronDBPluginV2.delete_network() does this at the DB level, so ML2's
mechanism drivers were not being called.
Ml2Plugin.delete_network() is changed to not use the base class's
method, and to auto-delete ports and subnets by calling its own
delete_port() and delete_subnet() methods outside of the
transaction. A loop avoids race conditions with ports or subnets being
asynchronously added to the network.
Reviewed: https:/ /review. openstack. org/48765 github. com/openstack/ neutron/ commit/ 19804bb5c5ad8ba 10fbda1bf213f69 8d97c137e7
Committed: http://
Submitter: Jenkins
Branch: master
commit 19804bb5c5ad8ba 10fbda1bf213f69 8d97c137e7
Author: Bob Kukura <email address hidden>
Date: Fri Sep 27 17:54:45 2013 -0400
Fix auto-deletion of ports and subnets in ML2
When a network is deleted, certain ports and any subnets referencing uginV2. delete_ network( ) does this at the DB level, so ML2's
it are auto-deleted. The implementation of
NeutronDBPl
mechanism drivers were not being called.
Ml2Plugin. delete_ network( ) is changed to not use the base class's
method, and to auto-delete ports and subnets by calling its own
delete_port() and delete_subnet() methods outside of the
transaction. A loop avoids race conditions with ports or subnets being
asynchronously added to the network.
Closes-Bug: 1230330 c29d70da8497b9e f92642131e2
Change-Id: Icf21400c9938ee