-
Notifications
You must be signed in to change notification settings - Fork 212
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,eos_cli_config_gen): Recirculation Channel Interface #4554
base: devel
Are you sure you want to change the base?
Feat(eos_designs,eos_cli_config_gen): Recirculation Channel Interface #4554
Conversation
Review docs on Read the Docs To test this pull request: # Create virtual environment for this testing below the current directory
python -m venv test-avd-pr-4554
# Activate the virtual environment
source test-avd-pr-4554/bin/activate
# Install all requirements including PyAVD
pip install "pyavd[ansible] @ git+https://github.com/nathanmusser/avd.git@issue4495_recirc_channel#subdirectory=python-avd" --force
# Point Ansible collections path to the Python virtual environment
export ANSIBLE_COLLECTIONS_PATH=$VIRTUAL_ENV/ansible_collections
# Install Ansible collection
ansible-galaxy collection install git+https://github.com/nathanmusser/avd.git#/ansible_collections/arista/avd/,issue4495_recirc_channel --force
# Optional: Install AVD examples
cd test-avd-pr-4554
ansible-playbook arista.avd.install_examples |
When adding an interface to the recirculation channel you use the syntax
I'm suggesting we add a new key
I've already added the recirculation_channel interface. I generally referenced the format of other interface types (port-channel, dps, etc..) when structuring the data model. But one thing I don't love is that we're keying off a user supplied interface "name" but there's no validation that the user is supplying a valid name for a recirculation interface. But none of the other interface types seem to validate this either. As an example a user could create a tunnel interface using the name "Recirc1" and eos_cli_config_gen would allow it but it would have options under it that would not be accepted on the switch. I've seen the I still wouldn't really like the |
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.
First round of review
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/recirculation_interfaces.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/recirculation_interfaces.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/recirculation-interfaces.j2
Outdated
Show resolved
Hide resolved
Co-authored-by: Mahesh Kumar <[email protected]>
for more information, see https://pre-commit.ci
When implementing the
My current plan was to implement the schema as:
To allow for the potential of the rest of the CLI structure being fleshed out later if needed. |
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. |
Quality Gate passedIssues Measures |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Change Summary
Add support for recirculation channel interfaces for cpu-mirroring and adding a front panel interface to the recirculation.
Related Issue(s)
Fixes #4495
Component(s) name
arista.avd.eos_designs
arista.avd.cli_config_gen
Proposed changes
Add
recirculation_interfaces
model toeos_cli_config_gen
to generate the recirculation interface. Add thetraffic-loopback source system device mac
toethernet_interfaces
model. Add the ability to put an ethernet interface into a recirculation channel group. Potentially expose all this in the platform settings so it can be configured per platform with an easy toggle.How to test
TBD
Checklist
User Checklist
Repository Checklist