Skip to content

[Snappi] Modified pfcwd basic helper to add warm-up traffic#7499

Merged
yxieca merged 1 commit intosonic-net:masterfrom
developfast:dojha/mlnx_reboot_issue_fix
Feb 24, 2023
Merged

[Snappi] Modified pfcwd basic helper to add warm-up traffic#7499
yxieca merged 1 commit intosonic-net:masterfrom
developfast:dojha/mlnx_reboot_issue_fix

Conversation

@developfast
Copy link
Copy Markdown
Contributor

Description of PR

Summary: During the pfc watch dog (pfcwd) basic tests, pfc watch dog was being triggered by fake alerts i.e. when it was not supposed to be triggered. This was causing unnecessary test failures. To curb this issue, warm-up data traffic is initially sent before any other traffic (pfc pause storm and data traffic) to prevent pfcwd fake alerts caused by non-incremented packet counters during the pfcwd polling interval.

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?

Existing issue with certain switches where PFC watch dog was being triggered by fake alerts.

How did you do it?

Added warm-up data traffic before any other traffic (pfc pause storm and data traffic) to prevent pfcwd fake alerts caused by non-incremented packet counters during the pfcwd polling interval.

How did you verify/test it?

All pfcwd basic tests pass
============= 22 passed in 6207.35 seconds ===============

Any platform specific information?

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

Documentation

@wangxin
Copy link
Copy Markdown
Collaborator

wangxin commented Feb 16, 2023

The pre-commit check detected issues in the files touched by this pull request.
The detected issues may be old or new. For new issues, please try to fix them.

For old issues, it is not mandatory to fix them because they were not caused by this change. It is unfair to blame
author of this pull request. But if you can take extra effort to fix the old issues as well, that would be great!

Detailed pre-commit check results:
trim trailing whitespace.................................................Failed
- hook id: trailing-whitespace
- exit code: 1
- files were modified by this hook

Fixing tests/snappi/pfcwd/files/pfcwd_basic_helper.py

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/snappi/pfcwd/files/pfcwd_basic_helper.py:6:1: F401 'tests.common.fixtures.conn_graph_facts.conn_graph_facts' imported but unused
tests/snappi/pfcwd/files/pfcwd_basic_helper.py:6:1: F401 'tests.common.fixtures.conn_graph_facts.fanout_graph_facts' imported but unused
tests/snappi/pfcwd/files/pfcwd_basic_helper.py:26:1: E302 expected 2 blank lines, found 1
tests/snappi/pfcwd/files/pfcwd_basic_helper.py:90:32: E225 missing whitespace around operator
tests/snappi/pfcwd/files/pfcwd_basic_helper.py:364:23: E122 continuation line missing indentation or outdented

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>

@baiwei0427
Copy link
Copy Markdown
Contributor

Can you please also update https://github.com/sonic-net/sonic-mgmt/blob/master/docs/testplan/pfcwd/PFCWD_BASIC.md in another PR?

@yxieca yxieca merged commit 0024eab into sonic-net:master Feb 24, 2023
wangxin pushed a commit that referenced this pull request Feb 27, 2023
Description of PR
Summary: During the pfc watch dog (pfcwd) basic tests, pfc watch dog was being triggered by fake alerts i.e. when it was not supposed to be triggered. This was causing unnecessary test failures. To curb this issue, warm-up data traffic is initially sent before any other traffic (pfc pause storm and data traffic) to prevent pfcwd fake alerts caused by non-incremented packet counters during the pfcwd polling interval.

Approach
What is the motivation for this PR?
Existing issue with certain switches where PFC watch dog was being triggered by fake alerts.

How did you do it?
Added warm-up data traffic before any other traffic (pfc pause storm and data traffic) to prevent pfcwd fake alerts caused by non-incremented packet counters during the pfcwd polling interval.

How did you verify/test it?
All pfcwd basic tests pass
wangxin pushed a commit that referenced this pull request Feb 27, 2023
Description of PR
Summary: During the pfc watch dog (pfcwd) basic tests, pfc watch dog was being triggered by fake alerts i.e. when it was not supposed to be triggered. This was causing unnecessary test failures. To curb this issue, warm-up data traffic is initially sent before any other traffic (pfc pause storm and data traffic) to prevent pfcwd fake alerts caused by non-incremented packet counters during the pfcwd polling interval.

Approach
What is the motivation for this PR?
Existing issue with certain switches where PFC watch dog was being triggered by fake alerts.

How did you do it?
Added warm-up data traffic before any other traffic (pfc pause storm and data traffic) to prevent pfcwd fake alerts caused by non-incremented packet counters during the pfcwd polling interval.

How did you verify/test it?
All pfcwd basic tests pass
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