From c0a123c0cc99e8c5a19b5ed72bfb60094ad70623 Mon Sep 17 00:00:00 2001 From: watermeion Date: Tue, 26 Sep 2023 16:11:16 +0800 Subject: [PATCH] fix fhpa controller panic when SelectPolicy is nil Signed-off-by: watermeion --- pkg/controllers/federatedhpa/federatedhpa_controller.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/controllers/federatedhpa/federatedhpa_controller.go b/pkg/controllers/federatedhpa/federatedhpa_controller.go index f4ea553d162e..96d4792ca146 100644 --- a/pkg/controllers/federatedhpa/federatedhpa_controller.go +++ b/pkg/controllers/federatedhpa/federatedhpa_controller.go @@ -1143,9 +1143,9 @@ func calculateScaleUpLimitWithScalingRules(currentReplicas int32, scaleUpEvents, var result int32 var proposed int32 var selectPolicyFn func(int32, int32) int32 - if *scalingRules.SelectPolicy == autoscalingv2.DisabledPolicySelect { + if scalingRules.SelectPolicy != nil && *scalingRules.SelectPolicy == autoscalingv2.DisabledPolicySelect { return currentReplicas // Scaling is disabled - } else if *scalingRules.SelectPolicy == autoscalingv2.MinChangePolicySelect { + } else if scalingRules.SelectPolicy != nil && *scalingRules.SelectPolicy == autoscalingv2.MinChangePolicySelect { result = math.MaxInt32 selectPolicyFn = min // For scaling up, the lowest change ('min' policy) produces a minimum value } else { @@ -1172,9 +1172,9 @@ func calculateScaleDownLimitWithBehaviors(currentReplicas int32, scaleUpEvents, var result int32 var proposed int32 var selectPolicyFn func(int32, int32) int32 - if *scalingRules.SelectPolicy == autoscalingv2.DisabledPolicySelect { + if scalingRules.SelectPolicy != nil && *scalingRules.SelectPolicy == autoscalingv2.DisabledPolicySelect { return currentReplicas // Scaling is disabled - } else if *scalingRules.SelectPolicy == autoscalingv2.MinChangePolicySelect { + } else if scalingRules.SelectPolicy != nil && *scalingRules.SelectPolicy == autoscalingv2.MinChangePolicySelect { result = math.MinInt32 selectPolicyFn = max // For scaling down, the lowest change ('min' policy) produces a maximum value } else {