@@ -300,16 +300,24 @@ func podSumRessourceRequirements(pod *corev1.Pod) corev1.ResourceRequirements {
300
300
// we need to add it's resources to the main container's resources
301
301
continue
302
302
}
303
- if limit , ok := c .Resources .Limits [k ]; ok {
304
- existing := ressourceRequirement .Limits [k ]
305
- if limit .Cmp (existing ) == 1 {
306
- ressourceRequirement .Limits [k ] = limit
303
+
304
+ request , requestFound := c .Resources .Requests [k ]
305
+ limit , limitFound := c .Resources .Limits [k ]
306
+
307
+ if requestFound {
308
+ maxRequest := ressourceRequirement .Requests [k ]
309
+ if request .Cmp (maxRequest ) == 1 {
310
+ ressourceRequirement .Requests [k ] = request
307
311
}
308
312
}
309
- if request , ok := c .Resources .Requests [k ]; ok {
310
- existing := ressourceRequirement .Requests [k ]
311
- if request .Cmp (existing ) == 1 {
312
- ressourceRequirement .Requests [k ] = request
313
+
314
+ if limitFound || requestFound {
315
+ if ! limitFound {
316
+ limit = request
317
+ }
318
+ maxLimit := ressourceRequirement .Limits [k ]
319
+ if limit .Cmp (maxLimit ) == 1 {
320
+ ressourceRequirement .Limits [k ] = limit
313
321
}
314
322
}
315
323
}
@@ -318,23 +326,39 @@ func podSumRessourceRequirements(pod *corev1.Pod) corev1.ResourceRequirements {
318
326
reqSum := resource.Quantity {}
319
327
for i := range pod .Spec .Containers {
320
328
c := & pod .Spec .Containers [i ]
321
- if l , ok := c .Resources .Limits [k ]; ok {
322
- limitSum .Add (l )
329
+
330
+ request , requestFound := c .Resources .Requests [k ]
331
+ limit , limitFound := c .Resources .Limits [k ]
332
+
333
+ if requestFound {
334
+ reqSum .Add (request )
323
335
}
324
- if l , ok := c .Resources .Requests [k ]; ok {
325
- reqSum .Add (l )
336
+
337
+ if requestFound || limitFound {
338
+ if ! limitFound {
339
+ limit = request
340
+ }
341
+ limitSum .Add (limit )
326
342
}
327
343
}
328
344
for i := range pod .Spec .InitContainers {
329
345
c := & pod .Spec .InitContainers [i ]
330
346
if ! initContainerIsSidecar (c ) {
331
347
continue
332
348
}
333
- if l , ok := c .Resources .Limits [k ]; ok {
334
- limitSum .Add (l )
349
+
350
+ request , requestFound := c .Resources .Requests [k ]
351
+ limit , limitFound := c .Resources .Limits [k ]
352
+
353
+ if requestFound {
354
+ reqSum .Add (request )
335
355
}
336
- if l , ok := c .Resources .Requests [k ]; ok {
337
- reqSum .Add (l )
356
+
357
+ if requestFound || limitFound {
358
+ if ! limitFound {
359
+ limit = request
360
+ }
361
+ limitSum .Add (limit )
338
362
}
339
363
}
340
364
0 commit comments