sonic-mgmt
sonic-mgmt copied to clipboard
[ansible][minigraph] add support for adding autonegotiation in minigraph templates and fanout EOS
Description of PR
These changes add a support for adding auto negotiation to specific testbed based on variables defined in ansible
Two things are required for autoneg support
- autoneg_enabled : True must be enabled in inventory files
- to topo file must have a port list for autoneg Example: intfs : [1, 2, 3, 4, 5, 6, 7, 8]
With these changes the PR includes changes to pick the port numbering from topo file and apply minigraph parsing changes such that during deploy-mg or gen-mg the required ports have autoneg and deployment is clean with link up
Summary: Fixes # (issue)
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?
How did you do it?
How did you verify/test it?
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation
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...............................................................Passed
check for added large files..............................................Passed
check python ast.........................................................Passed
flake8...................................................................Failed
- hook id: flake8
- exit code: 1
ansible/TestbedProcessing.py:334:21: F841 local variable 'AutoNeg' is assigned to but never used
flake8...............................................(no files to check)Skipped
check conditional mark sort..............................................Passed
To run the pre-commit checks locally, you can follow below steps:
- 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.
- Ensure that the
pre-commitpackage is installed:
sudo pip install pre-commit
- Go to repository root folder
- Install the pre-commit hooks:
pre-commit install
- Use pre-commit to check staged file:
pre-commit
- Alternatively, you can check committed files using:
pre-commit run --from-ref <commit_id> --to-ref <commit_id>
@vdahiya12 PR conflicts with 202305 branch
Cherry-pick PR to 202405: https://github.com/sonic-net/sonic-mgmt/pull/15172
@vdahiya12 PR conflicts with 202311 branch