neutron/neutron/plugins/mlnx
Ihar Hrachyshka 9c94d96031 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.

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 876c2c25e1)
2014-07-26 11:19:15 +02:00
..
agent Implement Mellanox ML2 MechanismDriver 2014-03-03 22:43:10 +02:00
common Change tenant network type usage for IB Fabric 2014-02-24 08:14:34 +02:00
db Fix bug:range() is not same in py3.x and py2.x 2014-03-11 16:44:47 +08:00
README Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
__init__.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
agent_notify_api.py Add recent neutron extentions and IB support 2013-08-22 15:01:21 +03:00
mlnx_plugin.py Avoid notifying while inside transaction opened in delete_port() 2014-07-26 11:19:15 +02:00
rpc_callbacks.py Fix message i18n error 2013-09-08 15:58:12 +08:00

README

Mellanox Neutron Plugin

This plugin implements Neutron v2 APIs with support for
Mellanox embedded switch functionality as part of the
VPI (Ethernet/InfiniBand) HCA.

For more details on the plugin, please refer to the following link:
https://wiki.openstack.org/wiki/Mellanox-Quantum