mirror of https://github.com/k3s-io/k3s
Add local storage support in Quota
parent
b65d665b99
commit
a3c180e549
|
@ -42,10 +42,13 @@ import (
|
||||||
var podResources = []api.ResourceName{
|
var podResources = []api.ResourceName{
|
||||||
api.ResourceCPU,
|
api.ResourceCPU,
|
||||||
api.ResourceMemory,
|
api.ResourceMemory,
|
||||||
|
api.ResourceEphemeralStorage,
|
||||||
api.ResourceRequestsCPU,
|
api.ResourceRequestsCPU,
|
||||||
api.ResourceRequestsMemory,
|
api.ResourceRequestsMemory,
|
||||||
|
api.ResourceRequestsEphemeralStorage,
|
||||||
api.ResourceLimitsCPU,
|
api.ResourceLimitsCPU,
|
||||||
api.ResourceLimitsMemory,
|
api.ResourceLimitsMemory,
|
||||||
|
api.ResourceLimitsEphemeralStorage,
|
||||||
api.ResourcePods,
|
api.ResourcePods,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,6 +194,13 @@ func podUsageHelper(requests api.ResourceList, limits api.ResourceList) api.Reso
|
||||||
if limit, found := limits[api.ResourceMemory]; found {
|
if limit, found := limits[api.ResourceMemory]; found {
|
||||||
result[api.ResourceLimitsMemory] = limit
|
result[api.ResourceLimitsMemory] = limit
|
||||||
}
|
}
|
||||||
|
if request, found := requests[api.ResourceEphemeralStorage]; found {
|
||||||
|
result[api.ResourceEphemeralStorage] = request
|
||||||
|
result[api.ResourceRequestsEphemeralStorage] = request
|
||||||
|
}
|
||||||
|
if limit, found := limits[api.ResourceEphemeralStorage]; found {
|
||||||
|
result[api.ResourceLimitsEphemeralStorage] = limit
|
||||||
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -142,6 +142,24 @@ func TestPodEvaluatorUsage(t *testing.T) {
|
||||||
api.ResourceMemory: resource.MustParse("1m"),
|
api.ResourceMemory: resource.MustParse("1m"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"init container local ephemeral storage": {
|
||||||
|
pod: &api.Pod{
|
||||||
|
Spec: api.PodSpec{
|
||||||
|
InitContainers: []api.Container{{
|
||||||
|
Resources: api.ResourceRequirements{
|
||||||
|
Requests: api.ResourceList{api.ResourceEphemeralStorage: resource.MustParse("32Mi")},
|
||||||
|
Limits: api.ResourceList{api.ResourceEphemeralStorage: resource.MustParse("64Mi")},
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
usage: api.ResourceList{
|
||||||
|
api.ResourceEphemeralStorage: resource.MustParse("32Mi"),
|
||||||
|
api.ResourceRequestsEphemeralStorage: resource.MustParse("32Mi"),
|
||||||
|
api.ResourceLimitsEphemeralStorage: resource.MustParse("64Mi"),
|
||||||
|
api.ResourcePods: resource.MustParse("1"),
|
||||||
|
},
|
||||||
|
},
|
||||||
"container CPU": {
|
"container CPU": {
|
||||||
pod: &api.Pod{
|
pod: &api.Pod{
|
||||||
Spec: api.PodSpec{
|
Spec: api.PodSpec{
|
||||||
|
@ -178,6 +196,24 @@ func TestPodEvaluatorUsage(t *testing.T) {
|
||||||
api.ResourceMemory: resource.MustParse("1m"),
|
api.ResourceMemory: resource.MustParse("1m"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"container local ephemeral storage": {
|
||||||
|
pod: &api.Pod{
|
||||||
|
Spec: api.PodSpec{
|
||||||
|
Containers: []api.Container{{
|
||||||
|
Resources: api.ResourceRequirements{
|
||||||
|
Requests: api.ResourceList{api.ResourceEphemeralStorage: resource.MustParse("32Mi")},
|
||||||
|
Limits: api.ResourceList{api.ResourceEphemeralStorage: resource.MustParse("64Mi")},
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
usage: api.ResourceList{
|
||||||
|
api.ResourceEphemeralStorage: resource.MustParse("32Mi"),
|
||||||
|
api.ResourceRequestsEphemeralStorage: resource.MustParse("32Mi"),
|
||||||
|
api.ResourceLimitsEphemeralStorage: resource.MustParse("64Mi"),
|
||||||
|
api.ResourcePods: resource.MustParse("1"),
|
||||||
|
},
|
||||||
|
},
|
||||||
"init container maximums override sum of containers": {
|
"init container maximums override sum of containers": {
|
||||||
pod: &api.Pod{
|
pod: &api.Pod{
|
||||||
Spec: api.PodSpec{
|
Spec: api.PodSpec{
|
||||||
|
|
Loading…
Reference in New Issue