X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3a35c1dca48cf1470690be5c021046ac87faaa21..e5394906b154b630699c0edd4add36eca34611b3:/lib/dispatchcloud/scheduler/run_queue_test.go?ds=sidebyside diff --git a/lib/dispatchcloud/scheduler/run_queue_test.go b/lib/dispatchcloud/scheduler/run_queue_test.go index 73602f8109..4359ae03ba 100644 --- a/lib/dispatchcloud/scheduler/run_queue_test.go +++ b/lib/dispatchcloud/scheduler/run_queue_test.go @@ -29,12 +29,6 @@ var ( }() ) -type stubQuotaError struct { - error -} - -func (stubQuotaError) IsQuotaError() bool { return true } - type stubPool struct { notify <-chan struct{} unalloc map[arvados.InstanceType]int // idle+booting+unknown @@ -195,7 +189,7 @@ func (*SchedulerSuite) TestUseIdleWorkers(c *check.C) { running: map[string]time.Time{}, canCreate: 0, } - New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0).runQueue() + New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0).runQueue() c.Check(pool.creates, check.DeepEquals, []arvados.InstanceType{test.InstanceType(1), test.InstanceType(1), test.InstanceType(1)}) c.Check(pool.starts, check.DeepEquals, []string{test.ContainerUUID(4)}) c.Check(pool.running, check.HasLen, 1) @@ -247,7 +241,7 @@ func (*SchedulerSuite) TestShutdownAtQuota(c *check.C) { starts: []string{}, canCreate: 0, } - sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0) + sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0) sch.sync() sch.runQueue() sch.sync() @@ -361,7 +355,7 @@ func (*SchedulerSuite) TestIdleIn503QuietPeriod(c *check.C) { starts: []string{}, canCreate: 0, } - sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0) + sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0) sch.last503time = time.Now() sch.maxConcurrency = 3 sch.sync() @@ -416,7 +410,7 @@ func (*SchedulerSuite) TestUnlockExcessSupervisors(c *check.C) { starts: []string{}, canCreate: 0, } - sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 4) + sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 8, 0.5) sch.sync() sch.runQueue() sch.sync() @@ -475,7 +469,7 @@ func (*SchedulerSuite) TestExcessSupervisors(c *check.C) { starts: []string{}, canCreate: 0, } - sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 4) + sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 8, 0.5) sch.sync() sch.runQueue() sch.sync() @@ -526,7 +520,7 @@ func (*SchedulerSuite) TestEqualPriorityContainers(c *check.C) { starts: []string{}, canCreate: 0, } - sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0) + sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0) for i := 0; i < 30; i++ { sch.runQueue() sch.sync() @@ -628,7 +622,7 @@ func (*SchedulerSuite) TestStartWhileCreating(c *check.C) { }, } queue.Update() - New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0).runQueue() + New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0).runQueue() c.Check(pool.creates, check.DeepEquals, []arvados.InstanceType{test.InstanceType(2), test.InstanceType(1)}) c.Check(pool.starts, check.DeepEquals, []string{uuids[6], uuids[5], uuids[3], uuids[2]}) running := map[string]bool{} @@ -672,7 +666,7 @@ func (*SchedulerSuite) TestKillNonexistentContainer(c *check.C) { }, } queue.Update() - sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0) + sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0) c.Check(pool.running, check.HasLen, 1) sch.sync() for deadline := time.Now().Add(time.Second); len(pool.Running()) > 0 && time.Now().Before(deadline); time.Sleep(time.Millisecond) { @@ -705,7 +699,7 @@ func (*SchedulerSuite) TestContainersMetrics(c *check.C) { pool := stubPool{ unalloc: map[arvados.InstanceType]int{test.InstanceType(1): 1}, } - sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0) + sch := New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0) sch.runQueue() sch.updateMetrics() @@ -717,7 +711,7 @@ func (*SchedulerSuite) TestContainersMetrics(c *check.C) { // 'over quota' metric will be 1 because no workers are available and canCreate defaults // to zero. pool = stubPool{} - sch = New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0) + sch = New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0) sch.runQueue() sch.updateMetrics() @@ -750,7 +744,7 @@ func (*SchedulerSuite) TestContainersMetrics(c *check.C) { unalloc: map[arvados.InstanceType]int{test.InstanceType(1): 1}, running: map[string]time.Time{}, } - sch = New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0) + sch = New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 0, 0) sch.runQueue() sch.updateMetrics() @@ -824,7 +818,7 @@ func (*SchedulerSuite) TestSkipSupervisors(c *check.C) { running: map[string]time.Time{}, canCreate: 0, } - New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 2).runQueue() + New(ctx, arvados.NewClientFromEnv(), &queue, &pool, nil, time.Millisecond, time.Millisecond, 0, 10, 0.2).runQueue() c.Check(pool.creates, check.DeepEquals, []arvados.InstanceType(nil)) c.Check(pool.starts, check.DeepEquals, []string{test.ContainerUUID(4), test.ContainerUUID(3), test.ContainerUUID(1)}) }