Skip to content

[202012 qos] support dynamic threshold for testcase testQosSaiHeadroomPoolSize#7109

Merged
XuChen-MSFT merged 1 commit intosonic-net:202012from
XuChen-MSFT:xuchen3/202012/testQosSaiHeadroomPoolSize-support-dynamic-threshold
Dec 26, 2022
Merged

[202012 qos] support dynamic threshold for testcase testQosSaiHeadroomPoolSize#7109
XuChen-MSFT merged 1 commit intosonic-net:202012from
XuChen-MSFT:xuchen3/202012/testQosSaiHeadroomPoolSize-support-dynamic-threshold

Conversation

@XuChen-MSFT
Copy link
Copy Markdown
Contributor

Description of PR

Summary:

workaround for testQosSaiHeadroomPoolSize to support dynamic threshold

Fixes # (issue)

Type of change

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

Back port request

  • 201911
  • 202012
  • 202205

Approach

What is the motivation for this PR?

testQosSaiHeadroomPoolSize alwasy fail on platform which support dynamic threshold for available shared buffer.

RCA:
Script try to fill shared buffer by injecting constant number of packets in multiple src port. In this testcase, this constant number is pkts_num_trig_pfc.

Since in dynamic threshold mode, each port's available shared buffer and pfc threshold are dynamic ranther than static. and the actual pfc threshold will become smaller with consumption of free buffer.
As below:

Memory can be allocated from shared buffer for pgi  for port p if 
           Alpha * free buffer > Bp,i
Bp,i: Buffer allocated for pgi of ingress port p

Filling shared buffer with constant value which equal pfc threshold will cause ingress drop for last src port.

How did you do it?

It's not easy to quickly workout an group accurate number for multiple src port case.
So workaround is only support ONE src port for testQosSaiHeadroomPoolSize.
Later, will calculate a dynamic number group for multiple src port test scenario.

How did you verify/test it?

pass local test.

Any platform specific information?

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

Documentation

@XuChen-MSFT
Copy link
Copy Markdown
Contributor Author

And BTW.
add below two enhance in this PR:

  • output more stats info in the test report for debug purpose.
  • correct dest MAC address for dualtor case.

