commit b1677dcb80ce8b83aadb2180efad3527a96bd3bc
Author: Robert Kukura <email address hidden>
Date: Tue Mar 11 21:54:35 2014 -0400
ML2: Bind ports outside transactions
The ML2 plugin now calls the bind_port() operation on the registered
mechanism drivers outside of any enclosing DB transaction. Ports are
created or updated in one transaction, then a binding is established
if possible, and finally a second transaction commits the binding
result.
With [re]binding moved outside the DB transaction that triggered it,
it is now possible that multiple threads or processes will
concurrently try to bind the same port, or that the port will be
updated between transactions. Concurrent attempts to bind the same
port are allowed to proceed, which results are used is resolved in the
second transaction, and binding is retried if necessary.
Improvements to the Cisco Nexus driver and unit tests from Rich Curran
needed due to the binding changes are also included.
Reviewed: https:/ /review. openstack. org/82945 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=b1677dcb80c e8b83aadb2180ef ad3527a96bd3bc
Committed: https:/
Submitter: Jenkins
Branch: master
commit b1677dcb80ce8b8 3aadb2180efad35 27a96bd3bc
Author: Robert Kukura <email address hidden>
Date: Tue Mar 11 21:54:35 2014 -0400
ML2: Bind ports outside transactions
The ML2 plugin now calls the bind_port() operation on the registered
mechanism drivers outside of any enclosing DB transaction. Ports are
created or updated in one transaction, then a binding is established
if possible, and finally a second transaction commits the binding
result.
With [re]binding moved outside the DB transaction that triggered it,
it is now possible that multiple threads or processes will
concurrently try to bind the same port, or that the port will be
updated between transactions. Concurrent attempts to bind the same
port are allowed to proceed, which results are used is resolved in the
second transaction, and binding is retried if necessary.
Improvements to the Cisco Nexus driver and unit tests from Rich Curran
needed due to the binding changes are also included.
Closes-Bug: 1276391 2dad0667d238385 8504d0ba299
Closes-Bug: 1335226
Change-Id: I65dafc330d6e81