Reviewed: https://review.openstack.org/327413 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=db9e4048c4d134629d59f11ff004cbb8513e2b18 Submitter: Jenkins Branch: master
commit db9e4048c4d134629d59f11ff004cbb8513e2b18 Author: Kevin Benton <[email protected]> Date: Wed Jun 8 05:53:28 2016 -0700 Remove MAC duplicate detection for generated macs The previous MAC duplicate detection code relied on catching a DBDuplicateError the correct time which resulted in two problems. First, the duplicate could have been caused by something else being flushed to the database at the same time. Second, the DBDuplicate may not occur at flush time if the conflict happens due to two concurrent port creations and it will instead happen at commit time. This patch just dumps the DBDuplicate catch to allow the API layer to retry the operation since MAC collisions on a network should be extremely rare. Closes-Bug: #1590602 Change-Id: Idf816c07198be3ce745252ac9aa9c4aad8f11910 ** 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/1590602 Title: duplicate mac detection is brittle Status in neutron: Fix Released Bug description: The duplicate mac detection logic is based on catching DBDuplicate exceptions at a very specific time. This results in incorrect classification if other things are waiting to be flushed which results in weird workarounds like (https://review.openstack.org/#/c/292207/23/neutron/db/db_base_plugin_common.py). It also creates different behavior if the duplicate isn't realized until certification at COMMIT, at which point the retry decorator will restart the operation. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1590602/+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

