-
Notifications
You must be signed in to change notification settings - Fork 233
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
Feat(eos_designs): Automatic assignment of Node IDs using pool manager #3162
base: devel
Are you sure you want to change the base?
Conversation
7a72aae
to
9dcac91
Compare
...ble_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/intended/data/test-ids.yml
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs/python_modules/pool_manager/avdpoolmanager.py
Outdated
Show resolved
Hide resolved
...ollections/arista/avd/roles/eos_designs/schemas/schema_fragments/fabric_numbering.schema.yml
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will want to do some more testing but the logic looks good to me.
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
...ble_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/intended/data/test-ids.yml
Outdated
Show resolved
Hide resolved
Converting back to draft - after discussions with @ClausHolbechArista we agreed to put a restriction allowing either ID pool manager or statically defined IDs but not both. AVD should raise an error if the ID pool manager is enabled and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
- Reviewed documentation.
- Tested setting id on node and enabling pool manager, and id set on the node is considered and updates pool manager.
- Update fabric-ids.yml manually to get desired id.
- Manually set duplicate ids in fabric-ids.yml - resulted in structure config error.
- Update dc_name after initial generation to update ids.
- Tested on large multi-planar fabric with 700+ devices and no noticeable impact on performance.
- Tested custom file path by setting
pools_file
.
Let me know if you would like more tests to be performed.
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
05cc94f
to
188035e
Compare
Conflicts have been resolved. A maintainer will review the pull request shortly. |
Quality Gate passedIssues Measures |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
change keys to dicts |
Results from large multi-planar fabric test (1107 nodes) ---
1. Base - No pool manager enabled
TASKS RECAP **************************************************************************************************************************************
Monday 20 January 2025 16:54:50 -0500 (0:02:18.457) 0:10:45.970 ********
===============================================================================
arista.avd.eos_designs : Generate device configuration in structured format ------------------------------------------------------------- 484.88s
arista.avd.eos_cli_config_gen : Generate eos intended configuration and device documentation -------------------------------------------- 138.46s
arista.avd.eos_designs : Set eos_designs facts ------------------------------------------------------------------------------------------- 12.02s
arista.avd.eos_designs : Generate fabric documentation ------------------------------------------------------------------------------------ 5.61s
arista.avd.eos_designs : Remove avd_switch_facts ------------------------------------------------------------------------------------------ 3.63s
arista.avd.eos_designs : Create required output directories if not present ---------------------------------------------------------------- 0.78s
arista.avd.eos_designs : Verify Requirements ---------------------------------------------------------------------------------------------- 0.42s
arista.avd.eos_cli_config_gen : Verify Requirements --------------------------------------------------------------------------------------- 0.09s
PLAYBOOK RECAP ***********************************************************************************************************************************
Playbook run took 0 days, 0 hours, 10 minutes, 45 seconds
2. Pool manager enabled 1st run (data/Fabric-ids.yml not present)
TASKS RECAP *****************************************************************************************************************************************************************************************************************************************************************************************************************************
Monday 20 January 2025 20:50:37 -0500 (0:01:09.331) 0:10:34.089 ********
===============================================================================
arista.avd.eos_designs : Generate device configuration in structured format ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 540.48s
arista.avd.eos_cli_config_gen : Generate eos intended configuration and device documentation ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 69.33s
arista.avd.eos_designs : Set eos_designs facts ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 12.75s
arista.avd.eos_designs : Generate fabric documentation --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 5.92s
arista.avd.eos_designs : Remove avd_switch_facts --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 4.19s
arista.avd.eos_designs : Create required output directories if not present ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0.80s
arista.avd.eos_designs : Verify Requirements ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0.43s
arista.avd.eos_cli_config_gen : Verify Requirements ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 0.11s
PLAYBOOK RECAP **************************************************************************************************************************************************************************************************************************************************************************************************************************
Playbook run took 0 days, 0 hours, 10 minutes, 34 seconds
3. Pool manager enabled 2nd run (data/Fabric-ids.yml present)
TASKS RECAP *****************************************************************************************************************************************************************************************************************************************************************************************************************************
Monday 20 January 2025 21:02:50 -0500 (0:01:10.851) 0:10:04.389 ********
===============================================================================
arista.avd.eos_designs : Generate device configuration in structured format ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 508.85s
arista.avd.eos_cli_config_gen : Generate eos intended configuration and device documentation ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 70.85s
arista.avd.eos_designs : Set eos_designs facts ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 12.44s
arista.avd.eos_designs : Generate fabric documentation --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 6.54s
arista.avd.eos_designs : Remove avd_switch_facts --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 4.24s
arista.avd.eos_designs : Create required output directories if not present ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0.84s
arista.avd.eos_designs : Verify Requirements ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0.43s
arista.avd.eos_cli_config_gen : Verify Requirements ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 0.11s
PLAYBOOK RECAP **************************************************************************************************************************************************************************************************************************************************************************************************************************
Playbook run took 0 days, 0 hours, 10 minutes, 4 seconds |
@@ -130,6 +130,61 @@ roles/eos_designs/docs/tables/fabric-topology.md | |||
roles/eos_designs/docs/tables/fabric-ip-addressing.md | |||
--8<-- | |||
|
|||
## PREVIEW - Fabric Numbering |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree to include "PREVIEW" in the title, but we are inconsistent, i.e. "Zscaler Internet Exit". I think we should update Zscaler title, which can be done in another PR.
ansible_collections/arista/avd/roles/eos_designs/docs/input-variables.md
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs/docs/input-variables.md
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
b5ae988
to
e6baa64
Compare
…riables.md Co-authored-by: Carl Buchmann <[email protected]>
…riables.md Co-authored-by: Carl Buchmann <[email protected]>
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Change Summary
Auto assignment of Node IDs using pool manager
Component(s) name
arista.avd.eos_designs
Proposed changes
How to test
Added molecule coverage. Also needs manual testing by the reviewer.
Checklist
User Checklist
Repository Checklist