-
Notifications
You must be signed in to change notification settings - Fork 219
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(avd_to_containerlab): Add role to generate containerlab topology #1104
Conversation
Initial support of containerlab to build l3ls-evpn topology from EOS-DESIGNS. Require: avd in version 3.x & PR#1000
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. |
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. |
ansible_collections/arista/avd/roles/eos_designs_to_containerlab/README.md
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs_to_containerlab/README.md
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs_to_containerlab/defaults/main.yml
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs_to_containerlab/meta/main.yml
Outdated
Show resolved
Hide resolved
topology: | ||
nodes: | ||
{% for node_type in node_types | arista.avd.natural_sort %} | ||
{# --------------------- NODE GROUPS LIST --------------------- #} |
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.
This approach will only work if the target for the play knows about all nodes. Since this role should run after
eos_designs
, I would prefer if we could read some of the generated data, instead of having to maintain the datamodel here as well.
I believe most of it should be in the structured_config including peer-switch information.
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.
Considering this role will be only for CI, local testing, it would be part of a specific playbook meaning the previous playbook will have to save debug files to make facts available in another play or playbook.
So user experience would be more complex than reading eos_designs inputs.
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 meant reading structured_configuration instead. So we can change eos_designs freely without affecting this one.
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.
Using structured_config
files will create constraint when eos_cli_config_gen
is similar to the current relationship with eos_designs
and will also make rendering more complex:
- Run task for one host.
- Load
structured_config
for all hosts with a per-host approach to saving data. - Read
structured_config
to generate file.
Where the current implementation just reads existing inventory variables.
Note: this PR is only for the eos_designs approach
Change Summary
Initial support of containerlab to build l3ls-evpn topology from
EOS-DESIGNS.
Require: avd in version 3.x & PR #1000
Types of changes
Component(s) name
arista.avd.eos_designs_to_containerlab
How to test
Checklist:
pre-commit
,make linting
andmake sanity-lint
).