From d1bfcdf7f5ea3eb76ac071e83729af1a38119f39 Mon Sep 17 00:00:00 2001 From: derekwaynecarr Date: Tue, 14 Apr 2015 16:11:51 -0400 Subject: [PATCH 1/2] Remove trailing comma --- examples/resourcequota/v1beta3/resource-quota.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/resourcequota/v1beta3/resource-quota.json b/examples/resourcequota/v1beta3/resource-quota.json index bac1fd16f77..d4b0cb1b76c 100644 --- a/examples/resourcequota/v1beta3/resource-quota.json +++ b/examples/resourcequota/v1beta3/resource-quota.json @@ -2,7 +2,7 @@ "apiVersion": "v1beta3", "kind": "ResourceQuota", "metadata": { - "name": "quota", + "name": "quota" }, "spec": { "hard": { @@ -11,7 +11,7 @@ "pods": "10", "services": "5", "replicationcontrollers":"20", - "resourcequotas":"1", - }, + "resourcequotas":"1" + } } } From a50e53257da316a238bb3436ded9fda0e7e58ac5 Mon Sep 17 00:00:00 2001 From: derekwaynecarr Date: Tue, 14 Apr 2015 16:12:24 -0400 Subject: [PATCH 2/2] Fix nil pointer that can happen if no container resources are supplied --- plugin/pkg/admission/limitranger/admission.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugin/pkg/admission/limitranger/admission.go b/plugin/pkg/admission/limitranger/admission.go index f198b9f8d3e..a9182988f82 100644 --- a/plugin/pkg/admission/limitranger/admission.go +++ b/plugin/pkg/admission/limitranger/admission.go @@ -152,7 +152,13 @@ func defaultContainerResourceRequirements(limitRange *api.LimitRange) api.Resour // mergePodResourceRequirements merges enumerated requirements with default requirements func mergePodResourceRequirements(pod *api.Pod, defaultRequirements *api.ResourceRequirements) { for i := range pod.Spec.Containers { - container := pod.Spec.Containers[i] + container := &pod.Spec.Containers[i] + if container.Resources.Limits == nil { + container.Resources.Limits = api.ResourceList{} + } + if container.Resources.Requests == nil { + container.Resources.Requests = api.ResourceList{} + } for k, v := range defaultRequirements.Limits { _, found := container.Resources.Limits[k] if !found { @@ -185,7 +191,7 @@ func PodLimitFunc(limitRange *api.LimitRange, pod *api.Pod) error { maxContainerMem := int64(0) for i := range pod.Spec.Containers { - container := pod.Spec.Containers[i] + container := &pod.Spec.Containers[i] containerCPU := container.Resources.Limits.Cpu().MilliValue() containerMem := container.Resources.Limits.Memory().Value()