From 51f4d7c5fb8aa3f84c5ef79f008e83d401a4aa59 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Wed, 20 Jul 2016 22:21:02 -0400 Subject: [PATCH] Container limits are not applied to InitContainers InitContainers should be checked against limit rangers --- plugin/pkg/admission/limitranger/admission.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/plugin/pkg/admission/limitranger/admission.go b/plugin/pkg/admission/limitranger/admission.go index f5c4e8e9aaf..500f292f9e2 100644 --- a/plugin/pkg/admission/limitranger/admission.go +++ b/plugin/pkg/admission/limitranger/admission.go @@ -448,6 +448,24 @@ func PodLimitFunc(limitRange *api.LimitRange, pod *api.Pod) error { } } } + for j := range pod.Spec.InitContainers { + container := &pod.Spec.InitContainers[j] + for k, v := range limit.Min { + if err := minConstraint(limitType, k, v, container.Resources.Requests, container.Resources.Limits); err != nil { + errs = append(errs, err) + } + } + for k, v := range limit.Max { + if err := maxConstraint(limitType, k, v, container.Resources.Requests, container.Resources.Limits); err != nil { + errs = append(errs, err) + } + } + for k, v := range limit.MaxLimitRequestRatio { + if err := limitRequestRatioConstraint(limitType, k, v, container.Resources.Requests, container.Resources.Limits); err != nil { + errs = append(errs, err) + } + } + } } // enforce pod limits on init containers