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

[platform_tests/counterpoll]: Support multi-asic for counterpoll watermark tests #14777

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

liamkearney-msft
Copy link
Contributor

  • Update counterpoll watermark platform test to support multi-asic DUTs

BugLink: #14753

Description of PR

Refactor test_counterpoll_watermark to properly handle multi-asic DUTs. The previous version of the test would fail on multi-asic as it would not look at the namespaced database containers.

Summary:
Fixes #14753

Type of change

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

Back port request

  • 202012
  • 202205
  • 202305
  • 202311
  • 202405

Approach

What is the motivation for this PR?

Fix test case to properly run on multi-asic

How did you do it?

How did you verify/test it?

Ran the test on a testbed with multi-asic and single asic devices. Test runs without errors in testplan logic

Any platform specific information?

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

Documentation

@mssonicbld
Copy link
Collaborator

The pre-commit check detected issues in the files touched by this pull request.
The pre-commit check is a mandatory check, please fix detected issues.

Detailed pre-commit check results:
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check yaml...........................................(no files to check)Skipped
check for added large files..............................................Passed
check python ast.........................................................Passed
flake8...................................................................Failed
- hook id: flake8
- exit code: 1

tests/platform_tests/counterpoll/counterpoll_helper.py:4:1: E302 expected 2 blank lines, found 1

flake8...............................................(no files to check)Skipped
check conditional mark sort..........................(no files to check)Skipped

To run the pre-commit checks locally, you can follow below steps:

  1. Ensure that default python is python3. In sonic-mgmt docker container, default python is python2. You can run
    the check by activating the python3 virtual environment in sonic-mgmt docker container or outside of sonic-mgmt
    docker container.
  2. Ensure that the pre-commit package is installed:
sudo pip install pre-commit
  1. Go to repository root folder
  2. Install the pre-commit hooks:
pre-commit install
  1. Use pre-commit to check staged file:
pre-commit
  1. Alternatively, you can check committed files using:
pre-commit run --from-ref <commit_id> --to-ref <commit_id>

* Update counterpoll watermark platform test to support multi-asic DUTs

BugLink: sonic-net#14753
Signed-off-by: Liam Kearney <[email protected]>
Copy link
Contributor

@auspham auspham left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@arlakshm arlakshm left a comment

Choose a reason for hiding this comment

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

can you please test this change on T0/T1 testbed to make sure these changes do not break single ASIC platforms

tests/platform_tests/counterpoll/counterpoll_helper.py Outdated Show resolved Hide resolved
watermark_stats[watermark_type] = 0
for line in output:
if watermark_type in line:
watermark_stats[watermark_type] += 1
Copy link
Contributor

Choose a reason for hiding this comment

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

The test case will not detect if one of the asic does not have any watermark stat?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it iterates through each asic one at a time - if it finds one where there is missing watermarks itll assert and stop.

@liamkearney-msft
Copy link
Contributor Author

liamkearney-msft commented Oct 2, 2024

can you please test this change on T0/T1 testbed to make sure these changes do not break single ASIC platforms

@arlakshm tested on t0 TB, and a t2 TB with a multi-asic and single-asic linecard - tests pass

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

[Bug]: counterpoll watermark test does not support multi-asic
4 participants