kubernetes-sigs/cluster-api

Stale `HealthCheckSucceeded=False` condition not cleared after node recovery when using external remediation

Ouverte

#13 822 ouverte le 18 juin 2026

 (13 commentaires) (0 réaction) (1 personne assignée)Go (1 532 forks)auto 404
area/machinehealthcheckhelp wantedkind/bugpriority/important-soontriage/accepted

Métriques du dépôt

Stars
 (4 267 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

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:

  1. "No heartbeat for 5 minutes": Node briefly reported Ready=Unknown, the health check fired, the node recovered on its own, but HealthCheckSucceeded=False persists.
  2. "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=True
  • NodeReady=True
  • No active remediation objects exist
  • HealthCheckSucceeded=False: this was not cleared
  • Available=False: machine appears unavailable when it is not

CAPI version used: v1.13.1

Label(s) to be applied

/kind bug /area machinehealthcheck

Guide contributeur