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

change swapsyncd to module level. #15501

Merged
merged 2 commits into from
Dec 7, 2024
Merged

Conversation

sdszhang
Copy link
Contributor

@sdszhang sdszhang commented Nov 12, 2024

Description of PR

Summary:
change swapsyncd and disable_ipv6 to module level.
Running time on T2 reduced by around 140 minutes (from 685.08 minutes to 543.95 minutes).

Existing code will do swapSyncd for selected dut only in each iteration. In a T2 full test, it was around 8 LC which needs to do swapsyncd, including setup and teardown for each iteration.

select_src_dst_dut_and_asic selected DUT to do swapsyncd (Existing)
single_asic one downstream LC
single_dut_multi_asic one downstream LC
multi_dut_longlink_to_shortlink one upstream LC, one downstream LC
multi_dut_shortlink_to_shortlink two downstream LC
multi_dut_shortlink_to_longlink one upstream LC, one downstream LC

After the fix, swapsyncd will be done for all LCs at the beginning of the test. Saved around 5 LC swapsyncd time

select_src_dst_dut_and_asic selected DUT to do swapsyncd (after fix)
Setup one upstream LC, two downstream LC
single_asic none
single_dut_multi_asic none
multi_dut_longlink_to_shortlink none
multi_dut_shortlink_to_shortlink none
multi_dut_shortlink_to_longlink none
Teardown one upstream LC, two downstream LC

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?

Reduce the run time for test_qos_sai module.

How did you do it?

change the swapsyncd fixture to module level. replace all dut with rpcsyncd container, instead of replacing selected dut multiple times for each iteration.

How did you verify/test it?

verified the physical testbed.

Any platform specific information?

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

Documentation

disable ipv6 at module level too
@sdszhang
Copy link
Contributor Author

sdszhang commented Dec 3, 2024

Test result. 2 failures are known issue, 1 error was due to testbed issue, not related to this change. All other test cases passed on T2 setup.

qos/test_qos_sai.py::TestQosSai::testParameter[single_asic] PASSED                                                                   [  0%]
qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[single_asic-xoff_1] PASSED                                                                   [  0%]
qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[single_asic-xoff_2] PASSED                                                                   [  1%]
qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[single_asic-xoff_3] SKIPPED [  1%]
qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[single_asic-xoff_4] SKIPPED [  2%]
......
=========================== short test summary info ============================
......
ERROR qos/test_qos_sai.py::TestQosSai::testQosSaiFullMeshTrafficSanity[multi_dut_shortlink_to_longlink-2]
FAILED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrr[multi_dut_shortlink_to_longlink]
FAILED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrrWeightChange[multi_dut_shortlink_to_longlink]
= 2 failed, 70 passed, 173 skipped, 1 warning, 1 error in 32628.59s (9:03:48) ==

@sdszhang sdszhang marked this pull request as ready for review December 3, 2024 02:51
Copy link
Contributor

@XuChen-MSFT XuChen-MSFT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me!

@yejianquan yejianquan merged commit 18e312e into sonic-net:master Dec 7, 2024
16 checks passed
mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Dec 7, 2024
Description of PR
Summary:
change swapsyncd and disable_ipv6 to module level.
Running time on T2 reduced by around 140 minutes (from 685.08 minutes to 543.95 minutes).

Existing code will do swapSyncd for selected dut only in each iteration. In a T2 full test, it was around 8 LC which needs to do swapsyncd, including setup and teardown for each iteration.

select_src_dst_dut_and_asic	selected DUT to do swapsyncd (Existing)
single_asic	one downstream LC
single_dut_multi_asic	one downstream LC
multi_dut_longlink_to_shortlink	one upstream LC, one downstream LC
multi_dut_shortlink_to_shortlink	two downstream LC
multi_dut_shortlink_to_longlink	one upstream LC, one downstream LC
After the fix, swapsyncd will be done for all LCs at the beginning of the test. Saved around 5 LC swapsyncd time

select_src_dst_dut_and_asic	selected DUT to do swapsyncd (after fix)
Setup	one upstream LC, two downstream LC
single_asic	none
single_dut_multi_asic	none
multi_dut_longlink_to_shortlink	none
multi_dut_shortlink_to_shortlink	none
multi_dut_shortlink_to_longlink	none
Teardown	one upstream LC, two downstream LC
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?
Reduce the run time for test_qos_sai module.

How did you do it?
change the swapsyncd fixture to module level. replace all dut with rpcsyncd container, instead of replacing selected dut multiple times for each iteration.

How did you verify/test it?
verified the physical testbed.

co-authorized by: [email protected]
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202405: #15938

