sonic-mgmt icon indicating copy to clipboard operation
sonic-mgmt copied to clipboard

[ansible][minigraph] add support for adding autonegotiation in minigraph templates and fanout EOS

Open vdahiya12 opened this issue 1 year ago • 1 comments

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

  1. autoneg_enabled : True must be enabled in inventory files
  2. 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

vdahiya12 avatar Aug 05 '24 23:08 vdahiya12

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:

  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>

mssonicbld avatar Sep 03 '24 21:09 mssonicbld

@vdahiya12 PR conflicts with 202305 branch

mssonicbld avatar Oct 25 '24 07:10 mssonicbld

Cherry-pick PR to 202405: https://github.com/sonic-net/sonic-mgmt/pull/15172

mssonicbld avatar Oct 25 '24 07:10 mssonicbld

@vdahiya12 PR conflicts with 202311 branch

mssonicbld avatar Oct 25 '24 07:10 mssonicbld