Skip to content

gNMI-1.28: fix Arista telemetry interfaces test failures - #5648

Closed
pjacakArista wants to merge 1 commit into
openconfig:mainfrom
pjacakArista:arista-gNMI-1.28-fix-port-name-add-deviations
Closed

gNMI-1.28: fix Arista telemetry interfaces test failures#5648
pjacakArista wants to merge 1 commit into
openconfig:mainfrom
pjacakArista:arista-gNMI-1.28-fix-port-name-add-deviations

Conversation

@pjacakArista

Copy link
Copy Markdown
Contributor

The gNMI-1.28 telemetry_interfaces_test fails on Arista EOS for several independent reasons: the test lowercases the Ondatra port name before using it in OpenConfig interface configuration, default description state is not present unless explicitly configured, the state/rate paths are handled through the test's existing state_path_unsupported deviation, routed subinterface 0 requires IPv4 to be explicitly enabled, and aggregation cannot be configured directly on the physical test port.

gNMI-1.28, port names: use the port name exactly as returned by Ondatra instead of lowercasing it. EOS treats the lowercased name as a different interface, which causes the interface type Set to apply to the wrong interface object and fail validation.

gNMI-1.28, default description state: add Arista to the existing missing_value_for_defaults deviation. This lets the state validation skip the default description leaf when the platform does not report a default value for it.

gNMI-1.28, state/rate and aggregation paths: add Arista to the existing state_path_unsupported deviation. This uses the same test mechanism already used for platforms that do not support the tested state/rate paths or physical-port aggregation configuration. The expected handling of /interfaces/interface/state/in-rate and out-rate is still being clarified; the test README lists those paths, but they are not present in the current openconfig-interfaces model or in the test's canonical OC example.

gNMI-1.28, aggregation skip text: make the aggregation skip message platform-generic instead of Nokia-specific because the skip is now driven by the platform deviation rather than a single vendor.

gNMI-1.28, routed subinterface 0: when the existing RequireRoutedSubinterface0 deviation is set, include IPv4 enabled state in the subinterface config pushed by the test. EOS requires that explicit configuration before the subinterface state validation can succeed.

With these changes, gNMI-1.28 passes on Arista EOS.

@pjacakArista
pjacakArista requested a review from a team as a code owner July 1, 2026 15:39
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses several test failures in the gNMI-1.28 telemetry_interfaces_test when running on Arista EOS. By introducing platform-specific deviations and adjusting how interface names and subinterface configurations are handled, the test suite now correctly aligns with Arista's operational requirements while maintaining compatibility with other platforms.

Highlights

  • Platform Deviations: Added Arista to the missing_value_for_defaults and state_path_unsupported deviations in the test metadata to handle platform-specific telemetry behaviors.
  • Interface Naming: Updated the test to use the exact port name provided by Ondatra instead of forcing it to lowercase, preventing interface validation errors on Arista EOS.
  • Subinterface Configuration: Enabled IPv4 explicitly on routed subinterface 0 when the RequireRoutedSubinterface0 deviation is active to satisfy EOS configuration requirements.
  • Test Cleanup: Generalized skip messages for aggregation and state/rate paths to be platform-agnostic.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@OpenConfigBot

OpenConfigBot commented Jul 1, 2026

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the telemetry interfaces test by generalizing platform skip messages, removing strings.ToLower from port name retrieval, and introducing a check for the RequireRoutedSubinterface0 deviation to conditionally enable IPv4 on subinterfaces. It also adds platform exceptions for ARISTA in metadata.textproto. The review feedback highlights that the newly used deviations.RequireRoutedSubinterface0 accessor is not defined in internal/deviations/deviations.go, which will cause a compilation error, and that this deviation needs to be explicitly enabled for ARISTA in metadata.textproto.

Comment thread feature/gnmi/tests/telemetry_interfaces_test/metadata.textproto
@pjacakArista
pjacakArista force-pushed the arista-gNMI-1.28-fix-port-name-add-deviations branch 2 times, most recently from 9028aaa to 5b75eee Compare July 3, 2026 07:52
The gNMI-1.28 telemetry_interfaces_test fails on Arista EOS for several
independent reasons: the test lowercases the Ondatra port name before
using it in OpenConfig interface configuration, default description state
is not present unless explicitly configured, the state/rate paths are
handled through the test's existing state_path_unsupported deviation,
routed subinterface 0 requires IPv4 to be explicitly enabled, and
aggregation cannot be configured directly on the physical test port.

gNMI-1.28, port names: use the port name exactly as returned by Ondatra
instead of lowercasing it. EOS treats the lowercased name as a different
interface, which causes the interface type Set to apply to the wrong
interface object and fail validation.

gNMI-1.28, default description state: add Arista to the existing
missing_value_for_defaults deviation. This lets the state validation skip
the default description leaf when the platform does not report a default
value for it.

gNMI-1.28, state/rate and aggregation paths: add Arista to the existing
state_path_unsupported deviation. This uses the same test mechanism
already used for platforms that do not support the tested state/rate paths
or physical-port aggregation configuration. The expected handling of
/interfaces/interface/state/in-rate and out-rate is still being clarified;
the test README lists those paths, but they are not present in the current
openconfig-interfaces model or in the test's canonical OC example.

gNMI-1.28, aggregation skip text: make the aggregation skip message
platform-generic instead of Nokia-specific because the skip is now driven
by the platform deviation rather than a single vendor.

gNMI-1.28, routed subinterface 0: when the existing
RequireRoutedSubinterface0 deviation is set, include IPv4 enabled state in
the subinterface config pushed by the test. EOS requires that explicit
configuration before the subinterface state validation can succeed.

With these changes, gNMI-1.28 passes on Arista EOS.
@pjacakArista
pjacakArista force-pushed the arista-gNMI-1.28-fix-port-name-add-deviations branch from 5b75eee to c06e6f7 Compare July 3, 2026 14:34
@navaneethyv

Copy link
Copy Markdown
Contributor

@singhavnish2516 can you please take a look

@navaneethyv navaneethyv closed this Jul 6, 2026
@pjacakArista

Copy link
Copy Markdown
Contributor Author

@navaneethyv Why have you closed this PR?

@pjacakArista

Copy link
Copy Markdown
Contributor Author

I could not re-open it, so I've created new PR #5729 with the same content. Please review it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants