Repository navigation
Ignore CAPI Machine failures resolved by modern True - #2310
Conversation
PR Summary by QodoIgnore resolved deprecated CAPI Machine condition failures
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodoð Bugs (0) ð Rule violations (0) ð Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the dayðĄ Did you know, you can describe a rule in plain language on the Rules page and Qodo drafts it for you |
dafd7e9 to
41f4240
Compare
41f4240 to
9222b5b
Compare
a3d9600 to
75f00ca
Compare
75f00ca to
538cf13
Compare
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Code review by qodo was updated up to the latest commit 538cf13 |
A Cluster API Machine can carry modern
NodeHealthy=Truewhile its deprecated same-named condition still says False. Radar can raise a failure or show obsolete failure detail even though the modern observation establishes recovery.A small Machine-local reader rejects a deprecated False failure when the modern same-named observation is True. It reuses existing condition readers and object-order selection. All four Machine reads use it, including the Ready fallback and condition details attached to Failed/stuck phase diagnostics. Expected progress stays selected so this cleanup cannot expose a new warning behind a formerly quiet wait. Modern False keeps its reason, message, transition time and severity; phase-based failures retain priority.
Unknown does not establish recovery and keeps the deprecated failure eligible. In particular, a Machine in Provisioned with a providerID but no joined node still reports its existing NodeProvisioning Issue. This deliberately preserves uncertain-state diagnostics instead of adding a new join timeout or silently clearing a stuck Machine. The existing WaitingForNodeRef noise is not addressed here.
Legacy-only and direct v1beta2 Machines retain existing interpretation. Progress filters, generation gates, severity, grace periods, namespace access and raw resource responses are unchanged. Cluster, MachineDeployment, KubeadmControlPlane and MachineHealthCheck are untouched. Renamed conditions such as BootstrapReady/BootstrapConfigReady are not mapped. No endpoint, frontend or public-library API changes.
Validation:
internal/k8sandinternal/issuessuites passed in current-head CI, along with the separate server suite.All final-head build/test CI jobs passed at
538cf1319a. This PR targets main and changes only the three CAPI files.