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

Use config_reload when recovering from internal interfaces that are in down state #6076

Merged
merged 1 commit into from
Oct 27, 2022

Conversation

sanmalho-git
Copy link
Contributor

If internal interfaces on a linecard are down as part of sanity_check, then to recover
we should just do 'config reload' as there are no peers for this that can be bounced.

Description of PR

Summary:
Fixes # (issue)

Type of change

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

Back port request

  • 201911
  • 202012

Approach

What is the motivation for this PR?

If internal ports (inband, Recycle, or Internal) on a multi-asic box are down, then we should do a 'config reload' as part of recovery in sanity check. There are no external peers for these ports that can be bounced to bring this ports up

How did you do it?

When iterating through down interfaces, if they have '-IB', or '-Rec' or '-Int' then set the recovery method as config_reload

How did you verify/test it?

Tested against a multi-asic linecard in a T2 chassis

Any platform specific information?

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

Documentation

…n down state

If internal interfaces on a linecard are down as part of sanity_check, then to recover
we should just do 'config reload' as there are no peers for this that can be bounced.
@tjchadaga
Copy link
Contributor

/easycla

@tjchadaga
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines
Copy link

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.................................................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/common/plugins/sanity_check/recover.py:58:11: E221 multiple spaces before operator
tests/common/plugins/sanity_check/recover.py:59:17: E201 whitespace after '['
tests/common/plugins/sanity_check/recover.py:59:52: E202 whitespace before ']'
tests/common/plugins/sanity_check/recover.py:131:43: E201 whitespace after '['
tests/common/plugins/sanity_check/recover.py:131:72: E202 whitespace before ']'
tests/common/plugins/sanity_check/recover.py:141:121: E501 line too long (129 > 120 characters)
tests/common/plugins/sanity_check/recover.py:146:15: E221 multiple spaces before operator
tests/common/plugins/sanity_check/recover.py:158:11: E221 multiple spaces before operator

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>

@tjchadaga tjchadaga self-assigned this Oct 27, 2022
@tjchadaga tjchadaga merged commit 9861108 into sonic-net:master Oct 27, 2022
wangxin pushed a commit that referenced this pull request Oct 31, 2022
…n down state (#6076)

If internal interfaces on a linecard are down as part of sanity_check, then to recover
we should just do 'config reload' as there are no peers for this that can be bounced.
lolyu pushed a commit to lolyu/sonic-mgmt that referenced this pull request Dec 19, 2022
…Azure/sonic-mgmt into internal

Fix merge conflicts.
Commit history:

- Modified args for some of the calls (sonic-net#6605)
- Run telemetry tests on all DUT types in a multi-dut setup (sonic-net#6098)
- [dualtor]: Fix loopback route removal (sonic-net#6555)
- Added support for one portChannel and one routed interface if two por… (sonic-net#5331)
- Use config_reload when recovering from internal interfaces that are in down state (sonic-net#6076)
- Added python fixture for resetting config changes to fix nightly backend snmp test failures (sonic-net#6607)
- Fix Python3 RuntimeError - dictionary changed size during iteration (sonic-net#6646)
- [mx] Add docs for mx topo (sonic-net#6634)
- [topo_mx] Add new topo for BMC Mgmt ToR Router (sonic-net#6636)
- [mx] Enhance announce routes to support MX topo (sonic-net#6635)
- Merge branch 'azure-master' into dev/yaqiangzhu/internal_merge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants