OCPBUGS-64688: use ObservedGeneration to determine Progressing status#1169
OCPBUGS-64688: use ObservedGeneration to determine Progressing status#1169sg00dwin wants to merge 1 commit into
Conversation
Assisted-by: Claude Code (Opus 4.6)
|
@sg00dwin: This pull request references Jira Issue OCPBUGS-64688, 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 YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📜 Recent review details🧰 Additional context used📓 Path-based instructions (4)**/*.go📄 CodeRabbit inference engine (AGENTS.md)
Files:
⚙️ CodeRabbit configuration file
Files:
{pkg,cmd}/**/*.go📄 CodeRabbit inference engine (CLAUDE.md)
Files:
**/*sync*.go📄 CodeRabbit inference engine (CONVENTIONS.md)
Files:
**/*.{py,js,ts,go,rs,java,rb,php,kt,swift,cs}⚙️ CodeRabbit configuration file
Files:
🔇 Additional comments (1)
WalkthroughThe change modifies the "Progressing" condition logic in ChangesDeployment Generation Observation Check
🎯 2 (Simple) | ⏱️ ~8 minutes 🚥 Pre-merge checks | ✅ 13 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (13 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sg00dwin The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/jira refresh |
|
@sg00dwin: This pull request references Jira Issue OCPBUGS-64688, 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. |
|
@sg00dwin: The following tests failed, say
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. |
|
/retest-required |
|
/cc @Leo6Leo Spinning cluster to do QE currently |
Summary
IsAvailableAndUpdatedwithObservedGeneration < Generationcheck for the Progressing conditionIsAvailableAndUpdatedusedUpdatedReplicas == Replicas, which falsely triggers during node reboots when pods are temporarily disrupted — even though the operator made no spec changesObservedGeneration < Generationonly fires when the operator has updated the deployment spec and the deployment controller hasn't processed it yetRoot Cause
During node reboots (MCO draining nodes), console pods are terminated and replacements are created. During the ~30-second gap,
UpdatedReplicas != Replicas, causingIsAvailableAndUpdatedto return false and the operator to reportProgressing=True. The operator made no changes — the disruption is external.Why This Fix
ObservedGeneration < Generationprecisely detects operator-initiated spec changes:The Available condition (
IsAvailableat line 231) independently monitors pod readiness and is unaffected.Test plan
makebuilds successfullymake test-unitall tests passgofmt/go vetclean[Monitor:legacy-cvo-invariants][bz-Management Console] clusteroperator/console should stay Progressing=False while MCO is Progressing=Trueshould stop failing (~8% failure rate on Sippy currently)Assisted-by: Claude Code (Opus 4.6)
Summary by CodeRabbit
Release Notes