The Big Switch ML2 driver re-uses large parts of code from the Big Switch plugin. However, the plugin uses the old portbindings_db in its port tracking code. This db is not created/used by ML2, so it does not exist when the Big Switch ML2 driver is being used. This caused a problem when the portbindings_db module would be imported even though it wasn't being used since the SQLAlchemy models would create the relationships during the import. This patch moves the portbindings_db import down to the methods that leverage it so it won't be imported during use by the ML2 driver. This is a temporary solution which can be back-ported if disabling auto schema generation is back-ported to icehouse. An appropriate fix will require some refactoring to avoid the port tracking code from being imported for ML2. Closes-Bug: #1300628 Change-Id: I551abf9d6ec832c423cba0d50bb27715b43c0b1c
# 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