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 interface TE twamp-light with fallback knobs #4935

Open
wants to merge 6 commits into
base: devel
Choose a base branch
from

Conversation

emilarista
Copy link
Contributor

…knobs

Change Summary

Add dynamic min-delay with twamp-light and fallback knobs.

Component(s) name

arista.avd.eos_cli_config_gen

Proposed changes

- name: Ethernet81/4
    ...
    traffic_engineering:
      ...
      min_delay_dynamic:
        twamp_light_fallback:
          number: 2
          unit: milliseconds

How to test

Tested with molecule and on device.

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)

Copy link

Review docs on Read the Docs

To test this pull request:

# Create virtual environment for this testing below the current directory
python -m venv test-avd-pr-4935
# Activate the virtual environment
source test-avd-pr-4935/bin/activate
# Install all requirements including PyAVD
pip install "pyavd[ansible] @ git+https://github.com/emilarista/ansible-avd.git@eos_cli_config_gen/if-te-twamp-fallback#subdirectory=python-avd" --force
# Point Ansible collections path to the Python virtual environment
export ANSIBLE_COLLECTIONS_PATH=$VIRTUAL_ENV/ansible_collections
# Install Ansible collection
ansible-galaxy collection install git+https://github.com/emilarista/ansible-avd.git#/ansible_collections/arista/avd/,eos_cli_config_gen/if-te-twamp-fallback --force
# Optional: Install AVD examples
cd test-avd-pr-4935
ansible-playbook arista.avd.install_examples

@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 labels Jan 27, 2025
@emilarista emilarista marked this pull request as ready for review January 27, 2025 14:48
@emilarista emilarista requested review from a team as code owners January 27, 2025 14:48
@emilarista emilarista force-pushed the eos_cli_config_gen/if-te-twamp-fallback branch from 4273159 to d6a0e21 Compare January 28, 2025 10:43
Copy link
Contributor

@alexeygorbunov alexeygorbunov left a comment

Choose a reason for hiding this comment

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

LGTM

@alexeygorbunov alexeygorbunov added the one approval This PR has one approval and is only missing one more. label Jan 29, 2025
# Mutually exclusive with min_delay_static, if both are defined min_delay_static takes precedence.
min_delay_dynamic:
twamp_light_fallback:
number: <int; 1-16777215; required>
Copy link
Contributor

Choose a reason for hiding this comment

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

Limit vary according to unit. The current limit is in microseconds.

wan1-dc1(config-if-Po130)# traffic-engineering min-delay dynamic twamp-light fallback 16777214 milli
seconds
% Minimum delay value exceeds 16777215 us

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You are right, the cli does not hint this unless you try to configure it. Should i remove the min/max setting and add description with limits or change the data model and make something like twamp_light_fallback.milliseconds/....microseconds to have separate min/max values?

Copy link
Contributor

@alexeygorbunov alexeygorbunov Jan 30, 2025

Choose a reason for hiding this comment

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

yeah, same issue is applicable to the existing implementation for static delay:

veos-4-33-0f(config-s-s7b-if-Et5)#traffic-engineering min-delay static 16777215 milliseconds 
% Minimum delay value exceeds 16777215 us
veos-4-33-0f(config-s-s7b-if-Et5)#traffic-engineering min-delay static 16777215 microseconds 
veos-4-33-0f(config-s-s7b-if-Et5)#

Maximum min-delay in milliseconds is 16777

veos-4-33-0f(config-s-s7b-if-Et5)#traffic-engineering min-delay static 16777 milliseconds 
veos-4-33-0f(config-s-s7b-if-Et5)#traffic-engineering min-delay static 16778 milliseconds
% Minimum delay value exceeds 16777215 us
veos-4-33-0f(config-s-s7b-if-Et5)#

Copy link
Contributor

@MaheshGSLAB MaheshGSLAB Jan 31, 2025

Choose a reason for hiding this comment

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

You are right, the cli does not hint this unless you try to configure it. Should i remove the min/max setting and add description with limits or change the data model and make something like twamp_light_fallback.milliseconds/....microseconds to have separate min/max values?

Yes i think we can remove the min/max and update the limit in description for both milli and micro seconds. But lets confirm from @ClausHolbechArista @gmuloc too.

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. 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.

5 participants