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 support for mlag_peer_ipv6_pool #3885

Merged
merged 20 commits into from
Apr 29, 2024

Conversation

Xatrekak
Copy link
Contributor

@Xatrekak Xatrekak commented Apr 19, 2024

Change Summary

This PR adds support for configuring the L2 MLAG peer via IPv6. This is accomplished by adding new input-variables and the supporting infrastructure:

  • mlag_peer_address_family
  • mlag_peer_ipv6_pool
  • ipv6_prefix_length

Related Issue(s)

#3715

Component(s) name

arista.avd.eos_designs
arista.avd.eos_cli_config_gen (Documentation only. No logical changes to component.)

Proposed changes

This changes adds the capability to configure the MLAG peer using IPv6. To accomplish this a new input variable has been created that allows the selection of an address family via mlag_peer_address_family.
In addition to this mlag_peer_ipv6_pool has been added to specify the IPv6 pool to use.

l3leaf:
  defaults:
    mlag_peer_address_family: ipv6
    mlag_peer_ipv6_pool: 2001:DB8::/56

The default subnet when creating peers has been set to /64 following the current IPv6 best practices, however this is configurable via ipv6_prefix_length e.g:

fabric_ip_addressing:
  mlag:
    ipv6_prefix_length: 127

How to test

molecules have been created and ran:
molecule converge -s eos_designs_unit_tests -- --limit MLAG_IPV6

This has also been ran in a lab environment running vEOS and CVP. This feature has been built and successful tested against a local AVD enviroment setup in this lab.

leaf2#show mlag
MLAG Configuration:              
domain-id                          :        DC1_L3_LEAF1
local-interface                    :            Vlan4094
peer-address                       :         2001:db8::1
! Output omitted
MLAG Status:                     
state                              :              Active
negotiation status                 :           Connected

Limitations

This has not been tested in the scenario where both the normal MLAG peer and the L3 MLAG peer both use the same SVI and is likely unsupported currently.
This scenario will be tested and resolved in a future PR that adds support for configuring the L3 MLAG peer with IPv6.

Checklist

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)

@Xatrekak Xatrekak requested review from a team as code owners April 19, 2024 12:08
@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 Apr 19, 2024
Xatrekak and others added 6 commits April 22, 2024 22:17
…a_fragments/defs_node_type.schema.yml

Co-authored-by: Claus Holbech <holbech@arista.com>
…a_fragments/defs_node_type.schema.yml

Co-authored-by: Claus Holbech <holbech@arista.com>
…a_fragments/defs_node_type.schema.yml

Co-authored-by: Claus Holbech <holbech@arista.com>
Switched from public AS number to a private AS number.
@Xatrekak Xatrekak deleted the branch aristanetworks:devel April 22, 2024 14:55
@Xatrekak Xatrekak closed this Apr 22, 2024
@Xatrekak Xatrekak deleted the devel branch April 22, 2024 14:55
@Xatrekak Xatrekak restored the devel branch April 22, 2024 14:57
@Xatrekak Xatrekak reopened this Apr 22, 2024
Copy link
Contributor

@ClausHolbechArista ClausHolbechArista left a comment

Choose a reason for hiding this comment

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

LGTM. Thanks! Please make sure someone tests this including on EOS so we know the generated config is valid.

@ClausHolbechArista ClausHolbechArista requested a review from a team April 24, 2024 07:01
@ClausHolbechArista
Copy link
Contributor

Since you are changing the order of structured config, you also get the "joy" of having to rerun all our molecule tests locally.

cd ansible_collections/arista/avd/molecule
make refresh-facts

@ClausHolbechArista ClausHolbechArista added the one approval This PR has one approval and is only missing one more. label Apr 29, 2024
Copy link

@jerryatarista jerryatarista left a comment

Choose a reason for hiding this comment

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

LGTM

@ClausHolbechArista ClausHolbechArista merged commit 07b1fe2 into aristanetworks:devel Apr 29, 2024
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
one approval This PR has one approval and is only missing one more. rn: Feat(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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants