From 8efe6957083ca963b7c1c1c81d8a7781dce7fbad Mon Sep 17 00:00:00 2001 From: Aleksandr Zimin Date: Mon, 1 Apr 2024 19:47:25 +0300 Subject: [PATCH] fix assignment to entry in nil map Signed-off-by: Aleksandr Zimin --- .../controller/local_storage_class_watcher.go | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/images/sds-local-volume-controller/pkg/controller/local_storage_class_watcher.go b/images/sds-local-volume-controller/pkg/controller/local_storage_class_watcher.go index 9ed83d59..7aa529be 100644 --- a/images/sds-local-volume-controller/pkg/controller/local_storage_class_watcher.go +++ b/images/sds-local-volume-controller/pkg/controller/local_storage_class_watcher.go @@ -20,6 +20,14 @@ import ( "context" "errors" "fmt" + "reflect" + v1alpha1 "sds-local-volume-controller/api/v1alpha1" + "sds-local-volume-controller/pkg/config" + "sds-local-volume-controller/pkg/logger" + "sds-local-volume-controller/pkg/monitoring" + "strings" + "time" + corev1 "k8s.io/api/core/v1" v1 "k8s.io/api/storage/v1" errors2 "k8s.io/apimachinery/pkg/api/errors" @@ -27,11 +35,6 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/util/workqueue" "k8s.io/utils/strings/slices" - "reflect" - v1alpha1 "sds-local-volume-controller/api/v1alpha1" - "sds-local-volume-controller/pkg/config" - "sds-local-volume-controller/pkg/logger" - "sds-local-volume-controller/pkg/monitoring" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller" "sigs.k8s.io/controller-runtime/pkg/event" @@ -39,8 +42,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/reconcile" "sigs.k8s.io/controller-runtime/pkg/source" "sigs.k8s.io/yaml" - "strings" - "time" "sigs.k8s.io/controller-runtime/pkg/manager" ) @@ -443,13 +444,19 @@ func reconcileLSCUpdateFunc( } func patchSCByLSC(sc *v1.StorageClass, lsc *v1alpha1.LocalStorageClass) *v1.StorageClass { - lscDefault := "false" + if lsc.Spec.IsDefault { - lscDefault = "true" + if sc.Annotations == nil { + sc.Annotations = make(map[string]string) + } + sc.Annotations[DefaultStorageClassAnnotationKey] = "true" + } else { + _, isDefault := sc.Annotations[DefaultStorageClassAnnotationKey] + if isDefault { + delete(sc.Annotations, DefaultStorageClassAnnotationKey) + } } - sc.Annotations[DefaultStorageClassAnnotationKey] = lscDefault - return sc }