-
Notifications
You must be signed in to change notification settings - Fork 235
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_designs): Remove dependency on overlay_routing_protocol and evpn_role for WAN routers #4865
base: devel
Are you sure you want to change the base?
Refactor(eos_designs): Remove dependency on overlay_routing_protocol and evpn_role for WAN routers #4865
Conversation
…and evpn_role for WAN routers
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-4865
# Activate the virtual environment
source test-avd-pr-4865/bin/activate
# Install all requirements including PyAVD
pip install "pyavd[ansible] @ git+https://github.com/gmuloc/avd.git@relax-wan-default-requirements#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/gmuloc/avd.git#/ansible_collections/arista/avd/,relax-wan-default-requirements --force
# Optional: Install AVD examples
cd test-avd-pr-4865
ansible-playbook arista.avd.install_examples |
python-avd/pyavd/_eos_designs/structured_config/overlay/route_maps.py
Outdated
Show resolved
Hide resolved
for more information, see https://pre-commit.ci
...avd/pyavd/_eos_designs/schema/schema_fragments/wan_use_evpn_node_settings_for_lan.schema.yml
Outdated
Show resolved
Hide resolved
...avd/pyavd/_eos_designs/schema/schema_fragments/wan_use_evpn_node_settings_for_lan.schema.yml
Outdated
Show resolved
Hide resolved
...avd/pyavd/_eos_designs/schema/schema_fragments/wan_use_evpn_node_settings_for_lan.schema.yml
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_designs/structured_config/overlay/router_bgp.py
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_designs/structured_config/overlay/router_bgp.py
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_designs/structured_config/metadata/cv_pathfinder.py
Outdated
Show resolved
Hide resolved
python-avd/pyavd/_eos_designs/structured_config/overlay/router_bgp.py
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. |
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. |
...lecule/eos_designs_unit_tests/inventory/host_vars/cv-pathfinder-edge-wan-use-evpn-on-lan.yml
Show resolved
Hide resolved
...avd/pyavd/_eos_designs/schema/schema_fragments/wan_use_evpn_node_settings_for_lan.schema.yml
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs/docs/how-to/wan.md
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs/docs/how-to/wan.md
Outdated
Show resolved
Hide resolved
…evpn_node_settings_for_lan.schema.yml Co-authored-by: Claus Holbech <[email protected]>
...ions/arista/avd/molecule/eos_designs_unit_tests/inventory/group_vars/CV_PATHFINDER_TESTS.yml
Outdated
Show resolved
Hide resolved
.../molecule/eos_designs_unit_tests/intended/configs/cv-pathfinder-edge-wan-use-evpn-on-lan.cfg
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs/docs/how-to/wan.md
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_designs/docs/how-to/wan.md
Outdated
Show resolved
Hide resolved
for more information, see https://pre-commit.ci
@@ -37,7 +37,9 @@ def route_maps(self: AvdStructuredConfigOverlayProtocol) -> None: | |||
route_maps_item.sequence_numbers.append_new(sequence=20, type="permit") | |||
self.structured_config.route_maps.append(route_maps_item) | |||
|
|||
elif self.shared_utils.overlay_routing_protocol == "ibgp" and self.shared_utils.overlay_vtep and self.shared_utils.evpn_role != "server": | |||
elif ( |
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.
elif ( | |
if ( |
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 is less efficient as it means we need to look at both and they are mutually exclusive.
Is there a reason for your suggestion?
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.
with evpn gateway feature, a router can have overlay as ebgp and but be a wan_client.
As such we will have to emit both ibgp(wan_client) and ebgp sections of config .
|
Change Summary
This is a stepping stone PR to introduce EVPN GW between DPS and VXLAN in PR #4831
Since the intro of the WAN routers, the overlay_routing_protocol HAD to be
ibgp
and theevpn_role
HAD to be the same as thewan_role
. Making both keys being essentially ignored.This PR decorelates and "relax" the requirements.
It introduces a new boolean that continue to ignore the keys and it is enabled by default in order to prevent extra configuration to be generated. the knob is added as PREVIEW
Component(s) name
arista.avd.eos_designs
Proposed changes
How to test
Checklist
User Checklit
Repository Checklist