Skip to content

Commit 8c57466

Browse files
authored
Roman/subgroup pod status cache (#429)
* Added UID to PodInfo instances in tests * Added statuses cache to SubgroupInfo
1 parent 26a70ec commit 8c57466

File tree

8 files changed

+387
-273
lines changed

8 files changed

+387
-273
lines changed

pkg/scheduler/actions/common/feasible_nodes_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ func TestFeasibleNodes(t *testing.T) {
9090
SubGroups: map[string]*podgroup_info.SubGroupInfo{
9191
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 1).WithPodInfos(pod_info.PodsMap{
9292
"pod1": &pod_info.PodInfo{
93+
UID: "pod1",
9394
ResourceRequestType: pod_info.RequestTypeRegular,
9495
ResReq: resource_info.NewResourceRequirementsWithGpus(1),
9596
},
@@ -105,6 +106,7 @@ func TestFeasibleNodes(t *testing.T) {
105106
SubGroups: map[string]*podgroup_info.SubGroupInfo{
106107
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 1).WithPodInfos(pod_info.PodsMap{
107108
"pod1": &pod_info.PodInfo{
109+
UID: "pod1",
108110
ResourceRequestType: pod_info.RequestTypeRegular,
109111
ResReq: resource_info.NewResourceRequirements(0, 1000, 0),
110112
},
@@ -120,6 +122,7 @@ func TestFeasibleNodes(t *testing.T) {
120122
SubGroups: map[string]*podgroup_info.SubGroupInfo{
121123
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 1).WithPodInfos(pod_info.PodsMap{
122124
"pod1": &pod_info.PodInfo{
125+
UID: "pod1",
123126
ResourceRequestType: pod_info.RequestTypeRegular,
124127
ResReq: &resource_info.ResourceRequirements{
125128
GpuResourceRequirement: *resource_info.NewGpuResourceRequirementWithGpus(2, 0),
@@ -137,12 +140,14 @@ func TestFeasibleNodes(t *testing.T) {
137140
SubGroups: map[string]*podgroup_info.SubGroupInfo{
138141
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 2).WithPodInfos(pod_info.PodsMap{
139142
"pod1": &pod_info.PodInfo{
143+
UID: "pod1",
140144
ResourceRequestType: pod_info.RequestTypeRegular,
141145
ResReq: &resource_info.ResourceRequirements{
142146
GpuResourceRequirement: *resource_info.NewGpuResourceRequirementWithGpus(2, 0),
143147
},
144148
},
145149
"pod2": &pod_info.PodInfo{
150+
UID: "pod2",
146151
ResReq: &resource_info.ResourceRequirements{
147152
GpuResourceRequirement: *resource_info.NewGpuResourceRequirementWithGpus(2, 0),
148153
},
@@ -159,12 +164,14 @@ func TestFeasibleNodes(t *testing.T) {
159164
SubGroups: map[string]*podgroup_info.SubGroupInfo{
160165
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 2).WithPodInfos(pod_info.PodsMap{
161166
"pod1": &pod_info.PodInfo{
167+
UID: "pod1",
162168
ResourceRequestType: pod_info.RequestTypeRegular,
163169
ResReq: &resource_info.ResourceRequirements{
164170
GpuResourceRequirement: *resource_info.NewGpuResourceRequirementWithGpus(2, 0),
165171
},
166172
},
167173
"pod2": &pod_info.PodInfo{
174+
UID: "pod2",
168175
ResReq: resource_info.NewResourceRequirements(0, 1000, 2000),
169176
},
170177
}),
@@ -179,6 +186,7 @@ func TestFeasibleNodes(t *testing.T) {
179186
SubGroups: map[string]*podgroup_info.SubGroupInfo{
180187
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 1).WithPodInfos(pod_info.PodsMap{
181188
"pod1": &pod_info.PodInfo{
189+
UID: "pod1",
182190
ResourceRequestType: pod_info.RequestTypeFraction,
183191
ResReq: &resource_info.ResourceRequirements{
184192
GpuResourceRequirement: *resource_info.NewGpuResourceRequirementWithGpus(0.5, 0),
@@ -196,6 +204,7 @@ func TestFeasibleNodes(t *testing.T) {
196204
SubGroups: map[string]*podgroup_info.SubGroupInfo{
197205
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 1).WithPodInfos(pod_info.PodsMap{
198206
"pod1": &pod_info.PodInfo{
207+
UID: "pod1",
199208
ResourceRequestType: pod_info.RequestTypeGpuMemory,
200209
ResReq: &resource_info.ResourceRequirements{
201210
GpuResourceRequirement: *resource_info.NewGpuResourceRequirementWithGpus(
@@ -214,6 +223,7 @@ func TestFeasibleNodes(t *testing.T) {
214223
SubGroups: map[string]*podgroup_info.SubGroupInfo{
215224
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 1).WithPodInfos(pod_info.PodsMap{
216225
"pod1": &pod_info.PodInfo{
226+
UID: "pod1",
217227
ResourceRequestType: pod_info.RequestTypeMigInstance,
218228
ResReq: &resource_info.ResourceRequirements{
219229
GpuResourceRequirement: *resource_info.NewGpuResourceRequirementWithMig(

pkg/scheduler/actions/utils/job_order_by_queue_test.go

Lines changed: 84 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,9 @@ func TestNumericalPriorityWithinSameQueue(t *testing.T) {
5656
},
5757
SubGroups: map[string]*podgroup_info.SubGroupInfo{
5858
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
59-
testPod: {},
59+
testPod: {
60+
UID: testPod,
61+
},
6062
}),
6163
},
6264
},
@@ -71,7 +73,9 @@ func TestNumericalPriorityWithinSameQueue(t *testing.T) {
7173
},
7274
SubGroups: map[string]*podgroup_info.SubGroupInfo{
7375
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
74-
testPod: {},
76+
testPod: {
77+
UID: testPod,
78+
},
7579
}),
7680
},
7781
},
@@ -86,7 +90,9 @@ func TestNumericalPriorityWithinSameQueue(t *testing.T) {
8690
},
8791
SubGroups: map[string]*podgroup_info.SubGroupInfo{
8892
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
89-
testPod: {},
93+
testPod: {
94+
UID: testPod,
95+
},
9096
}),
9197
},
9298
},
@@ -101,7 +107,9 @@ func TestNumericalPriorityWithinSameQueue(t *testing.T) {
101107
},
102108
SubGroups: map[string]*podgroup_info.SubGroupInfo{
103109
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
104-
testPod: {},
110+
testPod: {
111+
UID: testPod,
112+
},
105113
}),
106114
},
107115
},
@@ -364,12 +372,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
364372
Queue: "q1",
365373
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
366374
pod_status.Pending: {
367-
"p1": {},
375+
testPod: {
376+
UID: testPod,
377+
},
368378
},
369379
},
370380
SubGroups: map[string]*podgroup_info.SubGroupInfo{
371381
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
372-
"p1": {},
382+
testPod: {
383+
UID: testPod,
384+
},
373385
}),
374386
},
375387
},
@@ -382,12 +394,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
382394
Queue: "q1",
383395
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
384396
pod_status.Pending: {
385-
"p1": {},
397+
testPod: {
398+
UID: testPod,
399+
},
386400
},
387401
},
388402
SubGroups: map[string]*podgroup_info.SubGroupInfo{
389403
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
390-
"p1": {},
404+
testPod: {
405+
UID: testPod,
406+
},
391407
}),
392408
},
393409
},
@@ -415,12 +431,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
415431
Queue: "q1",
416432
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
417433
pod_status.Pending: {
418-
"p1": {},
434+
testPod: {
435+
UID: testPod,
436+
},
419437
},
420438
},
421439
SubGroups: map[string]*podgroup_info.SubGroupInfo{
422440
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
423-
"p1": {},
441+
testPod: {
442+
UID: testPod,
443+
},
424444
}),
425445
},
426446
},
@@ -434,12 +454,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
434454
Queue: "q1",
435455
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
436456
pod_status.Pending: {
437-
"p1": {},
457+
testPod: {
458+
UID: testPod,
459+
},
438460
},
439461
},
440462
SubGroups: map[string]*podgroup_info.SubGroupInfo{
441463
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
442-
"p1": {},
464+
testPod: {
465+
UID: testPod,
466+
},
443467
}),
444468
},
445469
},
@@ -453,12 +477,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
453477
Queue: "q1",
454478
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
455479
pod_status.Pending: {
456-
"p1": {},
480+
testPod: {
481+
UID: testPod,
482+
},
457483
},
458484
},
459485
SubGroups: map[string]*podgroup_info.SubGroupInfo{
460486
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
461-
"p1": {},
487+
testPod: {
488+
UID: testPod,
489+
},
462490
}),
463491
},
464492
},
@@ -469,12 +497,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
469497
Queue: "q1",
470498
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
471499
pod_status.Pending: {
472-
"p1": {},
500+
testPod: {
501+
UID: testPod,
502+
},
473503
},
474504
},
475505
SubGroups: map[string]*podgroup_info.SubGroupInfo{
476506
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
477-
"p1": {},
507+
testPod: {
508+
UID: testPod,
509+
},
478510
}),
479511
},
480512
},
@@ -502,12 +534,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
502534
Queue: "q1",
503535
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
504536
pod_status.Pending: {
505-
"p1": {},
537+
testPod: {
538+
UID: testPod,
539+
},
506540
},
507541
},
508542
SubGroups: map[string]*podgroup_info.SubGroupInfo{
509543
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
510-
"p1": {},
544+
testPod: {
545+
UID: testPod,
546+
},
511547
}),
512548
},
513549
},
@@ -521,12 +557,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
521557
Queue: "q1",
522558
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
523559
pod_status.Pending: {
524-
"p1": {},
560+
testPod: {
561+
UID: testPod,
562+
},
525563
},
526564
},
527565
SubGroups: map[string]*podgroup_info.SubGroupInfo{
528566
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
529-
"p1": {},
567+
testPod: {
568+
UID: testPod,
569+
},
530570
}),
531571
},
532572
},
@@ -540,12 +580,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
540580
Queue: "q1",
541581
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
542582
pod_status.Pending: {
543-
"p1": {},
583+
testPod: {
584+
UID: testPod,
585+
},
544586
},
545587
},
546588
SubGroups: map[string]*podgroup_info.SubGroupInfo{
547589
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
548-
"p1": {},
590+
testPod: {
591+
UID: testPod,
592+
},
549593
}),
550594
},
551595
},
@@ -556,12 +600,16 @@ func TestJobsOrderByQueues_PushJob(t *testing.T) {
556600
Queue: "q1",
557601
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
558602
pod_status.Pending: {
559-
"p1": {},
603+
testPod: {
604+
UID: testPod,
605+
},
560606
},
561607
},
562608
SubGroups: map[string]*podgroup_info.SubGroupInfo{
563609
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
564-
"p1": {},
610+
testPod: {
611+
UID: testPod,
612+
},
565613
}),
566614
},
567615
},
@@ -640,12 +688,16 @@ func TestJobsOrderByQueues_RequeueJob(t *testing.T) {
640688
Queue: "q1",
641689
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
642690
pod_status.Pending: {
643-
"p1": {},
691+
testPod: {
692+
UID: testPod,
693+
},
644694
},
645695
},
646696
SubGroups: map[string]*podgroup_info.SubGroupInfo{
647697
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
648-
"p1": {},
698+
testPod: {
699+
UID: testPod,
700+
},
649701
}),
650702
},
651703
},
@@ -660,12 +712,16 @@ func TestJobsOrderByQueues_RequeueJob(t *testing.T) {
660712
Queue: "q1",
661713
PodStatusIndex: map[pod_status.PodStatus]pod_info.PodsMap{
662714
pod_status.Pending: {
663-
"p1": {},
715+
testPod: {
716+
UID: testPod,
717+
},
664718
},
665719
},
666720
SubGroups: map[string]*podgroup_info.SubGroupInfo{
667721
podgroup_info.DefaultSubGroup: podgroup_info.NewSubGroupInfo(podgroup_info.DefaultSubGroup, 0).WithPodInfos(pod_info.PodsMap{
668-
"p1": {},
722+
testPod: {
723+
UID: testPod,
724+
},
669725
}),
670726
},
671727
},

0 commit comments

Comments
 (0)