aristanetworks / avd

Arista Validated Designs
https://avd.arista.com
Apache License 2.0
290 stars 209 forks source link

Add "MLAG recovery delay" support for MLAG dual primary detection #1527

Closed gusmb closed 2 years ago

gusmb commented 2 years ago

Enhancement summary

Add support for the MLAG dual detection recovery delay:

https://www.arista.com/en/um-eos/eos-multi-chassis-link-aggregation#concept_yvj_3lk_l4b

Surrently missing from the mlag_configuration data model on eos_cli_config_gen

On eos_design, probably add as platform_settongs, same way as with reload_delay as an idea:

dual_primary_recovery_delay:
  mlag: <int>
  non-mlag: <int>

Which component of AVD is impacted

eos_designs, eos_cli_config_gen

Use case example

Need to implement MLAG dual primary detection with the following added command:

dual-primary recovery delay mlag 90 non-mlag 30

Support for this is missing from the data model in both eos_cli_config_gen and eos_designs

Describe the solution you would like

Add knobs to the mlag_configuration data model in eos_cli_config_gen (see last 2 lines):

mlag_configuration:
  domain_id: < domain_id_name >
  heartbeat_interval: < milliseconds >
  local_interface: < interface_name >
  peer_address: < IPv4_address >
  peer_address_heartbeat:
    peer_ip: < IPv4_address >
    vrf: < vrf_name >
  dual_primary_detection_delay: < seconds >
  peer_link: < Port-Channel_id >
  reload_delay_mlag: < seconds >
  reload_delay_non_mlag: < seconds >
  dual_primary_recovery_delay_mlag: < seconds >
  dual_primary_recovery_delay_non_mlag: < seconds >

Add support for this in eos_designs by making it configurable per hardware platform:

platform_settings:
  - platforms: [ default ]
    reload_delay:
      mlag: < seconds >
      non_mlag: < seconds >
    dual_primary_recovery_delay:
      mlag: < seconds >
      non_mlag: < seconds >

Then use this in templates/mlag/mlag_configuration.j2

Describe alternatives you have considered

Injecting the config through raw CLI or using a custom template

Additional context

No response

Contributing Guide

gusmb commented 2 years ago

This issue should have remained opened as it was only partially fixed by #1529 The corresponding feature needs to be added to eos_designs. The proposal is to add the dual_primary_recovery_delay key to platform_settings, would look like in the description above, if it makes sense.

ClausHolbechArista commented 2 years ago

I have reopened. Next time please submit separate issues when we need to enhance multiple roles. It will help us track the progress properly. Thank you!

github-actions[bot] commented 2 years ago

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 15 days