Reconciliation Paused Despite "Paused" Status Showing False
search cancel

Reconciliation Paused Despite "Paused" Status Showing False

book

Article ID: 428702

calendar_today

Updated On:

Products

VMware Tanzu Kubernetes Grid Management

Issue/Introduction

  • TKG workload cluster fails to scale or reconcile (e.g., Worker count remains high/low despite desired state changes).
  • Deleting machine objects does not trigger recreation.
  • Restarting CAPV/CAPI pods has no effect.
  • When checking the Cluster, MachineDeployment, or KubeadmControlPlane resources, the cluster.x-k8s.io/paused field or annotation appears to be false or empty.

However, the CAPV/CAPI controller logs explicitly state: "Reconciliation is paused for this object"

Environment

2.5.x

Cause

The Cluster API controllers may interpret the mere presence of the cluster.x-k8s.io/paused annotation key as a pause signal, regardless of its value (e.g., empty string or "false"), or the annotation exists on a dependent object (like MachineHealthCheck) that acts as a blocker for the parent MachineDeployment.

If the annotation key exists in the metadata even if the value is not explicitly "true" the reconciliation loop can remain suspended. The status field showing paused: false may not reflect the actual metadata annotation state blocking the controller.

Resolution

You must remove the annotation key entirely from all relevant objects in the hierarchy: Cluster, KubeadmControlPlane, MachineDeployment and MachineHealthCheck.

kubectl annotate cluster <Workload_Cluster_Name> -n <namespace> cluster.x-k8s.io/paused-