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_cli_config_gen): Add support for segment-routing traffic-engineering #1486

Merged

Conversation

sengarth
Copy link
Contributor

@sengarth sengarth commented Feb 8, 2022

Feat(eos_cli_config_gen): Add support for segment-routing traffic-engineering

Change Summary

Add support for configuring SRTE policy under the router traffic-engineering configuration sub-section. This allows addition of multiple SRTE policies

Related Issue(s)

Fixes #1480

Component(s) name

arista.avd.eos_cli_config_gen

Proposed changes

router_traffic_engineering:
  router_id:
    ipv4: < ipv4 router-id >
    ipv6: < ipv6 router-id >
  segment_routing:
    colored_tunnel_rib: < true | false >
    policy_endpoint:
      1.2.3.4: # IPv4 or IPv6 endpoint address
        color:
          70810: # color value
            binding_sid: < binding-sid >
            description: < description >
            name: < name >
            path_group:
              - preference: < preference value >
                explicit_null_ipv4: < true | false >
                explicit_null_ipv6: < true | false >
                segment_list:
                  - label_stack: < label path >
                    weight: < weight value >
                    index: < index value >
          80810: # color value
            description: < description >
            name: < name >
            path_group:
              - preference: < preference value >
                segment_list:
                  - label_stack: < label path >
                    weight: < weight value >
                    index: < index value >

How to test

molecule test --scenario-name eos_cli_config_gen

Add SRTE policy under structured config to generate cfg and markdown for the relevant config section

Checklist

User Checklist

  • No breaking changes

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)

@sengarth sengarth requested a review from a team as a code owner February 8, 2022 04:46
@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 labels Feb 8, 2022
@sengarth sengarth force-pushed the router_traffic_engineering branch from 6837f86 to 6b7ea94 Compare February 8, 2022 05:03
Copy link
Contributor

@emilarista emilarista left a comment

Choose a reason for hiding this comment

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

Hello and thanks for this great contribution, it looks very solid! I had a few notes on the data model and about aligning to our templating conventions.

In summary: We are trying to migrate away from variable dict keys such as 1.2.3.4 and 70810 in your example and make list of dicts instead which will be easier to validate with a schema down the line. Also use of our arista.avd.default filter is encouraged where appropriate.

@sengarth sengarth force-pushed the router_traffic_engineering branch 2 times, most recently from 13521b7 to 85efa38 Compare February 9, 2022 02:52
@sengarth sengarth force-pushed the router_traffic_engineering branch from 85efa38 to aba418b Compare February 9, 2022 03:20
@sengarth
Copy link
Contributor Author

sengarth commented Feb 9, 2022

Thanks @emilarista ! Fixed with suggestions via aba418b

Copy link
Contributor

@emilarista emilarista left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Contributor

@xaviramon xaviramon left a comment

Choose a reason for hiding this comment

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

LGTM!

@tgodaA
Copy link
Contributor

tgodaA commented Feb 11, 2022

Missing documentation in the eos_cli_config_gen README.md

@tgodaA tgodaA requested a review from xaviramon February 11, 2022 20:56
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.

Please adjust the blank lines in the documentation template according to the comments from @tgodaA

@sengarth sengarth force-pushed the router_traffic_engineering branch 2 times, most recently from c564741 to c87ae36 Compare February 13, 2022 13:10
@sengarth sengarth force-pushed the router_traffic_engineering branch from c87ae36 to 7a748d7 Compare February 13, 2022 13:11
@sengarth
Copy link
Contributor Author

Thanks for taking the time to review this! The necessary changes have been made.

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

@ClausHolbechArista ClausHolbechArista merged commit 9a8c837 into aristanetworks:devel Feb 16, 2022
@ClausHolbechArista ClausHolbechArista added this to the v3.3.0 milestone Feb 18, 2022
@sengarth sengarth deleted the router_traffic_engineering branch February 20, 2022 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

segment-routing policy configuration under router traffic-engineering
6 participants