Skip to content

ACL-1.2: Refactor verifyACLCounters for eventual consistency#5557

Open
rolandphung wants to merge 1 commit into
openconfig:mainfrom
rolandphung:ACL-1.2
Open

ACL-1.2: Refactor verifyACLCounters for eventual consistency#5557
rolandphung wants to merge 1 commit into
openconfig:mainfrom
rolandphung:ACL-1.2

Conversation

@rolandphung

Copy link
Copy Markdown
Contributor

Change verifyACLCounters to wait for the expected counters to align instead of sampling the first counter that was successful. The device needs some time to complete updating the counter.

Also add SkipACLCountersVerificationDuringUpdate deviation to verifyFlowStatistics during the make before break update test case.

Change verifyACLCounters to wait for the expected counters to align
instead of sampling the first counter that was successful. The device
needs some time to complete updating the counter.

Also add `SkipACLCountersVerificationDuringUpdate` deviation to
`verifyFlowStatistics` during the make before break update test case.
@rolandphung rolandphung requested a review from a team as a code owner June 11, 2026 06:23
@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 improves the reliability of ACL counter verification in network tests by implementing an eventual consistency approach. By waiting for the device to report the expected packet counts, the tests are less prone to race conditions where counters might not have fully updated. Additionally, the test flow was adjusted to respect specific device deviations during update operations.

Highlights

  • Refactored ACL Counter Verification: Updated verifyACLCounters to use gnmi.Watch with a custom condition, ensuring the test waits for the expected packet counters to align rather than sampling the first available value.
  • Improved Test Robustness: Added the SkipACLCountersVerificationDuringUpdate deviation to verifyFlowStatistics to handle timing requirements during make-before-break update scenarios.
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

Copy link
Copy Markdown

Pull Request Functional Test Report for #5557 / e76054f

Virtual Devices

Device Test Test Documentation Job Raw Log
Arista cEOS status
ACL-1.2: ACL Update (Make-before-break)
Cisco 8000E status
ACL-1.2: ACL Update (Make-before-break)
Cisco XRd status
ACL-1.2: ACL Update (Make-before-break)
Juniper ncPTX status
ACL-1.2: ACL Update (Make-before-break)
Nokia SR Linux status
ACL-1.2: ACL Update (Make-before-break)
Openconfig Lemming status
ACL-1.2: ACL Update (Make-before-break)

Hardware Devices

Device Test Test Documentation Raw Log
Arista 7808 status
ACL-1.2: ACL Update (Make-before-break)
Cisco 8808 status
ACL-1.2: ACL Update (Make-before-break)
Juniper PTX10008 status
ACL-1.2: ACL Update (Make-before-break)
Nokia 7250 IXR-10e status
ACL-1.2: ACL Update (Make-before-break)

Help

@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 refactors the ACL counter verification in acl_update_test.go by updating verifyACLCounters to use gnmi.Watch to wait until the matched packets counter increases by the expected amount, rather than asserting immediately. Additionally, in sendAndVerifyTraffic, the verification of flow statistics is now conditionally skipped along with ACL counter verification during updates if the deviation SkipACLCountersVerificationDuringUpdate is enabled. There are no review comments, and I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

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.

3 participants