From 6d30801759dcb724905007b103a729307414aed7 Mon Sep 17 00:00:00 2001 From: Christian Schlotter Date: Tue, 16 Jul 2024 16:29:36 +0200 Subject: [PATCH] capd: fix nil pointer in dockermachinepool controller --- .../controllers/dockermachinepool_controller_phases.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/infrastructure/docker/exp/internal/controllers/dockermachinepool_controller_phases.go b/test/infrastructure/docker/exp/internal/controllers/dockermachinepool_controller_phases.go index 2afae7393738..e455b931bff1 100644 --- a/test/infrastructure/docker/exp/internal/controllers/dockermachinepool_controller_phases.go +++ b/test/infrastructure/docker/exp/internal/controllers/dockermachinepool_controller_phases.go @@ -312,16 +312,19 @@ func (r *DockerMachinePoolReconciler) deleteMachinePoolMachine(ctx context.Conte // propagateMachineDeleteAnnotation returns the DockerMachines for a MachinePool and for each DockerMachine, it copies the owner // Machine's delete annotation to each DockerMachine if it's present. This is done just in time to ensure that the annotations are // up to date when we sort for DockerMachine deletion. -func (r *DockerMachinePoolReconciler) propagateMachineDeleteAnnotation(ctx context.Context, dockerMachineSet map[string]infrav1.DockerMachine) ([]infrav1.DockerMachine, error) { +func (r *DockerMachinePoolReconciler) propagateMachineDeleteAnnotation(ctx context.Context, dockerMachineMap map[string]infrav1.DockerMachine) ([]infrav1.DockerMachine, error) { _ = ctrl.LoggerFrom(ctx) dockerMachines := []infrav1.DockerMachine{} - for _, dockerMachine := range dockerMachineSet { + for _, dockerMachine := range dockerMachineMap { machine, err := util.GetOwnerMachine(ctx, r.Client, dockerMachine.ObjectMeta) if err != nil { return nil, errors.Wrapf(err, "error getting owner Machine for DockerMachine %s/%s", dockerMachine.Namespace, dockerMachine.Name) } if machine != nil && machine.Annotations != nil { + if dockerMachine.Annotations == nil { + dockerMachine.Annotations = map[string]string{} + } if _, hasDeleteAnnotation := machine.Annotations[clusterv1.DeleteMachineAnnotation]; hasDeleteAnnotation { dockerMachine.Annotations[clusterv1.DeleteMachineAnnotation] = machine.Annotations[clusterv1.DeleteMachineAnnotation] }