Repository navigation
fix: remove race conditions in progression tracking E2E test - #200
Conversation
The "metrics endpoint unreachable" test had two race conditions: 1. The Consistently block checking running status could race with job completion and annotation synthesis between status check and assertion 2. The final assertion expected no annotation, but raced with the reconciler's fallback that synthesizes 100% on completion Test was passing for 8 months probably because the race condition never got hit - the check that no annotation was added was done quickly, probably before the final reconcile happened. Fix: Remove flaky assertions about annotation state. Focus on what matters - the controller handles metrics errors gracefully and the TrainJob completes successfully Signed-off-by: Rob Bell <robell@redhat.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe unreachable-metrics E2E test removes intermediate reconciliation checks and assertions that Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 10✅ Passed checks (10 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
abhijeet-dhumal
left a comment
There was a problem hiding this comment.
/lgtm
Thanks @robert-bell 🙌
|
@robert-bell: The following test has Succeeded: OCI Artifact Browser URLInspecting Test Artifacts ManuallyTo inspect your test artifacts manually, follow these steps:
mkdir -p oras-artifacts
cd oras-artifacts
oras pull quay.io/opendatahub/odh-ci-artifacts:odh-pr-test-trainer-x49hf |
The "metrics endpoint unreachable" test had two race conditions:
Test was passing for 8 months probably because the race condition never got hit - the check that no annotation was added was done quickly, probably before the final reconcile happened.
Fix: Remove flaky assertions about annotation state. Focus on what matters - the controller handles metrics errors gracefully and the TrainJob completes successfully
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in
Fixes #<issue number>, #<issue number>, ...format, will close the issue(s) when PR gets merged):Fixes #
Checklist:
Summary by CodeRabbit