be101776c6
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 |
||
---|---|---|
.. | ||
agent | ||
lib | ||
__init__.py | ||
plugin.py | ||
README |
One Convergence Neutron Plugin to implement the Neutron v2.0 API. The plugin works with One Convergence NVSD controller to provide network virtualization functionality. The plugin is enabled with the following configuration line in neutron.conf: core_plugin = neutron.plugins.oneconvergence.plugin.OneConvergencePluginV2 The configuration parameters required for the plugin are specified in the file etc/neutron/plugins/oneconvergence/nvsdplugin.ini. The configuration file contains description of the different parameters. To enable One Convergence Neutron Plugin with devstack and configure the required parameters, use the following lines in localrc: Q_PLUGIN=oneconvergence disable_service n-net enable_service q-agt enable_service q-dhcp enable_service q-svc enable_service q-l3 enable_service q-meta enable_service neutron NVSD_IP= NVSD_PORT= NVSD_USER= NVSD_PASSWD= The NVSD controller configuration should be specified in nvsdplugin.ini before invoking stack.sh.