Bug 2196013

Summary: test_port_forwarding_to_2_servers fails on non-dvr ovs environments
Product: Red Hat OpenStack Reporter: Roman Safronov <rsafrono>
Component: python-neutron-tests-tempestAssignee: Miro Tomaska <mtomaska>
Status: CLOSED DUPLICATE QA Contact: Eran Kuris <ekuris>
Severity: high Docs Contact:
Priority: high    
Version: 17.1 (Wallaby)CC: mlavalle, mtomaska, ykarel
Target Milestone: gaKeywords: AutomationBlocker, Regression, TestOnly, Triaged
Target Release: ---Flags: ifrangs: needinfo? (mtomaska)
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-06-07 19:26:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Roman Safronov 2023-05-07 14:35:44 UTC
Description of problem:

The test fails but only on non-dvr ovs environment, seen in several d/s CI jobs

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/neutron_tempest_plugin/scenario/test_port_forwardings.py", line 131, in test_port_forwarding_to_2_servers
    self._test_udp_port_forwarding(servers)
  File "/usr/lib/python3.9/site-packages/neutron_tempest_plugin/scenario/test_port_forwardings.py", line 120, in _test_udp_port_forwarding
    utils.wait_until_true(
  File "/usr/lib/python3.9/site-packages/neutron_tempest_plugin/common/utils.py", line 84, in wait_until_true
    while not predicate():
  File "/usr/lib/python3.9/site-packages/neutron_tempest_plugin/scenario/test_port_forwardings.py", line 121, in <lambda>
    lambda: _message_received(server, ssh_client, expected_msg),
  File "/usr/lib/python3.9/site-packages/neutron_tempest_plugin/scenario/test_port_forwardings.py", line 100, in _message_received
    received_msg = self.nc_client(
  File "/usr/lib/python3.9/site-packages/neutron_tempest_plugin/scenario/base.py", line 620, in nc_client
    self.assertEqual(0, result.exit_status)
  File "/usr/lib/python3.9/site-packages/testtools/testcase.py", line 391, in assertEqual
    self.assertThat(observed, matcher, message)
  File "/usr/lib/python3.9/site-packages/testtools/testcase.py", line 478, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 0 != 1

Version-Release number of selected component (if applicable):
RHOS-17.1-RHEL-9-20230426.n.1
python3-neutron-tests-tempest-2.1.0-1.20230222141314.021ce91.el9ost.noarch

How reproducible:
100% on non-dvr ovs environment

Steps to Reproduce:
1. Run the test on a d/s CI job that uses non-dvr ovs environment
2.
3.

Actual results:
The test fails

Expected results:
The test passes

Additional info:
If I add a couple of seconds delay, after prepare_resources (line 127, see link below), the test passes

https://github.com/openstack/neutron-tempest-plugin/blob/c4597e696de6ff48bbd76112059894e299e14718/neutron_tempest_plugin/scenario/test_port_forwardings.py#L127

Comment 8 Miro Tomaska 2023-06-07 19:26:35 UTC

*** This bug has been marked as a duplicate of bug 2210233 ***