Skip to content
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): Add WAN interface configuration under l3_edge.l3_interfaces #3440

Merged
merged 35 commits into from Jan 5, 2024

Conversation

gmuloc
Copy link
Contributor

@gmuloc gmuloc commented Dec 15, 2023

Change Summary

  • Add support for wan interfaces keys
  • Add documentation

Component(s) name

arista.avd.eos_designs

Proposed changes

  • Add the following keys for the l3_edge.l3_interfaces:
  l3_interfaces:

      # PREVIEW: This key is currently not supported

      # The WAN path-group this interface is connected to.
      wan_path_group: <str>

      # PREVIEW: This key is currently not supported

      # The WAN Carrier this interface is connected to.
      # This is not rendered in the configuration but used for WAN designs.
      wan_carrier: <str>

      # PREVIEW: This key is currently not supported

      # The WAN Circuit ID for this interface.
      # This is not rendered in the configuration but used for WAN designs.
      wan_circuit_id: <str>

      # PREVIEW: This key is currently not supported

      # For a WAN interface (`wan_path_group` is set), allow to disable the static tunnel towards Pathfinders.
      # Default True.
      connected_to_pathfinder: <bool>
  • Add logic to generate the path-groups, stun profiles, and bgp related config

How to test

molecule test

Checklist

User Checklist

  • Build path-groups
  • Build Stun
  • Support connected_to_pathfinder key

Future work

  • Add a key under wan interfaces to specify a public IP when the IP is DHCP - needed for WAN route servers (supported today via the wan_route_servers.path_groups.interfaces.ip_address)
  • Add auto path-group ID generation (today required to set it via input)
  • Handle ipsec / ip_local under dynamic peers in path-groups
  • Ability to add static routes for a WAN interface (different from the default route)
  • Implement support for "import path_group" statements once it is available in CLI
  • Move interfaces under nodes
  • Revisit stun.client.server_profiles names

Repository Checklist

  • My code has been rebased from devel before I start
  • I have read the CONTRIBUTING document.
  • My change requires a change to the documentation and documentation have been updated accordingly.
  • I have updated molecule CI testing accordingly. (check the box if not applicable)

@github-actions github-actions bot added role: eos_cli_config_gen issue related to eos_cli_config_gen role state: CI Updated CI scenario have been updated in the PR state: Documentation role Updated role: eos_designs issue related to eos_designs role labels Dec 15, 2023
@github-actions github-actions bot added the state: conflict PR with conflict label Dec 19, 2023
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link

Conflicts have been resolved. A maintainer will review the pull request shortly.

@github-actions github-actions bot removed the role: eos_cli_config_gen issue related to eos_cli_config_gen role label Dec 19, 2023
* Remove BGP neighborship if no common path-group
* Remove router path-selection local_interface stun profile if
  cv_pathfinder_connected_to_pathfinder is False on the interface
* Prevent stun profile value generation
@gmuloc gmuloc marked this pull request as ready for review December 19, 2023 16:40
@gmuloc gmuloc requested review from a team as code owners December 19, 2023 16:40
@ClausHolbechArista ClausHolbechArista merged commit 1045709 into aristanetworks:devel Jan 5, 2024
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants