diff --git a/cluster-autoscaler/cloudprovider/aws/aws_manager_test.go b/cluster-autoscaler/cloudprovider/aws/aws_manager_test.go index 2b7c5fdc57b5..9dbf4913c07a 100644 --- a/cluster-autoscaler/cloudprovider/aws/aws_manager_test.go +++ b/cluster-autoscaler/cloudprovider/aws/aws_manager_test.go @@ -109,6 +109,7 @@ func TestGetAsgOptions(t *testing.T) { ScaleDownGpuUtilizationThreshold: 0.2, ScaleDownUnneededTime: time.Second, ScaleDownUnreadyTime: time.Minute, + IgnoreDaemonSetsUtilization: false, } tests := []struct { @@ -124,39 +125,60 @@ func TestGetAsgOptions(t *testing.T) { { description: "keep defaults on invalid tags values", tags: map[string]string{ - "scaledownutilizationthreshold": "not-a-float", - "scaledownunneededtime": "not-a-duration", - "ScaleDownUnreadyTime": "", + config.DefaultScaleDownUtilizationThresholdKey: "not-a-float", + config.DefaultScaleDownUnneededTimeKey: "not-a-duration", + "ScaleDownUnreadyTime": "", + config.DefaultIgnoreDaemonSetsUtilizationKey: "not-a-bool", }, expected: &defaultOptions, }, { description: "use provided tags and fill missing with defaults", tags: map[string]string{ - "scaledownutilizationthreshold": "0.42", - "scaledownunneededtime": "1h", + config.DefaultScaleDownUtilizationThresholdKey: "0.42", + config.DefaultScaleDownUnneededTimeKey: "1h", + config.DefaultIgnoreDaemonSetsUtilizationKey: "true", }, expected: &config.NodeGroupAutoscalingOptions{ ScaleDownUtilizationThreshold: 0.42, ScaleDownGpuUtilizationThreshold: defaultOptions.ScaleDownGpuUtilizationThreshold, ScaleDownUnneededTime: time.Hour, ScaleDownUnreadyTime: defaultOptions.ScaleDownUnreadyTime, + IgnoreDaemonSetsUtilization: true, + }, + }, + { + description: "use provided tags (happy path)", + tags: map[string]string{ + config.DefaultScaleDownUtilizationThresholdKey: "0.42", + config.DefaultScaleDownUnneededTimeKey: "1h", + config.DefaultScaleDownGpuUtilizationThresholdKey: "0.7", + config.DefaultScaleDownUnreadyTimeKey: "25m", + config.DefaultIgnoreDaemonSetsUtilizationKey: "true", + }, + expected: &config.NodeGroupAutoscalingOptions{ + ScaleDownUtilizationThreshold: 0.42, + ScaleDownGpuUtilizationThreshold: 0.7, + ScaleDownUnneededTime: time.Hour, + ScaleDownUnreadyTime: 25 * time.Minute, + IgnoreDaemonSetsUtilization: true, }, }, { description: "ignore unknown tags", tags: map[string]string{ - "scaledownutilizationthreshold": "0.6", - "scaledowngpuutilizationthreshold": "0.7", - "scaledownunneededtime": "1m", - "scaledownunreadytime": "1h", - "notyetspecified": "42", + config.DefaultScaleDownUtilizationThresholdKey: "0.6", + config.DefaultScaleDownGpuUtilizationThresholdKey: "0.7", + config.DefaultScaleDownUnneededTimeKey: "1m", + config.DefaultScaleDownUnreadyTimeKey: "1h", + "notyetspecified": "42", }, expected: &config.NodeGroupAutoscalingOptions{ ScaleDownUtilizationThreshold: 0.6, ScaleDownGpuUtilizationThreshold: 0.7, ScaleDownUnneededTime: time.Minute, ScaleDownUnreadyTime: time.Hour, + IgnoreDaemonSetsUtilization: false, }, }, }