Skip to content

Adding RT-1.36: AIGP feature support test#5375

Open
ASHNA-AGGARWAL-KEYSIGHT wants to merge 1 commit intoopenconfig:mainfrom
open-traffic-generator:fpt_otg_RT_1_36
Open

Adding RT-1.36: AIGP feature support test#5375
ASHNA-AGGARWAL-KEYSIGHT wants to merge 1 commit intoopenconfig:mainfrom
open-traffic-generator:fpt_otg_RT_1_36

Conversation

@ASHNA-AGGARWAL-KEYSIGHT
Copy link
Copy Markdown
Contributor

@ASHNA-AGGARWAL-KEYSIGHT ASHNA-AGGARWAL-KEYSIGHT requested review from a team as code owners April 23, 2026 20:49
@OpenConfigBot
Copy link
Copy Markdown

OpenConfigBot commented Apr 23, 2026

Pull Request Functional Test Report for #5375 / 3c7ca13

Virtual Devices

Device Test Test Documentation Job Raw Log
Arista cEOS status
RT-1.36: AIGP feature support test
Cisco 8000E status
RT-1.36: AIGP feature support test
Cisco XRd status
RT-1.36: AIGP feature support test
Juniper ncPTX status
RT-1.36: AIGP feature support test
Nokia SR Linux status
RT-1.36: AIGP feature support test
Openconfig Lemming status
RT-1.36: AIGP feature support test

Hardware Devices

Device Test Test Documentation Raw Log
Arista 7808 status
RT-1.36: AIGP feature support test
Cisco 8808 status
RT-1.36: AIGP feature support test
Juniper PTX10008 status
RT-1.36: AIGP feature support test
Nokia 7250 IXR-10e status
RT-1.36: AIGP feature support test

Help

@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 introduces comprehensive test coverage for the BGP AIGP (Accumulated IGP Metric) feature, ensuring correct attribute propagation and policy application across different network instances. Additionally, it refactors and extends internal test infrastructure to support new configuration requirements and device-specific deviations, while also refining existing ISIS graceful restart tests for better reliability.

Highlights

  • New AIGP Feature Test: Added a new test suite for AIGP feature support (RT-1.36) including validation for attribute modification, propagation, and tie-breaking.
  • Infrastructure Updates: Updated internal configuration plugins to support VLAN client encapsulation, improved BGP peer verification for VRFs, and added new device deviations for AIGP and RIB support.
  • ISIS Graceful Restart Improvements: Enhanced ISIS graceful restart test coverage with new telemetry verification methods and improved state handling.
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 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 counter productive. 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.

Copy link
Copy Markdown
Contributor

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

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 introduces a new test suite for the BGP Accumulated IGP Metric (AIGP) feature and updates ISIS Graceful Restart tests with improved telemetry checks. It also extends internal configuration plugins and deviations to support Arista-specific CLI fallbacks for BGP policies, interface encapsulation, and sub-interface formatting. The review feedback identifies a misleading error message in the RIB validation logic, a bug in a test case log format that repeats the test name instead of the description, and the presence of leftover debug logs that should be removed.

gotAIGP := attrSet.GetAigp()
if gotAIGP != wantAIGP {
t.Errorf("fail: aigp for neighbor %s in NI %s: want %d, got %d", nbrAddr, ni, wantAIGP, gotAIGP)
t.Errorf("OC not supported for AIGP attribute in BGP RIB")
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.

medium

This error message is misleading. Since gotAIGP was successfully retrieved using OpenConfig on line 1023, the claim that OpenConfig is not supported is contradictory. If the metric comparison fails, the preceding t.Errorf on line 1026 already provides the necessary failure details. Additionally, consider using t.Fatalf instead of t.Errorf if a failure here makes subsequent test steps meaningless.

References
  1. In tests, t.Fatalf is preferred over t.Errorf when a failure makes subsequent test steps meaningless, as this fails fast and reduces overall test execution time.

// Run the test cases.
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
t.Logf("Description: %s - %s", tc.name, tc.name)
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.

medium

The log message incorrectly repeats tc.name. It should use tc.description for the second format specifier to provide the intended test case description.

Suggested change
t.Logf("Description: %s - %s", tc.name, tc.name)
t.Logf("Description: %s - %s", tc.name, tc.description)

Comment on lines +1514 to +1515
t.Log(dut1loopback10.loopbackIntfName)
t.Log(dut2loopback10.loopbackIntfName)
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.

medium

These t.Log statements appear to be leftover debug logs and should be removed from the production test code.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants