Upgrading VMware Cloud Foundation (VCF) Automation fails during the platform health check stage. The following error is observed: Platform Health Check Error [platform-vmsp-platform-platform-control-plane-core : 1 of 1 resources are not ok: <node-name>: wrong resource state: InProgress - Rolling 1 replicas with outdated spec (1 replicas up to date);] [VCFMS-HEALTH-002]
Additionally, the capi-kubeadm-control-plane-controller-manager logs report that APIServerPodHealthy, ControllerManagerPodHealthy, SchedulerPodHealthy, and EtcdPodHealthy conditions are unknown. The new node displays a status of Ready with role <none>, and kubectl get machine reports that the control plane components do not exist.
VMware Cloud Foundation (VCF) Automation 9.1 EP2
The new Kubernetes node provisioned during the rolling upgrade is missing the required node-role.kubernetes.io/control-plane role label. This causes the Cluster API (CAPI) controller to evaluate the node as non-existent for control plane reconciliation, which fails the preflight checks and stalls the rolling upgrade in an InProgress state.
RESOLUTION
Connect to the VCF Automation Kubernetes cluster.
Apply the control-plane role label to the new node by executing the following command (replace <node-name> with the actual node name): kubectl label node <node-name> node-role.kubernetes.io/control-plane=""
Verify that the target node successfully assumes the control-plane role.
Wait for the outdated node to be decommissioned and removed from vCenter.
Verify that VCF Automation login functionality is restored.
Retry the upgrade to VCF Automation 9.1 EP2.