Reviewed: https://review.openstack.org/474063 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2e7b787f0e60d3707fe4dec7f8acbc90cf62ea29 Submitter: Jenkins Branch: master
commit 2e7b787f0e60d3707fe4dec7f8acbc90cf62ea29 Author: Kevin Benton <[email protected]> Date: Tue Jun 13 22:33:24 2017 -0700 Retry ebtables lock acquisition failures It seems after the merge of https://bugs.launchpad.net/ubuntu/+source/ebtables/+bug/1645324 that ebtables can fail to acquire a lock and bail with an error 255. This adds some retry logic to retry it up to 10 times to work around this issue. Closes-Bug: #1697833 Change-Id: Ic9dcf4b236a93e8811413c6ce2c4b82602544c6d ** 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/1697833 Title: func: neutron.agent.linux.utils.ProcessExecutionError: Exit code: 255; Stdin: ; Stdout: ; Stderr: Unable to create lock file /run/ebtables.lock. Status in neutron: Fix Released Bug description: http://logs.openstack.org/21/473721/2/gate/gate-neutron-dsvm- functional-ubuntu-xenial/788a8a8/testr_results.html.gz neutron.tests.functional.agent.linux.test_linuxbridge_arp_protect.LinuxBridgeARPSpoofTestCase test_arp_correct_protection traceback-1: {{{ Traceback (most recent call last): File "neutron/tests/functional/agent/linux/test_linuxbridge_arp_protect.py", line 44, in _ensure_rules_cleaned self.assertEqual([], rules, 'Test leaked ebtables rules') File "/opt/stack/new/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/testtools/testcase.py", line 411, in assertEqual self.assertThat(observed, matcher, message) File "/opt/stack/new/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/testtools/testcase.py", line 498, in assertThat raise mismatch_error testtools.matchers._impl.MismatchError: !=: reference = [] actual = [u'-i test-veth0d943e -j neutronMAC-test-veth0d943e', u'-i test-veth0d943e --among-src fa:16:3e:7f:c8:97, -j RETURN ', u'-p ARP --arp-ip-src 192.168.0.1 -j ACCEPT '] : Test leaked ebtables rules }}} Traceback (most recent call last): File "neutron/tests/base.py", line 118, in func return f(self, *args, **kwargs) File "neutron/tests/functional/agent/linux/test_linuxbridge_arp_protect.py", line 62, in test_arp_correct_protection self._add_arp_protection(self.source, [self.source.ip]) File "neutron/tests/functional/agent/linux/test_linuxbridge_arp_protect.py", line 53, in _add_arp_protection arp_protect.setup_arp_spoofing_protection(name, port_dict) File "neutron/plugins/ml2/drivers/linuxbridge/agent/arp_protect.py", line 57, in setup_arp_spoofing_protection install_arp_spoofing_protection(vif, addresses, current_rules) File "/opt/stack/new/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 271, in inner return f(*args, **kwargs) File "neutron/plugins/ml2/drivers/linuxbridge/agent/arp_protect.py", line 114, in install_arp_spoofing_protection vif_chain, '-p', 'ARP']) File "neutron/plugins/ml2/drivers/linuxbridge/agent/arp_protect.py", line 194, in ebtables return execute(['ebtables', '--concurrent'] + comm, run_as_root=True) File "neutron/agent/linux/ip_lib.py", line 900, in execute log_fail_as_error=log_fail_as_error, **kwargs) File "neutron/agent/linux/utils.py", line 151, in execute raise ProcessExecutionError(msg, returncode=returncode) neutron.agent.linux.utils.ProcessExecutionError: Exit code: 255; Stdin: ; Stdout: ; Stderr: Unable to create lock file /run/ebtables.lock. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1697833/+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

