-
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
Refactor(eos_cli_config_gen): Add support for MPLS RSVP #4634
base: devel
Are you sure you want to change the base?
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-4634
# Activate the virtual environment
source test-avd-pr-4634/bin/activate
# Install all requirements including PyAVD
pip install "pyavd[ansible] @ git+https://github.com/Vibhu-gslab/avd.git@rsvp#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/Vibhu-gslab/avd.git#/ansible_collections/arista/avd/,rsvp --force
# Optional: Install AVD examples
cd test-avd-pr-4634
ansible-playbook arista.avd.install_examples |
ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/mpls.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/mpls-rsvp.j2
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/mpls-rsvp.j2
Outdated
Show resolved
Hide resolved
f2f78ad
to
30f3528
Compare
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/mpls-rsvp.j2
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/mpls-rsvp.j2
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
...ions/arista/avd/molecule/eos_cli_config_gen/documentation/devices/port-channel-interfaces.md
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg
Outdated
Show resolved
Hide resolved
f8cd654
to
823ed44
Compare
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/mpls-rsvp.j2
Outdated
Show resolved
Hide resolved
6964549
to
eb9f8df
Compare
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/mpls.yml
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/mpls.yml
Show resolved
Hide resolved
ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host2/mpls-2.yml
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
Conflicts have been resolved. A maintainer will review the pull request shortly. |
python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/mpls.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/mpls-rsvp.j2
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/mpls-rsvp.j2
Show resolved
Hide resolved
python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/mpls.j2
Outdated
Show resolved
Hide resolved
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. |
Fast-reroute bypass configuration. | ||
Interval between each re-optimization attempt. |
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.
Fast-reroute bypass configuration. | |
Interval between each re-optimization attempt. | |
Interval between each re-optimization attempt in seconds. |
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.
Fixed!
enabled: | ||
type: bool | ||
required: true | ||
grace_period_recovery: |
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.
can we add timer key and under that add the key recovery and restart. As per EOS
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.
also add the description for recovery and restart
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.
Fixed!
- str | ||
min: 1 | ||
max: 320 | ||
role_speaker: |
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.
same as above comment
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.
Fixed!
type: dict | ||
keys: | ||
interval: | ||
description: Time between hello messages. |
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.
description: Time between hello messages. | |
description: Time between hello messages in seconds. |
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.
Fixed!
enabled: | ||
type: bool | ||
timer_recovery: | ||
description: Time stale states will be preserved after restart. |
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.
add the time unit as seconds on description
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.
Fixed!
- str | ||
min: 1 | ||
max: 320 | ||
p2mp_enabled: |
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.
!
p2mp
disabled
p2mp_enabled will just render then p2mp
command. Not sure that we should render the disabled
command under p2mp or not.
cc: @ClausHolbechArista @gmuloc
{% set with_neighbor_ipv4_address = mpls.rsvp.neighbors | selectattr('ip_address', 'arista.avd.defined') | arista.avd.natural_sort('ip_address') %} | ||
{% set with_neighbor_ipv6_address = mpls.rsvp.neighbors | selectattr('ipv6_address', 'arista.avd.defined') | arista.avd.natural_sort('ipv6_address') %} | ||
{% set sorted_ip_addresses = with_neighbor_ipv4_address | list + with_neighbor_ipv6_address | list %} | ||
{% for neighbor in sorted_ip_addresses %} |
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.
{% for neighbor in sorted_ip_addresses %} | |
{% for neighbor in sorted_ip_addresses | arista.avd.default([]) %} |
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.
Fixed!
disabled | ||
{% endif %} | ||
{% if mpls.rsvp.shutdown is arista.avd.defined(true) %} | ||
shutdown |
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 think shutdown is default one, we should have no shutdown also.
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.
added no shutdown
for false
condition
Quality Gate passedIssues Measures |
Change Summary
Add support for MPLS RSVP
Related Issue(s)
Fixes #https://github.com/aristanetworks/avd-internal/issues/149
Component(s) name
arista.avd.eos_cli_config_gen
Proposed changes
Adding MPLS RSVP support in eos_cli_config_gen
Checklist
Repository Checklist