What steps did you take and what happened:
Whenever KCP can't establish a connection to the workload cluster it will log an error saying "Failed to update KubeadmControlPlane Status". This isn't true, and we don't treat it as a terminal error, because this is only part of what updateStatus does. We still update the fields we can on the KCP object, and then we still patch the object in etcd even if we can't connect to etcd.
What steps did you take and what happened: Whenever KCP can't establish a connection to the workload cluster it will log an error saying "Failed to update KubeadmControlPlane Status". This isn't true, and we don't treat it as a terminal error, because this is only part of what
updateStatus
does. We still update the fields we can on the KCP object, and then we still patch the object in etcd even if we can't connect to etcd.https://github.com/kubernetes-sigs/cluster-api/blob/master/controlplane/kubeadm/controllers/controller.go#L159-L162 https://github.com/kubernetes-sigs/cluster-api/blob/master/controlplane/kubeadm/controllers/status.go#L65-L68
What did you expect to happen: It should be an Info message, something like "Could not connect to workload cluster to fetch status".
/kind bug /area control-plane