Skip to content

Commit

Permalink
Merge pull request #5967 from Bryce-Soghigian/cp/max-empty-bulk-delet…
Browse files Browse the repository at this point in the history
…e-1.27

Merge pull request #5890 from Bryce-Soghigian/bsoghigian/respecting-bulk-delete
  • Loading branch information
k8s-ci-robot authored Jul 19, 2023
2 parents 5667433 + b9557c7 commit 2886b31
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions cluster-autoscaler/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,16 @@ var (
forceDaemonSets = flag.Bool("force-ds", false, "Blocks scale-up of node groups too small for all suitable Daemon Sets pods.")
)

func isFlagPassed(name string) bool {
found := false
flag.Visit(func(f *flag.Flag) {
if f.Name == name {
found = true
}
})
return found
}

func createAutoscalingOptions() config.AutoscalingOptions {
minCoresTotal, maxCoresTotal, err := parseMinMaxFlag(*coresTotal)
if err != nil {
Expand All @@ -251,6 +261,17 @@ func createAutoscalingOptions() config.AutoscalingOptions {
if *maxDrainParallelismFlag > 1 && !*parallelDrain {
klog.Fatalf("Invalid configuration, could not use --max-drain-parallelism > 1 if --parallel-drain is false")
}

// in order to avoid inconsistent deletion thresholds for the legacy planner and the new actuator, the max-empty-bulk-delete,
// and max-scale-down-parallelism flags must be set to the same value.
if isFlagPassed("max-empty-bulk-delete") && !isFlagPassed("max-scale-down-parallelism") {
*maxScaleDownParallelismFlag = *maxEmptyBulkDeleteFlag
klog.Warning("The max-empty-bulk-delete flag will be deprecated in k8s version 1.29. Please use max-scale-down-parallelism instead.")
klog.Infof("Setting max-scale-down-parallelism to %d, based on the max-empty-bulk-delete value %d", *maxScaleDownParallelismFlag, *maxEmptyBulkDeleteFlag)
} else if !isFlagPassed("max-empty-bulk-delete") && isFlagPassed("max-scale-down-parallelism") {
*maxEmptyBulkDeleteFlag = *maxScaleDownParallelismFlag
}

return config.AutoscalingOptions{
NodeGroupDefaults: config.NodeGroupAutoscalingOptions{
ScaleDownUtilizationThreshold: *scaleDownUtilizationThreshold,
Expand Down

0 comments on commit 2886b31

Please sign in to comment.