sonic-net / sonic-mgmt

Configuration management examples for SONiC
Other
173 stars 688 forks source link

[Snappi] random.sample exception in multidut snappi test cases. #13460

Closed sdszhang closed 5 days ago

sdszhang commented 6 days ago

Description of PR

Summary: Fixes random.sample error in multidut test cases.

snappi_tests/multidut/pfcwd/test_multidut_pfcwd_a2a_with_snappi.py::test_multidut_pfcwd_all_to_all[linecard_configuration_set0-chassis_multi_line_card_multi_asic-False]
-------------------------------- live log call ---------------------------------
12:09:41 __init__.pytest_runtest_call             L0040 ERROR  | Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 1788, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 501, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 119, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 138, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 102, in _multicall
    res = hook_impl.function(*args)
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 194, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/data/sonic-mgmt-int/tests/snappi_tests/multidut/pfcwd/test_multidut_pfcwd_a2a_with_snappi.py", line 53, in test_multidut_pfcwd_all_to_all
    dut_list = random.sample(duthosts, 2)
  File "/usr/lib/python3.8/random.py", line 359, in sample
    raise TypeError("Population must be a sequence or set.  For dicts, use list(d).")
TypeError: Population must be a sequence or set.  For dicts, use list(d).

Type of change

Back port request

Approach

What is the motivation for this PR?

Fix random.sample exception in multidut snappi test cases.

How did you do it?

use list(duthosts)

How did you verify/test it?

Run it manually

Any platform specific information?

Should only see in multiple host names.

Supported testbed topology if it's a new test case?

Documentation

mssonicbld commented 1 day ago

Cherry-pick PR to 202405: https://github.com/sonic-net/sonic-mgmt/pull/13518