Reviewed: https://review.openstack.org/275110 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=b25f6448d530b51eea4a36b3d087515e8495f53f Submitter: Jenkins Branch: master
commit b25f6448d530b51eea4a36b3d087515e8495f53f Author: Kevin Benton <[email protected]> Date: Thu May 12 09:17:56 2016 -0700 Ensure ML2's create/update_port methods not in transaction This adds a check to the ML2 create and update port methods which are called by other services to manipulate ports. This check prevents them from passing in a context that is already part of an ongoing DB session because we do not want DB rollbacks to be allowed after the ML2 plugin calls postcommit methods on drivers. This also adds a temporary hack to set an attribute on the context to skip this check to accomadate two L3 code-paths and a subnet code-path that have port manipulations entangled in transactions. This attribute will ultimately be removed once these paths are refactored. Closes-Bug: #1540844 Change-Id: I5aa099c2264636336ab0b76c0826b506e2dc44b6 ** Changed in: neutron Status: In Progress => 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/1540844 Title: ML2's assumptions about transactions should be explicit Status in neutron: Fix Released Bug description: The create/update/delete of the core resource in ML2 all assume that they will not be called inside of a transaction because they notify drivers with a postcommit call before returning. Calling ML2 with a session already in a transaction leads to unexpected behavior (e.g. no notifications to driver on a rollback) so we should enforce this assumption in code. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1540844/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

