Skip to content

Commit 4e03407

Browse files
authored
Merge pull request #7864 from norbertcyran/fix-actuator-race
Lock deletion scheduler so race detector does not complain
2 parents c5789ae + d3d76aa commit 4e03407

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1274,9 +1274,10 @@ func runStartDeletionTest(t *testing.T, tc startDeletionTestCase, force bool) {
12741274
ndb := NewNodeDeletionBatcher(&ctx, scaleStateNotifier, ndt, 0*time.Second)
12751275
legacyFlagDrainConfig := SingleRuleDrainConfig(ctx.MaxGracefulTerminationSec)
12761276
evictor := Evictor{EvictionRetryTime: 0, PodEvictionHeadroom: DefaultPodEvictionHeadroom, shutdownGracePeriodByPodPriority: legacyFlagDrainConfig, fullDsEviction: force}
1277+
scheduler := NewGroupDeletionScheduler(&ctx, ndt, ndb, evictor)
12771278
actuator := Actuator{
12781279
ctx: &ctx, nodeDeletionTracker: ndt,
1279-
nodeDeletionScheduler: NewGroupDeletionScheduler(&ctx, ndt, ndb, evictor),
1280+
nodeDeletionScheduler: scheduler,
12801281
budgetProcessor: budgets.NewScaleDownBudgetProcessor(&ctx),
12811282
configGetter: nodegroupconfig.NewDefaultNodeGroupConfigProcessor(ctx.NodeGroupDefaults),
12821283
}
@@ -1305,9 +1306,12 @@ func runStartDeletionTest(t *testing.T, tc startDeletionTestCase, force bool) {
13051306
// Deletion taint may be lifted by goroutine, ignore taints to avoid race condition
13061307
ignoreTaints := cmpopts.IgnoreFields(apiv1.NodeSpec{}, "Taints")
13071308
statusCmpOpts := cmp.Options{ignoreSdNodeOrder, cmpNg, cmpopts.EquateEmpty(), ignoreTaints}
1309+
// lock deletion scheduler so race detector does not complain
1310+
scheduler.Lock()
13081311
if diff := cmp.Diff(wantScaleDownNodes, gotScaleDownNodes, statusCmpOpts); diff != "" {
13091312
t.Errorf("StartDeletion scaled down nodes diff (-want +got):\n%s", diff)
13101313
}
1314+
scheduler.Unlock()
13111315

13121316
// Verify that all expected nodes were deleted using the cloud provider hook.
13131317
var gotDeletedNodes []string

0 commit comments

Comments
 (0)