Reviewed: https://review.openstack.org/332487 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=1af862791ef83d2d67d71a4db6d37b919accb3d5 Submitter: Jenkins Branch: master
commit 1af862791ef83d2d67d71a4db6d37b919accb3d5 Author: Kevin Benton <[email protected]> Date: Tue Jun 21 14:39:57 2016 -0700 Retry DBDuplicate errors in retry decorator The MAC duplicate detection logic now expects that the core plugin catches DBDuplicate entries and converts them into retry attempts. This assumption was valid for ML2 because it catches them, but it's not true for anything else, including unit tests that just use db_base_plugin_v2 directly. Instead of expecting each plugin to catch and convert DBDuplicate errors into RetryRequests, this patch just has the retry logic check for DBDuplicate errors. A DBDuplicate being raised to the API layer for anything other than a race that needs to be retried is a bug anyway since it will be turned into an HTTP 500. The MAC generation for the unit test that failed in the bug report defines the 4th octect of the MAC in the test config so there are only 65k MAC addresses available per network. The unit test would then proceed to create 13 ports on the network, which would give us a ~1/5000 chance of a dup mac in the unit test using db_base_plugin_v2, which was not catching the DBDuplicate exception. Closes-Bug: #1594796 Change-Id: I828f529db8c389ba0ab1eaa5f93ca2f5563048a8 ** 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/1594796 Title: test_api_extension_validation_with_good_dns_names fails with 500 error Status in neutron: Fix Released Bug description: The trace: ft296.52: neutron.tests.unit.extensions.test_dns.DnsExtensionTestCase.test_api_extension_validation_with_good_dns_names_StringException: Empty attachments: pythonlogging:'' stdout stderr: {{{ /home/jenkins/workspace/gate-neutron-python34/.tox/py34/lib/python3.4/site-packages/paste/deploy/loadwsgi.py:22: DeprecationWarning: Parameters to load are deprecated. Call .resolve and .require separately. return pkg_resources.EntryPoint.parse("x=" + s).load(False) }}} Traceback (most recent call last): File "/home/jenkins/workspace/gate-neutron-python34/neutron/tests/unit/extensions/test_dns.py", line 497, in test_api_extension_validation_with_good_dns_names self.assertEqual(201, res.status_code) File "/home/jenkins/workspace/gate-neutron-python34/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 411, in assertEqual self.assertThat(observed, matcher, message) File "/home/jenkins/workspace/gate-neutron-python34/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 498, in assertThat raise mismatch_error testtools.matchers._impl.MismatchError: 201 != 500 A few instances: http://logs.openstack.org/99/331999/2/check/gate-neutron-python34/ecd478b/testr_results.html.gz http://logs.openstack.org/68/330368/2/check/gate-neutron-python34/f0beed0/testr_results.html.gz Logstash: http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22test_api_extension_validation_with_good_dns_names%5C%22 To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1594796/+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

