Repository navigation
Updated qos_ecn_config_test.go file, based on README.MD - #5864
vjarial-web wants to merge 1 commit into
Conversation
Summary of ChangesHello, 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 updates the QoS ECN configuration test suite to better reflect the requirements outlined in the project's README. The changes involve a significant refactoring of the test code, moving from a monolithic structure to a modular, test-case-driven approach. This improves maintainability and allows for more granular validation of ECN profile configurations, including negative testing and supervisor switchover resilience. Highlights
Using Gemini Code AssistThe 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
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 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
|
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
Pull Request Functional Test Report for #5864 / 0eafdbaVirtual Devices
Hardware Devices
|
There was a problem hiding this comment.
Code Review
This pull request refactors the QoS ECN configuration test to use structured subtests, configuration plugins (cfgplugins), and adds a supervisor switchover verification step. Feedback on the changes includes correcting malformed import paths that cause compilation failures, replacing a static sleep after supervisor switchover with a manual polling loop to check device reachability, and utilizing t.Cleanup() for reliable state reversion instead of a sequential teardown subtest.
be99001 to
dfcc1cb
Compare
8df290f to
c353e13
Compare
c353e13 to
ca7c20b
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors the QoS ECN configuration tests to use the cfgplugins package, structuring them into distinct subtests (DP-1.3.1 to DP-1.3.5) that cover various threshold configurations, negative test cases, and teardown procedures. Feedback on these changes suggests using gnmi.Delete to directly detach the queue management profile from the output queue instead of replacing it with a nil value. Additionally, it is recommended to define Cisco-specific threshold values as package-level constants in cfgplugins to eliminate hardcoded magic numbers and improve maintainability.
ca7c20b to
626e6c1
Compare
626e6c1 to
81f1ff2
Compare
|
/fptest arista-physical |
|
/fptest virtual |
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors the QoS ECN configuration test to align with DP-1.3 specifications, introducing new test cases for different threshold types, negative scenarios, and supervisor switchover. It also adds corresponding deviations, metadata updates, and helper functions in the configuration plugins. The feedback highlights a critical compile-time error in the test where a string is compared to nil, and several style guide violations: the teardown block should be registered via t.Cleanup() to guarantee execution, the new deviation accessors must include issue tracker URLs, and the signature of NewQoSQueueManagementProfile needs to be refactored to match the standard configuration plugin format.
debc782 to
be966c3
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors the QoS ECN configuration test to align with the DP-1.3 test specifications, introducing subtests for various threshold configurations, negative test cases, supervisor switchover, and teardown verification. It also adds the ecn_min_greater_max_threshold_unsupported deviation and several helper functions in qoscfg.go and gnoi.go. Feedback highlights that ReplaceQueueManagementProfile in qoscfg.go violates configuration plugin guidelines by executing direct gNMI operations instead of returning a batch. Additionally, a cleanup step in qos_ecn_config_test.go should use qoscfg.QosInterfaceID to correctly handle interface ID deviations.
8ba7877 to
9c4634a
Compare
9c4634a to
99c8da6
Compare
…ld_unsupported deviation
99c8da6 to
0eafdba
Compare
Objective
This test validates the configuration of Explicit Congestion Notification (ECN) via OpenConfig WRED profiles. It ensures the device correctly applies and persists buffer utilization cut-off limits across queues for CE-marking packets, allowing micro-burst absorption without prematurely dropping packets.
Interfaces & Technologies Used
SwitchControlProcessor)queue-management-profiles,wred,interfaces/output/queues,classifiers)Topology Note
Requires the
2_router_linkstestbed (DUT connected to ATE via two direct ports) and a vRX-compatible platform.Expected Outcome Summary
Success Metrics