@XuChen-MSFT XuChen-MSFT merged commit 0c2282d into sonic-net:202012 Dec 26, 2022
XuChen-MSFT added a commit to XuChen-MSFT/sonic-mgmt that referenced this pull request Jan 4, 2023
XuChen-MSFT added a commit that referenced this pull request Jan 5, 2023
wangxin pushed a commit that referenced this pull request Jan 6, 2023
sanmalho-git added a commit to sanmalho-git/sonic-mgmt that referenced this pull request Apr 5, 2023
…esting (sandeep: PR#6946)

Cleanup for QoS

Minor fixes for Qos tests

Changes to support QoS multi-asic and ixes to QoS tests for single-asic

 - Ignoring qos/test_buffer.py for T2 and allowing to run test_qos_sai.py on our chassis
 - Changes to support QoS multi-asic

Run only single-asic QoS tests

Integrating cint calls into qos tests

Fixes for QoS multi-asic support

qos masic - docker services should be updated on both src and dst asics

it was being done only on the src asic

More fixes for QoS tests

Adding missing import of 'socket' to sai_qos_base.py file

More fixes to QoS tests based on PR creation

Final fixes for Qos tests with rebase

Fixes for multi-dut and multi-asic in ReleaseAllPorts

Adding missing texttable.py file needed for QoS tests

Fixing typo in QoS tests

Embedding 'show counter' calls in PgSharedWatermark qos test

Adding missing QoS file

Fixing select fixture for QoS test

Fixing the path used for docker-sync-rpc image for QoS tests

qos tuning for LossyQueue parameter

Fixes for PFCXon test

QoS changes after rebase

double commit PR sonic-net#7109 sonic-net#7119 sonic-net#7140 sonic-net#7154 (sonic-net#7173)

Changes to DscpToPgmapping and PgSharedWatermarkTest for qos

Updating cint scripts and validating successfully executed

Adding sleep before checking stats for QoS tests

Change PgSharedWatermark_test assert stmt

More fixes for QoS tests

Fixes for QoS QSharedWatermarkTest test

Need to ignore one of the asserts as SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES is not supported on DNX

Enabling multi-asic/multi-dut and single-asic mode for QoS tests

All the fixes are in libsai that comes with 202205 - so we can run all
the tests in our weekend pipeline

QoS rebase fixes

Removing ptf_dut_ip - internal Nokia related code

Fixing issue created via rebase

Latest fixes
mannytaheri pushed a commit to mannytaheri/sonic-mgmt that referenced this pull request Jul 10, 2023
…esting (sandeep: PR#6946)

Cleanup for QoS

Minor fixes for Qos tests

Changes to support QoS multi-asic and ixes to QoS tests for single-asic

 - Ignoring qos/test_buffer.py for T2 and allowing to run test_qos_sai.py on our chassis
 - Changes to support QoS multi-asic

Run only single-asic QoS tests

Integrating cint calls into qos tests

Fixes for QoS multi-asic support

qos masic - docker services should be updated on both src and dst asics

it was being done only on the src asic

More fixes for QoS tests

Adding missing import of 'socket' to sai_qos_base.py file

More fixes to QoS tests based on PR creation

Final fixes for Qos tests with rebase

Fixes for multi-dut and multi-asic in ReleaseAllPorts

Adding missing texttable.py file needed for QoS tests

Fixing typo in QoS tests

Embedding 'show counter' calls in PgSharedWatermark qos test

Adding missing QoS file

Fixing select fixture for QoS test

Fixing the path used for docker-sync-rpc image for QoS tests

qos tuning for LossyQueue parameter

Fixes for PFCXon test

QoS changes after rebase

double commit PR sonic-net#7109 sonic-net#7119 sonic-net#7140 sonic-net#7154 (sonic-net#7173)

Changes to DscpToPgmapping and PgSharedWatermarkTest for qos

Updating cint scripts and validating successfully executed

Adding sleep before checking stats for QoS tests

Change PgSharedWatermark_test assert stmt

More fixes for QoS tests

Fixes for QoS QSharedWatermarkTest test

Need to ignore one of the asserts as SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES is not supported on DNX

Enabling multi-asic/multi-dut and single-asic mode for QoS tests

All the fixes are in libsai that comes with 202205 - so we can run all
the tests in our weekend pipeline

Fixing rebase issues

Fixing rebase issues with QoS tests

Fixing QoS rebase

Since the static testPortIds from qos.yml is not used for testQosHeadroomPoolSize,correctPortIds function is no longer required to validate the src/dst port.Hence removed

Fixing QoS tests

QoS rebase fixes

Merge from PR
vmittal-msft pushed a commit to vmittal-msft/sonic-mgmt that referenced this pull request Jul 17, 2023
…esting (sandeep: PR#6946)

Cleanup for QoS

Minor fixes for Qos tests

Changes to support QoS multi-asic and ixes to QoS tests for single-asic

 - Ignoring qos/test_buffer.py for T2 and allowing to run test_qos_sai.py on our chassis
 - Changes to support QoS multi-asic

Run only single-asic QoS tests

Integrating cint calls into qos tests

Fixes for QoS multi-asic support

qos masic - docker services should be updated on both src and dst asics

it was being done only on the src asic

More fixes for QoS tests

Adding missing import of 'socket' to sai_qos_base.py file

More fixes to QoS tests based on PR creation

Final fixes for Qos tests with rebase

Fixes for multi-dut and multi-asic in ReleaseAllPorts

Adding missing texttable.py file needed for QoS tests

Fixing typo in QoS tests

Embedding 'show counter' calls in PgSharedWatermark qos test

Adding missing QoS file

Fixing select fixture for QoS test

Fixing the path used for docker-sync-rpc image for QoS tests

qos tuning for LossyQueue parameter

Fixes for PFCXon test

QoS changes after rebase

double commit PR sonic-net#7109 sonic-net#7119 sonic-net#7140 sonic-net#7154 (sonic-net#7173)

Changes to DscpToPgmapping and PgSharedWatermarkTest for qos

Updating cint scripts and validating successfully executed

Adding sleep before checking stats for QoS tests

Change PgSharedWatermark_test assert stmt

More fixes for QoS tests

Fixes for QoS QSharedWatermarkTest test

Need to ignore one of the asserts as SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES is not supported on DNX

Enabling multi-asic/multi-dut and single-asic mode for QoS tests

All the fixes are in libsai that comes with 202205 - so we can run all
the tests in our weekend pipeline

QoS rebase fixes

Removing ptf_dut_ip - internal Nokia related code

Fixing issue created via rebase

Latest fixes

Fixes to QoS tests for mellanox and cisco-8000 platforms

Fix json.loads exception in dut_qos_maps if corresponding data is not present in the output of sonic-cfggen

Fix to allow tests to run one a single DUT in the testbed that has multiple DUTs defined

Fixed missing 'target' parameter in sai_thrift_read_queue_occupancy calls for cisco-8000

Fixes for Mellanox platforms

fixed indentation error

fixed precheck errors

fixed pre-check errors

fix for tests
vmittal-msft pushed a commit to vmittal-msft/sonic-mgmt that referenced this pull request Jul 21, 2023
…esting (sandeep: PR#6946)

Cleanup for QoS

Minor fixes for Qos tests

Changes to support QoS multi-asic and ixes to QoS tests for single-asic

 - Ignoring qos/test_buffer.py for T2 and allowing to run test_qos_sai.py on our chassis
 - Changes to support QoS multi-asic

Run only single-asic QoS tests

Integrating cint calls into qos tests

Fixes for QoS multi-asic support

qos masic - docker services should be updated on both src and dst asics

it was being done only on the src asic

More fixes for QoS tests

Adding missing import of 'socket' to sai_qos_base.py file

More fixes to QoS tests based on PR creation

Final fixes for Qos tests with rebase

Fixes for multi-dut and multi-asic in ReleaseAllPorts

Adding missing texttable.py file needed for QoS tests

Fixing typo in QoS tests

Embedding 'show counter' calls in PgSharedWatermark qos test

Adding missing QoS file

Fixing select fixture for QoS test

Fixing the path used for docker-sync-rpc image for QoS tests

qos tuning for LossyQueue parameter

Fixes for PFCXon test

QoS changes after rebase

double commit PR sonic-net#7109 sonic-net#7119 sonic-net#7140 sonic-net#7154 (sonic-net#7173)

Changes to DscpToPgmapping and PgSharedWatermarkTest for qos

Updating cint scripts and validating successfully executed

Adding sleep before checking stats for QoS tests

Change PgSharedWatermark_test assert stmt

More fixes for QoS tests

Fixes for QoS QSharedWatermarkTest test

Need to ignore one of the asserts as SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES is not supported on DNX

Enabling multi-asic/multi-dut and single-asic mode for QoS tests

All the fixes are in libsai that comes with 202205 - so we can run all
the tests in our weekend pipeline

QoS rebase fixes

Removing ptf_dut_ip - internal Nokia related code

Fixing issue created via rebase

Latest fixes

Fixes to QoS tests for mellanox and cisco-8000 platforms

Fix json.loads exception in dut_qos_maps if corresponding data is not present in the output of sonic-cfggen

Fix to allow tests to run one a single DUT in the testbed that has multiple DUTs defined

Fixed missing 'target' parameter in sai_thrift_read_queue_occupancy calls for cisco-8000

Fixes for Mellanox platforms

fixed indentation error

fixed precheck errors

fixed pre-check errors

fix for tests
XuChen-MSFT pushed a commit that referenced this pull request Jul 26, 2023
…esting (#8149)

* Enhance qos tests to support single-asic, multi-asic, and multi-dut testing (sandeep: PR#6946)

Cleanup for QoS

Minor fixes for Qos tests

Changes to support QoS multi-asic and ixes to QoS tests for single-asic

 - Ignoring qos/test_buffer.py for T2 and allowing to run test_qos_sai.py on our chassis
 - Changes to support QoS multi-asic

Run only single-asic QoS tests

Integrating cint calls into qos tests

Fixes for QoS multi-asic support

qos masic - docker services should be updated on both src and dst asics

it was being done only on the src asic

More fixes for QoS tests

Adding missing import of 'socket' to sai_qos_base.py file

More fixes to QoS tests based on PR creation

Final fixes for Qos tests with rebase

Fixes for multi-dut and multi-asic in ReleaseAllPorts

Adding missing texttable.py file needed for QoS tests

Fixing typo in QoS tests

Embedding 'show counter' calls in PgSharedWatermark qos test

Adding missing QoS file

Fixing select fixture for QoS test

Fixing the path used for docker-sync-rpc image for QoS tests

qos tuning for LossyQueue parameter

Fixes for PFCXon test

QoS changes after rebase

double commit PR #7109 #7119 #7140 #7154 (#7173)

Changes to DscpToPgmapping and PgSharedWatermarkTest for qos

Updating cint scripts and validating successfully executed

Adding sleep before checking stats for QoS tests

Change PgSharedWatermark_test assert stmt

More fixes for QoS tests

Fixes for QoS QSharedWatermarkTest test

Need to ignore one of the asserts as SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES is not supported on DNX

Enabling multi-asic/multi-dut and single-asic mode for QoS tests

All the fixes are in libsai that comes with 202205 - so we can run all
the tests in our weekend pipeline

QoS rebase fixes

Removing ptf_dut_ip - internal Nokia related code

Fixing issue created via rebase

Latest fixes

Fixes to QoS tests for mellanox and cisco-8000 platforms

Fix json.loads exception in dut_qos_maps if corresponding data is not present in the output of sonic-cfggen

Fix to allow tests to run one a single DUT in the testbed that has multiple DUTs defined

Fixed missing 'target' parameter in sai_thrift_read_queue_occupancy calls for cisco-8000

Fixes for Mellanox platforms

fixed indentation error

fixed precheck errors

fixed pre-check errors

fix for tests

* Fixes from 202205 branch

* Fixes for ToR QoS test cases

* Fix for nightly failures

* Fix for nightly failures-2

* dual tor fixes

* dual tor fixes - 2

* dual tor fixes - 3

* pre-check fixes

* pre-check fixes - 2

* pre-check fixes - 3

* pre-check fixes - 4

* pre-check fixes - 5

* pre-check fixes 6

* pre-check fixes 7

---------

Co-authored-by: sanmalho <sandeep.malhotra@nokia.com>
bingwang-ms pushed a commit to bingwang-ms/sonic-mgmt that referenced this pull request Jul 27, 2023
revert pr7106, and reenable headroom pool size test

according to sonic-net#7113
sonic-net#7109 is a bad fix, it break headroom pool size test.
sot PR7109 was reverted.
and need to recalculate the qos parameters for headroom pool size testcase as well.

Here, stop calculation first, to cooperate with test script code back out.
and will commit net calculation code later.

Cherry picked from !2647

Cherry-picked from commit `05a72175`.
ZhaohuiS pushed a commit to ZhaohuiS/sonic-mgmt that referenced this pull request Aug 18, 2023
revert pr7106, and reenable headroom pool size test

according to sonic-net#7113
sonic-net#7109 is a bad fix, it break headroom pool size test.
sot PR7109 was reverted.
and need to recalculate the qos parameters for headroom pool size testcase as well.

Here, stop calculation first, to cooperate with test script code back out.
and will commit net calculation code later.

Cherry picked from !2647

Cherry-picked from commit `05a72175`.
StormLiangMS pushed a commit to StormLiangMS/sonic-mgmt that referenced this pull request Dec 16, 2023
revert pr7106, and reenable headroom pool size test

according to sonic-net#7113
sonic-net#7109 is a bad fix, it break headroom pool size test.
sot PR7109 was reverted.
and need to recalculate the qos parameters for headroom pool size testcase as well.

Here, stop calculation first, to cooperate with test script code back out.
and will commit net calculation code later.
AharonMalkin pushed a commit to AharonMalkin/sonic-mgmt that referenced this pull request Jan 25, 2024
…esting (sonic-net#8149)

* Enhance qos tests to support single-asic, multi-asic, and multi-dut testing (sandeep: PR#6946)

Cleanup for QoS

Minor fixes for Qos tests

Changes to support QoS multi-asic and ixes to QoS tests for single-asic

 - Ignoring qos/test_buffer.py for T2 and allowing to run test_qos_sai.py on our chassis
 - Changes to support QoS multi-asic

Run only single-asic QoS tests

Integrating cint calls into qos tests

Fixes for QoS multi-asic support

qos masic - docker services should be updated on both src and dst asics

it was being done only on the src asic

More fixes for QoS tests

Adding missing import of 'socket' to sai_qos_base.py file

More fixes to QoS tests based on PR creation

Final fixes for Qos tests with rebase

Fixes for multi-dut and multi-asic in ReleaseAllPorts

Adding missing texttable.py file needed for QoS tests

Fixing typo in QoS tests

Embedding 'show counter' calls in PgSharedWatermark qos test

Adding missing QoS file

Fixing select fixture for QoS test

Fixing the path used for docker-sync-rpc image for QoS tests

qos tuning for LossyQueue parameter

Fixes for PFCXon test

QoS changes after rebase

double commit PR sonic-net#7109 sonic-net#7119 sonic-net#7140 sonic-net#7154 (sonic-net#7173)

Changes to DscpToPgmapping and PgSharedWatermarkTest for qos

Updating cint scripts and validating successfully executed

Adding sleep before checking stats for QoS tests

Change PgSharedWatermark_test assert stmt

More fixes for QoS tests

Fixes for QoS QSharedWatermarkTest test

Need to ignore one of the asserts as SAI_INGRESS_PRIORITY_GROUP_STAT_XOFF_ROOM_WATERMARK_BYTES is not supported on DNX

Enabling multi-asic/multi-dut and single-asic mode for QoS tests

All the fixes are in libsai that comes with 202205 - so we can run all
the tests in our weekend pipeline

QoS rebase fixes

Removing ptf_dut_ip - internal Nokia related code

Fixing issue created via rebase

Latest fixes

Fixes to QoS tests for mellanox and cisco-8000 platforms

Fix json.loads exception in dut_qos_maps if corresponding data is not present in the output of sonic-cfggen

Fix to allow tests to run one a single DUT in the testbed that has multiple DUTs defined

Fixed missing 'target' parameter in sai_thrift_read_queue_occupancy calls for cisco-8000

Fixes for Mellanox platforms

fixed indentation error

fixed precheck errors

fixed pre-check errors

fix for tests

* Fixes from 202205 branch

* Fixes for ToR QoS test cases

* Fix for nightly failures

* Fix for nightly failures-2

* dual tor fixes

* dual tor fixes - 2

* dual tor fixes - 3

* pre-check fixes

* pre-check fixes - 2

* pre-check fixes - 3

* pre-check fixes - 4

* pre-check fixes - 5

* pre-check fixes 6

* pre-check fixes 7

---------

Co-authored-by: sanmalho <sandeep.malhotra@nokia.com>
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.

2 participants