neutron-lbaas/neutron/plugins/nec
Ihar Hrachyshka 876c2c25e1 Avoid notifying while inside transaction opened in delete_port()
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.

Change-Id: I2411f2aa778ea088be416d062c4816c16f49d2bf
Closes-Bug: 1330955
2014-07-05 15:55:18 +02:00
..
agent Moved rpc_compat.py code back into rpc.py 2014-06-24 10:35:39 +02:00
common Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
db Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
drivers Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
extensions Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
__init__.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
nec_plugin.py Avoid notifying while inside transaction opened in delete_port() 2014-07-05 15:55:18 +02:00
nec_router.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
ofc_driver_base.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
ofc_manager.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
packet_filter.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
README Remove last parts of Quantum compatibility shim 2014-03-31 23:31:23 -07:00
router_drivers.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00

Quantum NEC OpenFlow Plugin


# -- What's this?

https://wiki.openstack.org/wiki/Neutron/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