Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Snappi] Replacing dut.shell with dut.command for clearing counters in snappi clear_counter function #16272

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

amitpawar12
Copy link
Contributor

@amitpawar12 amitpawar12 commented Dec 31, 2024

Description of PR

The clear_counter function in tests/common/snappi_tests/common_helper.py used dut.shell to clear the sonic counters.

However, the dut.shell inherently uses sudo, thus sonic clear counters in non-sudo mode were not getting cleared.

Replacing dut.shell with dut.command to ensure that sonic-clear counters works in both SUDO and non-SUDO mode.

Summary:
Fixes #16270

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Back port request

  • 202012
  • 202205
  • 202305
  • 202311
  • 202405

Approach

What is the motivation for this PR?

Replacing dut.shell with dut.command to clear the counters in both SUDO and non-SUDO mode.

How did you do it?

Replaced dut.shell with dut.command.

How did you verify/test it?

Local clone.

AzDevOps@68684a43ec9e:/data/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern ixre-egl-board71,ixre-egl-board72 --testbed ixre-chassis17-t2 --testbed_file ../ansible/testbed.csv --log-cli-level info --log-file-level info --kube_master unset --showlocals -ra --show-capture stdout --junit-xml=/tmp/test.xml --skip_sanity --log-file=/tmp/test.log  --topology multidut-tgen --cache-clear --disable_loganalyzer snappi_tests/pfc/test_pfc_no_congestion_throughput.py -k test_multiple_prio_diff_dist
snappi_tests/pfc/test_pfc_no_congestion_throughput.py::test_multiple_prio_diff_dist[multidut_port_info0-port_map0] 
19:31:48 test_pfc_no_congestion_throughput.test_m L0096 INFO   | Running test for testbed subtype: multi-dut-single-asic
19:31:51 snappi_fixtures.__intf_config_multidut   L0933 INFO   | Configuring Dut: ixre-egl-board71 with port Ethernet0 with IP 20.10.1.2/31
19:31:52 snappi_fixtures.__intf_config_multidut   L0933 INFO   | Configuring Dut: ixre-egl-board72 with port Ethernet0 with IP 20.10.1.0/31
19:31:53 test_pfc_no_congestion_throughput.test_m L0129 INFO   | Selected lossless :[3, 4] and lossy priorities:[0, 2, 1] for the test
19:31:53 snappi_fixtures.clear_fabric_counters    L1504 INFO   | Clearing fabric counters for DUT:ixre-egl-board71
19:31:56 snappi_fixtures.clear_fabric_counters    L1504 INFO   | Clearing fabric counters for DUT:ixre-egl-board72
19:33:23 traffic_generation.run_traffic_and_colle L1026 INFO   | Clearing PFC, dropcounters, queuecounters and stats
PASSED                                                                                                                                                                                                          [ 33%]
snappi_tests/pfc/test_pfc_no_congestion_throughput.py::test_multiple_prio_diff_dist[multidut_port_info1-port_map0] 
19:40:41 test_pfc_no_congestion_throughput.test_m L0096 INFO   | Running test for testbed subtype: single-dut-multi-asic
19:40:44 snappi_fixtures.__intf_config_multidut   L0933 INFO   | Configuring Dut: ixre-egl-board71 with port Ethernet8 with IP 20.10.1.0/31
19:40:46 snappi_fixtures.__intf_config_multidut   L0933 INFO   | Configuring Dut: ixre-egl-board71 with port Ethernet152 with IP 20.10.1.2/31
19:40:47 test_pfc_no_congestion_throughput.test_m L0129 INFO   | Selected lossless :[3, 4] and lossy priorities:[6, 1, 5] for the test
19:40:47 snappi_fixtures.clear_fabric_counters    L1504 INFO   | Clearing fabric counters for DUT:ixre-egl-board71
19:40:49 snappi_fixtures.clear_fabric_counters    L1504 INFO   | Clearing fabric counters for DUT:ixre-egl-board72
19:42:00 traffic_generation.run_traffic_and_colle L1026 INFO   | Clearing PFC, dropcounters, queuecounters and stats
PASSED                                                                                                                                                                                                          [ 66%]
snappi_tests/pfc/test_pfc_no_congestion_throughput.py::test_multiple_prio_diff_dist[multidut_port_info2-port_map0] 
19:49:13 test_pfc_no_congestion_throughput.test_m L0096 INFO   | Running test for testbed subtype: single-dut-single-asic
19:49:16 snappi_fixtures.__intf_config_multidut   L0933 INFO   | Configuring Dut: ixre-egl-board72 with port Ethernet8 with IP 20.10.1.0/31
19:49:18 snappi_fixtures.__intf_config_multidut   L0933 INFO   | Configuring Dut: ixre-egl-board72 with port Ethernet16 with IP 20.10.1.2/31
19:49:19 test_pfc_no_congestion_throughput.test_m L0129 INFO   | Selected lossless :[3, 4] and lossy priorities:[2, 6, 0] for the test
19:49:19 snappi_fixtures.clear_fabric_counters    L1504 INFO   | Clearing fabric counters for DUT:ixre-egl-board71
19:49:21 snappi_fixtures.clear_fabric_counters    L1504 INFO   | Clearing fabric counters for DUT:ixre-egl-board72
19:50:32 traffic_generation.run_traffic_and_colle L1026 INFO   | Clearing PFC, dropcounters, queuecounters and stats
PASSED                                                                                                                                                                                                          [100%]

Any platform specific information?

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

Documentation

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Snappi]: Replace the dut.shell with dut.command for clear_counter function in common_helpers.py file.
2 participants