9c94d96031
delete_port() calls to disassociate_floatingips() while in transaction.
The latter method sends RPC notification which may result in eventlet
yield. If yield switches a thread to another one that tries to access
the same floating IP object in db as disassociate_floatingips() method
does, we're locked and get db timeout.
We should avoid calling to notifier while under transaction.
To achieve this, I introduce a do_notify argument that controls whether
notification is done by disassociate_floatingips() itself or delegated
to caller. Callers that call to disassociate_floatingips() from under
transactions should handle notifications on their own. For this,
disassociate_floatingips() returns a set of routers that require
notification.
Updated drivers to reflect new behaviour. Added unit test.
Conflicts:
neutron/db/l3_db.py
neutron/plugins/bigswitch/plugin.py
neutron/plugins/nuage/plugin.py
Change-Id: I2411f2aa778ea088be416d062c4816c16f49d2bf
Closes-Bug: 1330955
(cherry picked from commit
|
||
---|---|---|
.. | ||
agent | ||
common | ||
db | ||
drivers | ||
extensions | ||
__init__.py | ||
nec_plugin.py | ||
nec_router.py | ||
ofc_driver_base.py | ||
ofc_manager.py | ||
packet_filter.py | ||
README | ||
router_drivers.py |
Quantum NEC OpenFlow Plugin # -- What's this? http://wiki.openstack.org/Quantum-NEC-OpenFlow-Plugin # -- Installation Use QuickStart Script for this plugin. This provides you auto installation and configuration of Nova, Neutron and Trema. https://github.com/nec-openstack/quantum-openflow-plugin/tree/folsom