From a21f542feca62ae1bf778245aba7ff06f4b7410a Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 5 Nov 2024 17:50:40 +0100 Subject: [PATCH] core: fix the revisionHistoryLimit implementation and test Co-authored-by: Travis Nielsen Signed-off-by: Michael Adam (cherry picked from commit 70d4f5d4b7d74b167ae6c2ba1a297e257670f760) --- .../ceph/controller/controller_utils.go | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/pkg/operator/ceph/controller/controller_utils.go b/pkg/operator/ceph/controller/controller_utils.go index 9d5e20752..acdf7920b 100644 --- a/pkg/operator/ceph/controller/controller_utils.go +++ b/pkg/operator/ceph/controller/controller_utils.go @@ -54,8 +54,7 @@ const ( enforceHostNetworkSettingName string = "ROOK_ENFORCE_HOST_NETWORK" enforceHostNetworkDefaultValue string = "false" - revisionHistoryLimitSettingName string = "ROOK_REVISION_HISTORY_LIMIT" - revisionHistoryLimitDefaultValue string = "" + revisionHistoryLimitSettingName string = "ROOK_REVISION_HISTORY_LIMIT" // UninitializedCephConfigError refers to the error message printed by the Ceph CLI when there is no ceph configuration file // This typically is raised when the operator has not finished initializing @@ -138,18 +137,21 @@ func EnforceHostNetwork() bool { } func SetRevisionHistoryLimit(data map[string]string) { - strval := k8sutil.GetValue(data, revisionHistoryLimitSettingName, revisionHistoryLimitDefaultValue) - if strval != "" { - numval, err := strconv.ParseInt(strval, 10, 32) - if err != nil { - logger.Warningf("failed to parse value %q for %q. assuming default value.", strval, revisionHistoryLimitSettingName) - revisionHistoryLimit = nil - return - - } - limit := int32(numval) - revisionHistoryLimit = &limit + strval := k8sutil.GetValue(data, revisionHistoryLimitSettingName, "") + var limit int32 + if strval == "" { + logger.Debugf("not parsing empty string to int for %q. assuming default value.", revisionHistoryLimitSettingName) + revisionHistoryLimit = nil + return } + numval, err := strconv.ParseInt(strval, 10, 32) + if err != nil { + logger.Warningf("failed to parse value %q for %q. assuming default value. %v", strval, revisionHistoryLimitSettingName, err) + revisionHistoryLimit = nil + return + } + limit = int32(numval) + revisionHistoryLimit = &limit }