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

Refactor(eos_cli_config_gen, eos_designs): Improve BGP VRF Address Families Model #2808

Merged
merged 10 commits into from May 19, 2023

Conversation

emilarista
Copy link
Contributor

Change Summary

  • Adds new and better data model for address family configuration under router bgp vrfs.
    • ipv4
    • ipv4 multicast
    • ipv6
    • ipv6 multicast
    • flow-spec ipv4
    • flow-spec ipv6
  • Refactor eos_designs to use the new model.
  • Adds deprecation warnings for the old data model.
  • Update molecule scenarios.

Related Issue(s)

Fixes #1323

Component(s) name

arista.avd.eos_cli_config_gen
arista.avd.eos_designs

Proposed changes

    router_bgp:
      vrfs:
        - name: <str>
          ...
          address_family_ipv4:
            bgp:
              missing_policy:
                direction_in_action: <str>
                direction_out_action: <str>
              additional_paths:
                install: <bool>
                install_ecmp_primary: <bool>
                receive: <bool>
                send:
                  any: <bool>
                  backup: <bool>
                  ecmp: <bool>
                  ecmp_limit: <int>
                  limit: <int>
            neighbors:
              - ip_address: <str>
                activate: <bool>
                route_map_in: <str>
                route_map_out: <str>
            peer_groups:
              - name: <str>
                activate: <bool>
                next_hop:
                  address_family_ipv6:
                    enabled: <bool>
                    originate: <bool>
            networks:
              - prefix: <str>
                route_map: <str>
          address_family_ipv6:
            bgp:
              missing_policy:
                direction_in_action: <str>
                direction_out_action: <str>
              additional_paths:
                install: <bool>
                install_ecmp_primary: <bool>
                receive: <bool>
                send:
                  any: <bool>
                  backup: <bool>
                  ecmp: <bool>
                  ecmp_limit: <int>
                  limit: <int>
            neighbors:
              - ip_address: <str>
                activate: <bool>
                route_map_in: <str>
                route_map_out: <str>
            peer_groups:
              - name: <str>
                activate: <bool>
            networks:
              - prefix: <str>
                route_map: <str>
          address_family_ipv4_multicast:
            bgp:
              missing_policy:
                direction_in_action: <str>
                direction_out_action: <str>
              additional_paths:
                receive: <bool>
            neighbors:
              - ip_address: <str>
                activate: <bool>
                route_map_in: <str>
                route_map_out: <str>
            peer_groups:
              - name: <str>
                activate: <bool>
            networks:
              - prefix: <str>
                route_map: <str>
          address_family_ipv6_multicast:
            bgp:
              missing_policy:
                direction_in_action: <str>
                direction_out_action: <str>
              additional_paths:
                receive: <bool>
            neighbors:
              - ip_address: <str>
                activate: <bool>
                route_map_in: <str>
                route_map_out: <str>
            peer_groups:
              - name: <str>
                activate: <bool>
            networks:
              - prefix: <str>
                route_map: <str>
          address_family_flow_spec_ipv4:
            bgp:
              missing_policy:
                direction_in_action: <str>
                direction_out_action: <str>
            neighbors:
              - ip_address: <str>
                activate: <bool>
          address_family_flow_spec_ipv6:
            bgp:
              missing_policy:
                direction_in_action: <str>
                direction_out_action: <str>
            neighbors:
              - ip_address: <str>
                activate: <bool>

How to test

Tested with molecule to make sure identical config is rendered.

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 role: eos_designs issue related to eos_designs role state: CI Updated CI scenario have been updated in the PR state: Documentation role Updated labels May 10, 2023
@emilarista emilarista marked this pull request as ready for review May 12, 2023 10:27
@emilarista emilarista requested a review from a team as a code owner May 12, 2023 10:27
@github-actions github-actions bot added the type: documentation Improvements or additions to documentation label May 12, 2023
@github-actions
Copy link

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

@github-actions github-actions bot added the state: conflict PR with conflict label May 14, 2023
@ClausHolbechArista ClausHolbechArista added this to the v4.0.0-rc1 milestone May 15, 2023
@github-actions github-actions bot removed the state: conflict PR with conflict label May 16, 2023
@github-actions
Copy link

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

Co-authored-by: Claus Holbech <holbech@arista.com>
@carlbuchmann carlbuchmann self-requested a review May 17, 2023 15:36
Copy link
Member

@carlbuchmann carlbuchmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rn: Refactor(eos_cli_config_gen|eos_designs) role: eos_cli_config_gen issue related to eos_cli_config_gen role role: eos_designs issue related to eos_designs role state: CI Updated CI scenario have been updated in the PR state: Documentation role Updated type: documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Revisit eos_cli_config_gen BGP data model
3 participants