Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[drop_packets]: Fix to support testbed with different (#9262)
What is the motivation for this PR? Seeing failures on testbed with different hwsku's with different asic count. In Chassis testbed, with different LC hwSKU , if one of the selected LCs have 3 asics and another LC has 2 asics, we see the below failure: drop_packets/test_drop_counters.py::test_src_ip_is_loopback_addr[rif_members] -------------------------------- live log call --------------------------------- 02:08:08 utilities.wait_until L0118 ERROR | Exception caught while checking <lambda>:Traceback (most recent call last): File "/./tests/common/utilities.py", line 112, in wait_until check_result = condition(*args, **kwargs) File "/./tests/common/helpers/drop_counters/drop_counters.py", line 101, in <lambda> check_drops_on_dut = lambda: packets_count in get_drops_across_all_duthosts() File "/./tests/common/helpers/drop_counters/drop_counters.py", line 94, in get_drops_across_all_duthosts pkt_drops = get_pkt_drops(duthost, get_cnt_cli_cmd, asic_index) File "/./tests/common/helpers/drop_counters/drop_counters.py", line 34, in get_pkt_drops namespace = duthost.get_namespace_from_asic_id(asic_index) File "/./tests/common/devices/multi_asic.py", line 230, in get_namespace_from_asic_id raise ValueError("Invalid asic_id '{}' passed as input".format(asic_id)) ValueError: Invalid asic_id '2' passed as input , error:Invalid asic_id '2' passed as input Issue is because the get_pkt_drop function takes the asic_index of the selected HwSKU or selected LC. If the random asic_index selected is 2, and if get_pkt_drops() is called with asic_index 2 for a different LC in the testbed with 2 asics, the test fails as asic_index 2 is not present in the different LC. How did you do it? Fixed get_pkt_drops to go through all asic namespaces and get drop count. This way get_pkt_drops will return packet drops for all interfaces from all namespaces. How did you verify/test it? Verified on packet chassis, voq chassis and single asic DUT testbed.
- Loading branch information