@@ -105,7 +105,7 @@ var _ = Describe("Job E2E Test", func() {
105
105
err = waitPodGroupPending (context , pg )
106
106
Expect (err ).NotTo (HaveOccurred ())
107
107
108
- waitPodGroupUnschedulable (context , pg )
108
+ err = waitPodGroupUnschedulable (context , pg )
109
109
Expect (err ).NotTo (HaveOccurred ())
110
110
111
111
err = deleteReplicaSet (context , replicaset .Name )
@@ -325,4 +325,48 @@ var _ = Describe("Job E2E Test", func() {
325
325
err = waitTasksReadyEx (context , pg , expteced )
326
326
Expect (err ).NotTo (HaveOccurred ())
327
327
})
328
+
329
+ It ("Try to fit unassigned task with different resource requests in one loop" , func () {
330
+ context := initTestContext ()
331
+ defer cleanupTestContext (context )
332
+
333
+ slot := oneCPU
334
+ rep := clusterSize (context , slot )
335
+ minMemberOverride := int32 (1 )
336
+
337
+ replicaset := createReplicaSet (context , "rs-1" , rep - 1 , "nginx" , slot )
338
+ err := waitReplicaSetReady (context , replicaset .Name )
339
+ Expect (err ).NotTo (HaveOccurred ())
340
+
341
+ _ , pg := createJobEx (context , & jobSpec {
342
+ name : "multi-task-diff-resource-job" ,
343
+ tasks : []taskSpec {
344
+ {
345
+ img : "nginx" ,
346
+ pri : masterPriority ,
347
+ min : 1 ,
348
+ rep : 1 ,
349
+ req : twoCPU ,
350
+ },
351
+ {
352
+ img : "nginx" ,
353
+ pri : workerPriority ,
354
+ min : 1 ,
355
+ rep : 1 ,
356
+ req : halfCPU ,
357
+ },
358
+ },
359
+ minMember : & minMemberOverride ,
360
+ })
361
+
362
+ err = waitPodGroupPending (context , pg )
363
+ Expect (err ).NotTo (HaveOccurred ())
364
+
365
+ err = waitPodGroupUnschedulable (context , pg )
366
+ Expect (err ).NotTo (HaveOccurred ())
367
+
368
+ // task_1 has been scheduled
369
+ err = waitTasksReady (context , pg , int (minMemberOverride ))
370
+ Expect (err ).NotTo (HaveOccurred ())
371
+ })
328
372
})
0 commit comments