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

[action] [PR:12530] Fix qos/test_pfc_pause.py for dualtor-aa #13257

Merged
merged 1 commit into from
Jun 13, 2024

Conversation

mssonicbld
Copy link
Collaborator

Description of PR

Summary: Fix qos/test_pfc_pause.py for dualtor-aa
Fixes: #100

Type of change

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

Back port request

  • 201911
  • 202012
  • 202205
  • 202305
  • 202311

Approach

What is the motivation for this PR?

qos/test_pfc_pause.py fails on dualtor-aa

 errors = dict()
 for intf in results:
 if len(results[intf]) != 2:
 continue
 
 pass_count = results[intf][0]
 total_count = results[intf][1]
 
 if total_count == 0:
 continue
 
 if pass_count < total_count LICENSE README.md SECURITY.md ansible azure-pipelines.yml docs git pyproject.toml sdn_tests setup-container.sh spytest test_reporting tests PTF_PASS_RATIO_THRESH:
 errors[intf] = results[intf]
 
 if len(errors) > 0:
 test_errors += "Dscp: {}, Background Dscp: {}, errors occured: {}\n"\
 .format(dscp, dscp_bg, " ".join(["{}:{}".format(k, v) for k, v in list(errors.items())]))
 
> pytest_assert(len(test_errors) == 0, test_errors)
E Failed: Dscp: [3], Background Dscp: 4, errors occured: Ethernet12:[0, 20]
E Dscp: [3], Background Dscp: 0, errors occured: Ethernet12:[0, 20]
E Dscp: [3], Background Dscp: 1, errors occured: Ethernet12:[0, 20]
 errors = dict()
 for intf in results:
 if len(results[intf]) != 2:
 continue
 
 pass_count = results[intf][0]
 total_count = results[intf][1]
 
 if total_count == 0:
 continue
 
 if pass_count < total_count LICENSE README.md SECURITY.md ansible azure-pipelines.yml docs git pyproject.toml sdn_tests setup-container.sh spytest test_reporting tests PTF_PASS_RATIO_THRESH:
 errors[intf] = results[intf]
 
 if len(errors) > 0:
 test_errors += "Dscp: {}, Background Dscp: {}, errors occured: {}\n"\
 .format(dscp, dscp_bg, " ".join(["{}:{}".format(k, v) for k, v in list(errors.items())]))
 
> pytest_assert(len(test_errors) == 0, test_errors)
E Failed: Dscp: [4], Background Dscp: 3, errors occured: Ethernet12:[0, 20]
E Dscp: [4], Background Dscp: 0, errors occured: Ethernet12:[0, 20]
E Dscp: [4], Background Dscp: 1, errors occured: Ethernet12:[0, 20]

This happens because the packets go to unselected ToR.

How did you do it?

Follow the same approach as in #11921

How did you verify/test it?

Verified on Arista-7260 platform with both dualtor-aa and dualtor topology.

qos/test_pfc_pause.py::test_pfc_pause_lossless[gd377|2] SKIPPED (Fanout needs to send PFC fra...) [ 6%]
qos/test_pfc_pause.py::test_pfc_pause_lossless[gd377|3] SKIPPED (Fanout needs to send PFC fra...) [ 12%]
qos/test_pfc_pause.py::test_pfc_pause_lossless[gd377|4] SKIPPED (Fanout needs to send PFC fra...) [ 18%]
qos/test_pfc_pause.py::test_pfc_pause_lossless[gd377|6] SKIPPED (Fanout needs to send PFC fra...) [ 25%]
qos/test_pfc_pause.py::test_pfc_pause_lossless[gd426|2] SKIPPED (Fanout needs to send PFC fra...) [ 31%]
qos/test_pfc_pause.py::test_pfc_pause_lossless[gd426|3] SKIPPED (Fanout needs to send PFC fra...) [ 37%]
qos/test_pfc_pause.py::test_pfc_pause_lossless[gd426|4] SKIPPED (Fanout needs to send PFC fra...) [ 43%]
qos/test_pfc_pause.py::test_pfc_pause_lossless[gd426|6] SKIPPED (Fanout needs to send PFC fra...) [ 50%]
qos/test_pfc_pause.py::test_no_pfc[gd377|2] SKIPPED (No DSCP found for priority 2.) [ 56%]
qos/test_pfc_pause.py::test_no_pfc[gd377|3] PASSED [ 62%]
qos/test_pfc_pause.py::test_no_pfc[gd377|4] PASSED [ 68%]
qos/test_pfc_pause.py::test_no_pfc[gd377|6] SKIPPED (No DSCP found for priority 6.) [ 75%]
qos/test_pfc_pause.py::test_no_pfc[gd426|2] SKIPPED (No DSCP found for priority 2.) [ 81%]
qos/test_pfc_pause.py::test_no_pfc[gd426|3] PASSED [ 87%]
qos/test_pfc_pause.py::test_no_pfc[gd426|4] PASSED [ 93%]
qos/test_pfc_pause.py::test_no_pfc[gd426|6] SKIPPED (No DSCP found for priority 6.) [100%]

Any platform specific information?

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

Documentation

@mssonicbld
Copy link
Collaborator Author

Original PR: #12530

@mssonicbld mssonicbld merged commit 6c8ea23 into sonic-net:202305 Jun 13, 2024
11 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants