From f1cca4baab0cf23d9a0c6145133e448c44814873 Mon Sep 17 00:00:00 2001 From: killianmuldoon Date: Wed, 5 Apr 2023 15:46:21 +0100 Subject: [PATCH] Ensure nil-pointer check in KCP syncMachines Signed-off-by: killianmuldoon --- controlplane/kubeadm/internal/controllers/controller.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/controlplane/kubeadm/internal/controllers/controller.go b/controlplane/kubeadm/internal/controllers/controller.go index 03919fb86394..882073d275fb 100644 --- a/controlplane/kubeadm/internal/controllers/controller.go +++ b/controlplane/kubeadm/internal/controllers/controller.go @@ -598,7 +598,10 @@ func (r *KubeadmControlPlaneReconciler) syncMachines(ctx context.Context, contro return errors.Wrapf(err, "failed to update InfrastructureMachine %s", klog.KObj(infraMachine)) } - kubeadmConfig := controlPlane.KubeadmConfigs[machineName] + kubeadmConfig, ok := controlPlane.GetKubeadmConfig(machineName) + if !ok || kubeadmConfig == nil { + return errors.Wrapf(err, "failed to retrieve KubeadmConfig for machine %s", machineName) + } // Note: Set the GroupVersionKind because updateExternalObject depends on it. kubeadmConfig.SetGroupVersionKind(m.Spec.Bootstrap.ConfigRef.GroupVersionKind()) // Cleanup managed fields of all KubeadmConfigs to drop ownership of labels and annotations