DP-1.8: wait for QoS queue counter convergence - #6013
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 improves the reliability of the DP-1.8 two strict-priority queue traffic test by introducing a convergence wait period for QoS telemetry. By ensuring that DUT queue counters have caught up with OTG flow counters before validation, the test avoids false negatives caused by reading stale telemetry samples. 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
|
Pull Request Functional Test Report for #6013 / 411f5edVirtual Devices
Hardware Devices
|
There was a problem hiding this comment.
Code Review
This pull request refactors the QoS traffic test to use a deduplicated and sorted list of unique queues instead of iterating over raw traffic flows. It introduces a robust helper function awaitQueueCounter that utilizes gnmi.Watch to wait for queue counters (TransmitPkts and DroppedPkts) to converge to their expected values after traffic, replacing immediate telemetry reads. Additionally, it updates error handling to fail fast using t.Fatalf and adds a validation check for dropped packet telemetry. There are no review comments to address, and the changes align well with the repository's style guidelines regarding eliminating static sleeps and using gnmi.Watch.
Summary
Update the DP-1.8 two strict-priority queue traffic test to wait for DUT QoS queue counters to converge with the final OTG packet counters.
Motivation
After traffic stops, OTG flow counters can settle before the DUT publishes its final QoS queue telemetry. Reading the queue counters immediately may therefore return a stale sample and report a packet deficit, even when the traffic-loss validation succeeds.
The test previously read absolute DUT queue counters once per flow. This could also result in repeated reads for multiple flows mapped to the same queue.
Changes
Validation
gofmt -s: pass./feature/qos/otg_tests/two_sp_queue_traffic_test