Reviewed: https://review.opendev.org/756107 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2325ad1950412d3eef0cde848c56bb94fbbb7495 Submitter: Zuul Branch: master
commit 2325ad1950412d3eef0cde848c56bb94fbbb7495 Author: Slawek Kaplonski <[email protected]> Date: Mon Oct 5 17:07:43 2020 +0200 Add locks for methods which sets nat rules in router Router_info class and port_forwarding L3 extensions are using same instance of the iptables manager class and it could happend that method which sets address scope rules and method which sets port forwarding nat rules where run in almost same time and one of them was adding rules which wasn't expected to be added. Because of that port forwarding rules wasn't configured properly. This patch fixed that by adding lock for methods which are changing rules in iptables_manager's nat table in both router_info and port_forwarding extension. Change-Id: Ic1d5f893a81b7b841745da82f38b7583e47e468d Closes-Bug: #1896735 ** 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/1896735 Title: Scenario tests from neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON failing due to ssh failure Status in neutron: Fix Released Bug description: It happens mostly when scenario job is run on Ubuntu Focal and it seems that we have race between spawning guest vm and checking it's hostname during the tests. See example of error: Traceback (most recent call last): File "/opt/stack/tempest/.tox/tempest/lib/python3.8/site-packages/neutron_tempest_plugin/scenario/test_port_forwardings.py", line 136, in test_port_forwarding_editing_and_deleting_tcp_rule self.check_servers_hostnames(server) File "/opt/stack/tempest/.tox/tempest/lib/python3.8/site-packages/neutron_tempest_plugin/scenario/base.py", line 473, in check_servers_hostnames ssh_client.exec_command('hostname')) File "/opt/stack/tempest/.tox/tempest/lib/python3.8/site-packages/tenacity/__init__.py", line 329, in wrapped_f return self.call(f, *args, **kw) File "/opt/stack/tempest/.tox/tempest/lib/python3.8/site-packages/tenacity/__init__.py", line 409, in call do = self.iter(retry_state=retry_state) File "/opt/stack/tempest/.tox/tempest/lib/python3.8/site-packages/tenacity/__init__.py", line 356, in iter return fut.result() File "/usr/lib/python3.8/concurrent/futures/_base.py", line 432, in result return self.__get_result() File "/usr/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result raise self._exception File "/opt/stack/tempest/.tox/tempest/lib/python3.8/site-packages/tenacity/__init__.py", line 412, in call result = fn(*args, **kwargs) File "/opt/stack/tempest/.tox/tempest/lib/python3.8/site-packages/neutron_tempest_plugin/common/ssh.py", line 178, in exec_command return super(Client, self).exec_command(cmd=cmd, encoding=encoding) File "/opt/stack/tempest/tempest/lib/common/ssh.py", line 158, in exec_command ssh = self._get_ssh_connection() File "/opt/stack/tempest/tempest/lib/common/ssh.py", line 126, in _get_ssh_connection raise exceptions.SSHTimeout(host=self.host, tempest.lib.exceptions.SSHTimeout: Connection to the 172.24.5.12 via SSH timed out. User: cirros, Password: None To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1896735/+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

