Skip to content

Commit 4a98cf6

Browse files
committed
Use single AtomicScaling option for scale up and scale down
1 parent b7aa98b commit 4a98cf6

File tree

8 files changed

+10
-12
lines changed

8 files changed

+10
-12
lines changed

cluster-autoscaler/cloudprovider/test/test_cloud_provider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ func (tng *TestNodeGroup) DeleteNodes(nodes []*apiv1.Node) error {
443443
id := tng.id
444444
tng.targetSize -= len(nodes)
445445
tng.Unlock()
446-
if tng.opts != nil && tng.opts.AtomicScaleDown && tng.targetSize != 0 {
446+
if tng.opts != nil && tng.opts.AtomicScaling && tng.targetSize != 0 {
447447
return fmt.Errorf("TestNodeGroup: attempted to partially scale down a node group that should be scaled down atomically")
448448
}
449449
for _, node := range nodes {

cluster-autoscaler/config/autoscaling_options.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ type NodeGroupAutoscalingOptions struct {
4646
ScaleDownUnreadyTime time.Duration
4747
// Maximum time CA waits for node to be provisioned
4848
MaxNodeProvisionTime time.Duration
49-
// AtomicScaleDown means that all nodes should be brought down all at once instead of one-by-one
50-
AtomicScaleDown bool
49+
// AtomicScaling means that all nodes should be provisioned and brought down all at once instead of one-by-one
50+
AtomicScaling bool
5151
}
5252

5353
// GCEOptions contain autoscaling options specific to GCE cloud provider.

cluster-autoscaler/core/scaledown/actuation/actuator_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1103,7 +1103,7 @@ func TestStartDeletionInBatchBasic(t *testing.T) {
11031103
func sizedNodeGroup(id string, size int, atomic bool) cloudprovider.NodeGroup {
11041104
ng := testprovider.NewTestNodeGroup(id, 10000, 0, size, true, false, "n1-standard-2", nil, nil)
11051105
ng.SetOptions(&config.NodeGroupAutoscalingOptions{
1106-
AtomicScaleDown: atomic,
1106+
AtomicScaling: atomic,
11071107
})
11081108
return ng
11091109
}

cluster-autoscaler/core/scaledown/actuation/group_deletion_scheduler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func (ds *GroupDeletionScheduler) ScheduleDeletion(nodeInfo *framework.NodeInfo,
7979
return
8080
}
8181

82-
ds.addToBatcher(nodeInfo, nodeGroup, batchSize, drain, opts.AtomicScaleDown)
82+
ds.addToBatcher(nodeInfo, nodeGroup, batchSize, drain, opts.AtomicScaling)
8383
}
8484

8585
// prepareNodeForDeletion is a long-running operation, so it needs to avoid locking the AtomicDeletionScheduler object

cluster-autoscaler/core/scaledown/budgets/budgets.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ func NewScaleDownBudgetProcessor(ctx *context.AutoscalingContext, as scaledown.A
5252
func (bp *ScaleDownBudgetProcessor) CropNodes(empty, drain []*apiv1.Node) (emptyToDelete, drainToDelete []*NodeGroupView) {
5353
emptyIndividual, emptyAtomic := bp.categorize(bp.group(empty))
5454
drainIndividual, drainAtomic := bp.categorize(bp.group(drain))
55-
//emptyIndividual, emptyAtomic := bp.groupByNodeGroup(empty)
56-
//drainIndividual, drainAtomic := bp.groupByNodeGroup(drain)
5755

5856
emptyInProgress, drainInProgress := bp.actuationStatus.DeletionsInProgress()
5957
parallelismBudget := bp.ctx.MaxScaleDownParallelism - len(emptyInProgress) - len(drainInProgress)
@@ -146,7 +144,7 @@ func (bp *ScaleDownBudgetProcessor) categorize(groups []*NodeGroupView) (individ
146144
klog.Errorf("Failed to get autoscaling options for node group %s: %v", view.Group.Id(), err)
147145
continue
148146
}
149-
if autoscalingOptions != nil && autoscalingOptions.AtomicScaleDown {
147+
if autoscalingOptions != nil && autoscalingOptions.AtomicScaling {
150148
atomic = append(atomic, view)
151149
} else {
152150
individual = append(individual, view)
@@ -169,7 +167,7 @@ func (bp *ScaleDownBudgetProcessor) groupByNodeGroup(nodes []*apiv1.Node) (indiv
169167
klog.Errorf("Failed to get autoscaling options for node group %s: %v", nodeGroup.Id(), err)
170168
continue
171169
}
172-
if autoscalingOptions != nil && autoscalingOptions.AtomicScaleDown {
170+
if autoscalingOptions != nil && autoscalingOptions.AtomicScaling {
173171
if idx, ok := atomicGroup[nodeGroup]; ok {
174172
atomic[idx].Nodes = append(atomic[idx].Nodes, node)
175173
} else {

cluster-autoscaler/core/scaledown/budgets/budgets_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ var transformNodeGroupView = cmp.Transformer("transformNodeGroupView", func(b No
361361
func sizedNodeGroup(id string, size int, atomic bool) cloudprovider.NodeGroup {
362362
ng := testprovider.NewTestNodeGroup(id, 10000, 0, size, true, false, "n1-standard-2", nil, nil)
363363
ng.SetOptions(&config.NodeGroupAutoscalingOptions{
364-
AtomicScaleDown: atomic,
364+
AtomicScaling: atomic,
365365
})
366366
return ng
367367
}

cluster-autoscaler/core/scaledown/planner/planner.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ func (p *Planner) filterOutIncompleteAtomicNodeGroups(nodes []*apiv1.Node) ([]*a
189189
klog.Errorf("Failed to get autoscaling options for node group %s: %v", nodeGroup.Id(), err)
190190
continue
191191
}
192-
if autoscalingOptions != nil && autoscalingOptions.AtomicScaleDown {
192+
if autoscalingOptions != nil && autoscalingOptions.AtomicScaling {
193193
klog.V(2).Infof("Considering node %s for atomic scale down", node.Name)
194194
nodesByGroup[nodeGroup] = append(nodesByGroup[nodeGroup], node)
195195
} else {

cluster-autoscaler/core/scaledown/planner/planner_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,7 @@ func TestNodesToDelete(t *testing.T) {
795795
func sizedNodeGroup(id string, size int, atomic bool) cloudprovider.NodeGroup {
796796
ng := testprovider.NewTestNodeGroup(id, 10000, 0, size, true, false, "n1-standard-2", nil, nil)
797797
ng.SetOptions(&config.NodeGroupAutoscalingOptions{
798-
AtomicScaleDown: atomic,
798+
AtomicScaling: atomic,
799799
})
800800
return ng
801801
}

0 commit comments

Comments
 (0)