OCPBUGS-105316: Fix flaky PollConsoleUpdates e2e test timeout in CI - #16919
Conversation
The "plugin added with erroring endpoint" test requires multiple 15s polling cycles and can exceed the default 120s timeout in CI when OAuth redirects or slow environments add overhead. Increase the test timeout to 300s and add an explicit timeout and status filter to waitForResponse for more robust synchronization. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@rhamilto: This pull request references Jira Issue OCPBUGS-105316, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughThe console update polling tests now allow 300 seconds for the suite. The plugin endpoint test requires an HTTP 200 response from ChangesConsole update polling tests
Estimated code review effort: 1 (Trivial) | ~5 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/jira refresh |
|
Scheduling tests matching the |
|
@rhamilto: This pull request references Jira Issue OCPBUGS-105316, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@rhamilto: This pull request references Jira Issue OCPBUGS-105316, which is valid. 3 validation(s) were run on this bug
DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/pipeline required |
|
Scheduling tests matching the |
|
/test e2e-gcp-console-techpreview |
|
/pipeline required |
|
Scheduling tests matching the |
|
/test e2e-gcp-console-techpreview |
|
Take 3: vikram-raj#17 |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
/pipeline required Latest failure should be fixed by #16914 |
|
Scheduling tests matching the |
Move test.setTimeout(300_000) to the describe block so all five tests get sufficient CI headroom, not just the erroring-endpoint variant. Every test in this suite depends on multiple 15s polling cycles and can exceed the default 120s in slow CI environments. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
/pipeline required |
|
Scheduling tests matching the |
|
/retest |
|
/label tide/merge-method-squash |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: logonoff, rhamilto The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/verified by ci |
|
@logonoff: This PR has been marked as verified by DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@rhamilto: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
@rhamilto: Jira Issue Verification Checks: Jira Issue OCPBUGS-105316 Jira Issue OCPBUGS-105316 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
Analysis / Root cause:
The Playwright e2e test "triggers the console update toast when a plugin is added and a different plugin endpoint is erroring" in
poll-console-updates.spec.tsflakes in CI withTest timeout of 120000ms exceeded.The test requires multiple 15-second polling cycles to complete:
Under ideal conditions this totals ~60–75s, but in CI the OAuth redirect flow and slower environment add significant overhead. The
navigateAndWaitForInithelper alone allows up to 90s for init, leaving very little of the default 120s test timeout for the remaining assertions. When a mid-test auth redirect occurs, the PollConsoleUpdates component remounts and needs additional poll cycles to re-initialize, pushing past the 120s limit.Additionally,
page.waitForResponsehad no explicit timeout and no status code filter, making it possible to match stale or non-200 responses.Jira: https://redhat.atlassian.net/browse/OCPBUGS-105316
Solution description:
test.setTimeout(300_000)to give CI ample headroom for the multi-cycle polling sequence plus potential auth redirects.{ timeout: 30_000 }andresp.status() === 200filter towaitForResponsefor more robust synchronization with the poll cycle.Screenshots / screen recording:
N/A — no visual changes.
Test setup:
Console running at localhost:9000.
Test cases:
--repeat-each=3— all 3 passed.poll-console-updates.spec.ts— all passed with no regressions.Browser conformance:
N/A — test-only change, no UI changes.
Additional info:
N/A
🤖 Generated with Claude Code
Summary by CodeRabbit