yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #17719
[Bug 1276391] Re: ML2 MechanismDriver.bind_port() called inside transaction
** Changed in: neutron
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1276391
Title:
ML2 MechanismDriver.bind_port() called inside transaction
Status in OpenStack Neutron (virtual network service):
Fix Released
Bug description:
The ML2 plugin calls the bind_port() operation on the registered
mechanism drivers in order to establish a binding for a neutron port
(i.e. determining the binding:vif_type and what network segment is
being used). It currently makes these calls from within a DB
transaction. This is fine for mechanism drivers such as those for the
L2 agents that base their binding decision solely on information from
the neutron DB. But if mechanism drivers for controllers or devices
need to make remote calls to determine if binding is possible, they
should not do this from within a DB transaction. Therefore, the
bind_port() call must be made by the plugin outside of any enclosing
DB transaction, and the drivers should manage any needed DB
transactions themselves.
Once [re]binding is moved outside the DB transaction that triggers it,
the possibility that multiple threads or processes will concurrently
try to bind the same port must also be addressed.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1276391/+subscriptions
References