[action] [PR:26742] [DMA] add UMA and LMA min topo - #1346
Merged
Conversation
This pull request introduces two new management network topologies—UMA and LMA—by adding their variable files and corresponding Jinja2 templates for both core and leaf devices. The templates support both converged (multi-VRF) and non-converged topologies, and implement detailed device and interface configuration logic, including BGP, interface, and management settings.
The most important changes are:
**New Topology Variable Files:**
* Added `topo_uma.yml` and `topo_lma.yml` with detailed definitions for VMs, DUT loopbacks, configuration properties, and per-device interface and BGP settings. These files describe the network layout and parameters for the UMA and LMA topologies. [[1]](diffhunk://#diff-6c62217aa4f542511305184bcb15edff194ad36c6ca10004dd26499681086d94R1-R188) [[2]](diffhunk://#diff-59d77ba3a090eac1424251402f846ff5a9613353f913e5dc6cc00020776663b3R1-R193)
**Jinja2 Templates for Device Configuration:**
* Added `lma-core.j2`, `lma-leaf.j2`, `uma-core.j2`, and `uma-leaf.j2` templates. These templates generate EOS device configurations for core and leaf roles, handling both standard and converged (multi-VRF) topologies. [[1]](diffhunk://#diff-c56d28e02d004dab9f9b9143c107d620df6dc9f23ff6a3da911320cd182e7f54R1-R173) [[2]](diffhunk://#diff-f344f679ecf3f9b89bdb19fe180c632905765b1224f0ce5f370d5c9fb2251500R1-R160)
**Support for Converged Topologies:**
* All templates check for multi-VRF (converged) topologies and include a shared converged configuration (`ceos_converged.j2`) when appropriate, ensuring flexibility and reusability. [[1]](diffhunk://#diff-c56d28e02d004dab9f9b9143c107d620df6dc9f23ff6a3da911320cd182e7f54R1-R173) [[2]](diffhunk://#diff-f344f679ecf3f9b89bdb19fe180c632905765b1224f0ce5f370d5c9fb2251500R1-R160)
**Device and Interface Configuration Logic:**
* The templates implement logic for management VRF, interface addressing, BGP configuration (including confederations and peerings), MACsec support, and interface attributes such as MTU and LACP. [[1]](diffhunk://#diff-c56d28e02d004dab9f9b9143c107d620df6dc9f23ff6a3da911320cd182e7f54R1-R173) [[2]](diffhunk://#diff-f344f679ecf3f9b89bdb19fe180c632905765b1224f0ce5f370d5c9fb2251500R1-R160)
**BGP Neighbor Handling Enhancements:**
* In leaf templates, BGP neighbors are configured with `allowas-in` and other peer-specific settings to support advanced routing scenarios.
These changes collectively enable automated, flexible generation of EOS configurations for new UMA and LMA management network topologies.
Please provide following information to help code review process a bit easier:
-->
### Description of PR
<!--
- Please include a summary of the change and which issue is fixed.
- Please also include relevant motivation and context. Where should reviewer start? background context?
- List any dependencies that are required for this change.
-->
Summary:
Fixes # (issue)
<!--
If you request a backport/cherry-pick below, link the GitHub issue or ADO work
item here (for example, "Fixes #<issue>" or "ADO: <work item URL>").
-->
### Type of change
<!--
- Fill x for your type of change.
- e.g.
- [x] Bug fix
-->
- [ ] Bug fix
- [ ] Testbed and Framework(new/improvement)
- [ ] New Test case
- [ ] Skipped for non-supported platforms
- [ ] Test case improvement
### Back port request
<!--
Only check a release or feature branch when the PR links a GitHub issue or ADO
work item above. The linked tracker should explain the failure in detail,
including whether it is a day-one issue or a regression, the affected
branch/image/platform/test, and why this branch needs the fix. Backport or
cherry-pick requests without a linked issue/work item may not be favored.
If you request a backport/cherry-pick, provide both:
1. A GitHub issue or Microsoft ADO work item tracking the change.
2. Test evidence from the target branch(es) requested below.
-->
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505
- [ ] 202511
- [ ] 202512
- [ ] 202605
Tracking issue/work item for backport/cherry-pick request (GitHub issue or Microsoft ADO):
Failure type: <!-- day-one issue / regression / other -->
### Tested branch
<!--
Select each branch where the change was tested. If you request a
backport/cherry-pick, select the base branch and the tested target release
branch(es).
-->
- [ ] master
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505
- [ ] 202511
- [ ] 202512
- [ ] 202605
- [ ] N/A
### Test result
<!--
Provide the tested image version and test evidence for each selected branch.
For example:
- master: 20260716.01 - <test result or link>
- 202605: 20260531.42 - <test result or link>
-->
### Approach
#### What is the motivation for this PR?
#### How did you do it?
#### How did you verify/test it?
<!--
Summarize the overall validation here. For a backport/cherry-pick request,
provide branch-specific image versions and evidence in the Test result section.
-->
#### Any platform specific information?
#### Supported testbed topology if it's a new test case?
### Documentation
<!--
(If it's a new feature, new test case)
Did you update documentation/Wiki relevant to your implementation?
Link to the wiki page?
-->
Signed-off-by: Sonic Build Admin <sonicbld@microsoft.com>
mssonicbld
requested review from
Sai Kiran (opcoder0) and
Ying Xie (yxieca)
as code owners
August 5, 2026 23:49
Collaborator
Author
|
Original PR: sonic-net/sonic-mgmt#26742 |
Collaborator
Author
|
/azp run |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Azure Pipelines: 1 pipeline(s) were filtered out due to trigger conditions. |
21 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces two new management network topologies—UMA and LMA—by adding their variable files and corresponding Jinja2 templates for both core and leaf devices. The templates support both converged (multi-VRF) and non-converged topologies, and implement detailed device and interface configuration logic, including BGP, interface, and management settings.
The most important changes are:
New Topology Variable Files:
topo_uma.ymlandtopo_lma.ymlwith detailed definitions for VMs, DUT loopbacks, configuration properties, and per-device interface and BGP settings. These files describe the network layout and parameters for the UMA and LMA topologies. [1] [2]Jinja2 Templates for Device Configuration:
lma-core.j2,lma-leaf.j2,uma-core.j2, anduma-leaf.j2templates. These templates generate EOS device configurations for core and leaf roles, handling both standard and converged (multi-VRF) topologies. [1] [2]Support for Converged Topologies:
ceos_converged.j2) when appropriate, ensuring flexibility and reusability. [1] [2]Device and Interface Configuration Logic:
BGP Neighbor Handling Enhancements:
allowas-inand other peer-specific settings to support advanced routing scenarios.These changes collectively enable automated, flexible generation of EOS configurations for new UMA and LMA management network topologies.
Please provide following information to help code review process a bit easier:
-->
Description of PR
Summary:
Fixes # (issue)
Type of change
Back port request
Tracking issue/work item for backport/cherry-pick request (GitHub issue or Microsoft ADO):
Failure type:
Tested branch
Test result
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
Signed-off-by: Sonic Build Admin sonicbld@microsoft.com