OCPBUGS-67134: add grace period before reporting Available=False - #1179
Conversation
|
@sg00dwin: This pull request references Jira Issue OCPBUGS-67134, 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. |
|
Caution Review failedAn error occurred during the review process. Please try again later. WalkthroughAdds timestamp tracking for console deployment availability and applies a 15-second grace period before reporting transient replica loss as unavailable. The availability logic is extracted into a helper, with tests covering initial, transient, expired, recovery, boundary, and error-message behavior. ChangesDeployment availability handling
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Tools execution failed with the following error: Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error) Comment |
|
/retest |
|
/jira refresh |
|
@sg00dwin: This pull request references Jira Issue OCPBUGS-67134, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
No GitHub users were found matching the public email listed for the QA contact in Jira (yapei@redhat.com), skipping review request. 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. |
|
/retest-required |
|
/test e2e-aws-console |
1 similar comment
|
/test e2e-aws-console |
|
@sg00dwin good investigation on this one, the root cause analysis is solid and the tests are well written 👍 I've been thinking about this more though, and I'm not sure suppressing The real question is: why are all replicas going down during a single node reboot? If they're colocated on the same node, that's the root cause we should fix. A few alternatives worth exploring:
Can you dig into whether we have topology constraints on the console deployment? That feels like the most impactful fix here. |
|
/test e2e-aws-console |
@jhadvig Thanks for the thorough review! On suggestions 1 and 2 the console deployment already has both:
The blip still happens because the conformance-serial tests do involuntary node reboots, which bypass the PDB. When the test hits the right nodes, both pods go offline for ~10 seconds regardless. On option 3 - there's already an origin exception demoting this to a flake, but OTA-362 is moving to remove those exceptions rather than add smarter ones. So the test layer is heading in the opposite direction. The operator-level grace period was modeled after the sibling fixes (OCPBUGS-24041, OCPBUGS-38676, OCPBUGS-64688), but your point about Available being intentionally real-time is a fair one. Would you prefer we pursue the library-go path instead — proposing inertia for Available on StatusSyncer so it's handled consistently across operators? Happy to go either direction. |
|
/test e2e-aws-console |
1 similar comment
|
/test e2e-aws-console |
Suggesting can we go ahead and merge this pr fix ... and I will open a follow-on issue to track the library-go |
The console operator immediately reports Available=False when deployment replicas drop to zero, even during brief disruptions (~10s) that self-recover. Add a 15-second grace period that suppresses the condition when the deployment was recently available, preventing false alarms during disruptive CI tests while still reporting genuine outages promptly. Co-Authored-By: Claude Opus 4.6
6972267 to
da14ea8
Compare
|
@sg00dwin: This pull request references Jira Issue OCPBUGS-67134, which is valid. 3 validation(s) were run on this bug
No GitHub users were found matching the public email listed for the QA contact in Jira (yapei@redhat.com), skipping review request. 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. |
|
/test e2e-aws-console |
1 similar comment
|
/test e2e-aws-console |
|
/label acknowledge-critical-fixes-only |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jhadvig, sg00dwin 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 |
|
/test e2e-aws-console |
|
Verified on a CI cluster with the PR changes deployed — no regressions observed. Cluster: OCP on AWS (ci-ln-2xqz9vt) Steps performed:
/verified by @sg00dwin and Claude |
|
@sg00dwin: 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. |
|
@sg00dwin: 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. |
|
@sg00dwin: Jira Issue Verification Checks: Jira Issue OCPBUGS-67134 Jira Issue OCPBUGS-67134 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. |
|
Fix included in release 5.0.0-0.nightly-2026-07-15-061255 |
Remove temporary console exception blocks for OCPBUGS-67134, OCPBUGS-38676 (Degraded blips) and OCPBUGS-64688 (Progressing during node reboot) now that the bug fix prs openshift/console-operator#1179, openshift/console-operator#1169 and openshift/console-operator#1164 have merged to console-operator. Assisted-by: Claude (Opus 4.6)
Remove temporary console exception blocks for OCPBUGS-67134, OCPBUGS-38676 (Degraded blips) and OCPBUGS-64688 (Progressing during node reboot) now that the bug fix prs openshift/console-operator#1179, openshift/console-operator#1169 and openshift/console-operator#1164 have merged to console-operator. Assisted-by: Claude (Opus 4.6)
Summary
Available=FalsewithDeployment_InsufficientReplicas, triggering OTA invariant test failuresWhat changed
lastDeploymentAvailableTimeon the operator struct)evaluateDeploymentAvailability()method that checks the grace window before reportingAvailable=FalseRelated
Test plan
make test-unitclean (go test, gofmt, govet)console+Deployment_InsufficientReplicasCo-Authored-By: Claude Opus 4.6