Skip to content
This repository was archived by the owner on May 25, 2023. It is now read-only.

Commit 582fd94

Browse files
committed
Add e2e test for different task resources
1 parent 3caebf5 commit 582fd94

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

test/e2e/job.go

+45-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ var _ = Describe("Job E2E Test", func() {
105105
err = waitPodGroupPending(context, pg)
106106
Expect(err).NotTo(HaveOccurred())
107107

108-
waitPodGroupUnschedulable(context, pg)
108+
err = waitPodGroupUnschedulable(context, pg)
109109
Expect(err).NotTo(HaveOccurred())
110110

111111
err = deleteReplicaSet(context, replicaset.Name)
@@ -325,4 +325,48 @@ var _ = Describe("Job E2E Test", func() {
325325
err = waitTasksReadyEx(context, pg, expteced)
326326
Expect(err).NotTo(HaveOccurred())
327327
})
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+
336+
replicaset := createReplicaSet(context, "rs-1", rep/2, "nginx", slot)
337+
err := waitReplicaSetReady(context, replicaset.Name)
338+
Expect(err).NotTo(HaveOccurred())
339+
340+
_, pg := createJobEx(context, &jobSpec{
341+
name: "multi-pod-job",
342+
tasks: []taskSpec{
343+
{
344+
img: "nginx",
345+
pri: masterPriority, // make sure task require more resource rank higher
346+
min: rep/2 + 1,
347+
rep: rep/2 + 1,
348+
req: oneCPU,
349+
},
350+
{
351+
img: "nginx",
352+
pri: workerPriority,
353+
min: 1,
354+
rep: 1,
355+
req: minMilliCPU,
356+
},
357+
},
358+
})
359+
360+
err = waitPodGroupPending(context, pg)
361+
Expect(err).NotTo(HaveOccurred())
362+
363+
err = waitPodGroupUnschedulable(context, pg)
364+
Expect(err).NotTo(HaveOccurred())
365+
366+
err = deleteReplicaSet(context, replicaset.Name)
367+
Expect(err).NotTo(HaveOccurred())
368+
369+
err = waitPodGroupReady(context, pg)
370+
Expect(err).NotTo(HaveOccurred())
371+
})
328372
})

test/e2e/util.go

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ import (
4747

4848
var oneMinute = 1 * time.Minute
4949

50+
// Task with resource lower than minMilliCPU will be considered as BestEffort and skipped in allocate action
51+
var minMilliCPU = v1.ResourceList{"cpu": resource.MustParse("10m")}
5052
var oneCPU = v1.ResourceList{"cpu": resource.MustParse("1000m")}
5153
var twoCPU = v1.ResourceList{"cpu": resource.MustParse("2000m")}
5254
var threeCPU = v1.ResourceList{"cpu": resource.MustParse("3000m")}

0 commit comments

Comments
 (0)