mssonicbld pushed a commit that referenced this pull request Dec 7, 2024
Description of PR
Summary:
change swapsyncd and disable_ipv6 to module level.
Running time on T2 reduced by around 140 minutes (from 685.08 minutes to 543.95 minutes).

Existing code will do swapSyncd for selected dut only in each iteration. In a T2 full test, it was around 8 LC which needs to do swapsyncd, including setup and teardown for each iteration.

select_src_dst_dut_and_asic	selected DUT to do swapsyncd (Existing)
single_asic	one downstream LC
single_dut_multi_asic	one downstream LC
multi_dut_longlink_to_shortlink	one upstream LC, one downstream LC
multi_dut_shortlink_to_shortlink	two downstream LC
multi_dut_shortlink_to_longlink	one upstream LC, one downstream LC
After the fix, swapsyncd will be done for all LCs at the beginning of the test. Saved around 5 LC swapsyncd time

select_src_dst_dut_and_asic	selected DUT to do swapsyncd (after fix)
Setup	one upstream LC, two downstream LC
single_asic	none
single_dut_multi_asic	none
multi_dut_longlink_to_shortlink	none
multi_dut_shortlink_to_shortlink	none
multi_dut_shortlink_to_longlink	none
Teardown	one upstream LC, two downstream LC
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?
Reduce the run time for test_qos_sai module.

How did you do it?
change the swapsyncd fixture to module level. replace all dut with rpcsyncd container, instead of replacing selected dut multiple times for each iteration.

How did you verify/test it?
verified the physical testbed.

co-authorized by: [email protected]
mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Jan 2, 2025
Description of PR
Summary:
change swapsyncd and disable_ipv6 to module level.
Running time on T2 reduced by around 140 minutes (from 685.08 minutes to 543.95 minutes).

Existing code will do swapSyncd for selected dut only in each iteration. In a T2 full test, it was around 8 LC which needs to do swapsyncd, including setup and teardown for each iteration.

select_src_dst_dut_and_asic	selected DUT to do swapsyncd (Existing)
single_asic	one downstream LC
single_dut_multi_asic	one downstream LC
multi_dut_longlink_to_shortlink	one upstream LC, one downstream LC
multi_dut_shortlink_to_shortlink	two downstream LC
multi_dut_shortlink_to_longlink	one upstream LC, one downstream LC
After the fix, swapsyncd will be done for all LCs at the beginning of the test. Saved around 5 LC swapsyncd time

select_src_dst_dut_and_asic	selected DUT to do swapsyncd (after fix)
Setup	one upstream LC, two downstream LC
single_asic	none
single_dut_multi_asic	none
multi_dut_longlink_to_shortlink	none
multi_dut_shortlink_to_shortlink	none
multi_dut_shortlink_to_longlink	none
Teardown	one upstream LC, two downstream LC
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?
Reduce the run time for test_qos_sai module.

How did you do it?
change the swapsyncd fixture to module level. replace all dut with rpcsyncd container, instead of replacing selected dut multiple times for each iteration.

How did you verify/test it?
verified the physical testbed.

co-authorized by: [email protected]
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202411: #16280

mssonicbld pushed a commit that referenced this pull request Jan 2, 2025
Description of PR
Summary:
change swapsyncd and disable_ipv6 to module level.
Running time on T2 reduced by around 140 minutes (from 685.08 minutes to 543.95 minutes).

Existing code will do swapSyncd for selected dut only in each iteration. In a T2 full test, it was around 8 LC which needs to do swapsyncd, including setup and teardown for each iteration.

select_src_dst_dut_and_asic	selected DUT to do swapsyncd (Existing)
single_asic	one downstream LC
single_dut_multi_asic	one downstream LC
multi_dut_longlink_to_shortlink	one upstream LC, one downstream LC
multi_dut_shortlink_to_shortlink	two downstream LC
multi_dut_shortlink_to_longlink	one upstream LC, one downstream LC
After the fix, swapsyncd will be done for all LCs at the beginning of the test. Saved around 5 LC swapsyncd time

select_src_dst_dut_and_asic	selected DUT to do swapsyncd (after fix)
Setup	one upstream LC, two downstream LC
single_asic	none
single_dut_multi_asic	none
multi_dut_longlink_to_shortlink	none
multi_dut_shortlink_to_shortlink	none
multi_dut_shortlink_to_longlink	none
Teardown	one upstream LC, two downstream LC
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?
Reduce the run time for test_qos_sai module.

How did you do it?
change the swapsyncd fixture to module level. replace all dut with rpcsyncd container, instead of replacing selected dut multiple times for each iteration.

How did you verify/test it?
verified the physical testbed.

co-authorized by: [email protected]
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.

4 participants