Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

*: Added End-to End Style Test Coverage for LRS Scenarios in xDS Client #7953

Closed
wants to merge 7 commits into from

Ran gofmt. Fixed vet errors.

0ec410c
Select commit
Loading
Failed to load commit list.
Closed

*: Added End-to End Style Test Coverage for LRS Scenarios in xDS Client #7953

Ran gofmt. Fixed vet errors.
0ec410c
Select commit
Loading
Failed to load commit list.
Mergeable / Mergeable failed Dec 21, 2024 in 1s

3/3 Fail(s): LABEL, DESCRIPTION, MILESTONE

Status: FAIL

    Here are some stats of the run:
    3 validations were ran.
    0 PASSED
    3 FAILED

Details

❌ Validator: LABEL

  • label does not include "^Type:"
    Input :
    Settings : {"must_include":{"regex":"^Type:"}}

❌ Validator: DESCRIPTION

  • description does not include "^RELEASE NOTES:\s([Nn][Oo][Nn][Ee]|[Nn]/[Aa]|\n(*|-)\s.+)$"**
    Input : Addresses #7704

This pull request adds test coverage for Load Reporting Service (LRS) scenarios within the xdsclient package. The tests address various cases, such as stream failures, backoff mechanisms, and resource request handling when streams are unavailable.

Release Notes:

Potential Pitfalls

  1. Not Exclusively for LRS Messages:

    • The tests currently use version.V3ListenerURL for listener resources. While functional, this generalization doesn't strictly isolate LRS-specific cases. Future refinement could focus explicitly on load-report resources.
  2. Unimplemented Watcher (newListenerWatcher):

    • Some tests rely on a placeholder implementation for xdsresource.WatchListener due to the absence of a dedicated LRS watcher. This workaround aligns with existing test patterns but might need better abstraction for LRS-specific functionality.
  3. Error Handling and Edge Cases:

    • The tests simulate various failure scenarios, but additional validation is necessary to ensure exhaustive edge case coverage.
  4. Overhead of Repeated Backoff:

    • Current tests use controlled backoff via channels to reduce runtime. This approach might need further optimization for more extensive test runs.

Request for Feedback

  • Suggestions for refining the WatchListener implementation or introducing an LRS-specific watcher.

  • Recommendations for isolating load-report cases from general listener tests.

  • Feedback on error simulation and handling mechanisms.

     Settings : ```{"must_include":{"regex":"^RELEASE NOTES:\\s*([Nn][Oo][Nn][Ee]|[Nn]/[Aa]|\\n(\\*|-)\\s*.+)$","regex_flag":"m"}}```
    

❌ Validator: MILESTONE

  • milestone does not include "Release$"
    Input :
    Settings : {"must_include":{"regex":"Release$"}}