kubernetes-sigs/cluster-api
View on GitHubStale `HealthCheckSucceeded=False` condition not cleared after node recovery when using external remediation
Open
#13,822 opened on Jun 18, 2026
area/machinehealthcheckhelp wantedkind/bugpriority/important-soontriage/accepted
Repository metrics
- Stars
- (4,267 stars)
- PR merge metrics
- (PR metrics pending)
Description
We have encountered an issue where machines end up with a stale HealthCheckSucceeded=False condition that never gets cleared, even though the nodes have fully recovered and are running fine.
This has been observed in two scenarios, both using a MachineHealthCheck with a remediationTemplate:
- "No heartbeat for 5 minutes": Node briefly reported
Ready=Unknown, the health check fired, the node recovered on its own, butHealthCheckSucceeded=Falsepersists. - "Exceeded start-up time of 30m": Node eventually came up healthy after exceeding the configured startup timeout, but the failed condition was never removed.
After a node recovers from such a transient health check failure:
NodeHealthy=TrueNodeReady=True- No active remediation objects exist
HealthCheckSucceeded=False: this was not clearedAvailable=False: machine appears unavailable when it is not
Label(s) to be applied
/kind bug /area machinehealthcheck