
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
# Neuron REST Proxy Plug-in for Big Switch and FloodLight Controllers This module provides a generic neutron plugin 'NeutronRestProxy' that translates neutron function calls to authenticated REST requests (JSON supported) to a set of redundant external network controllers. It also keeps a local persistent store of neutron state that has been setup using that API. Currently the FloodLight Openflow Controller or the Big Switch Networks Controller can be configured as external network controllers for this plugin. For more details on this plugin, please refer to the following link: http://www.openflowhub.org/display/floodlightcontroller/Neutron+REST+Proxy+Plugin