mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-14 06:15:45 +00:00
Refactor: avoid code duplication when converting custom resources
Signed-off-by: Itamar Holder <iholder@redhat.com>
This commit is contained in:
parent
47207f9aad
commit
b9109ab7e4
@ -2094,6 +2094,18 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon
|
|||||||
if oldStatus.Resources == nil {
|
if oldStatus.Resources == nil {
|
||||||
oldStatus.Resources = &v1.ResourceRequirements{}
|
oldStatus.Resources = &v1.ResourceRequirements{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
convertCustomResources := func(inResources, outResources v1.ResourceList) {
|
||||||
|
for extendedResourceName, extendedResourceQuantity := range inResources {
|
||||||
|
if extendedResourceName == v1.ResourceCPU || extendedResourceName == v1.ResourceMemory ||
|
||||||
|
extendedResourceName == v1.ResourceStorage || extendedResourceName == v1.ResourceEphemeralStorage {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
outResources[extendedResourceName] = extendedResourceQuantity.DeepCopy()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Convert Limits
|
// Convert Limits
|
||||||
if container.Resources.Limits != nil {
|
if container.Resources.Limits != nil {
|
||||||
limits = make(v1.ResourceList)
|
limits = make(v1.ResourceList)
|
||||||
@ -2111,14 +2123,7 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon
|
|||||||
limits[v1.ResourceEphemeralStorage] = ephemeralStorage.DeepCopy()
|
limits[v1.ResourceEphemeralStorage] = ephemeralStorage.DeepCopy()
|
||||||
}
|
}
|
||||||
|
|
||||||
for extendedResourceName, extendedResourceQuantity := range container.Resources.Limits {
|
convertCustomResources(container.Resources.Limits, limits)
|
||||||
if extendedResourceName == v1.ResourceCPU || extendedResourceName == v1.ResourceMemory ||
|
|
||||||
extendedResourceName == v1.ResourceStorage || extendedResourceName == v1.ResourceEphemeralStorage {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
limits[extendedResourceName] = extendedResourceQuantity.DeepCopy()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Convert Requests
|
// Convert Requests
|
||||||
if status.AllocatedResources != nil {
|
if status.AllocatedResources != nil {
|
||||||
@ -2135,14 +2140,7 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon
|
|||||||
requests[v1.ResourceEphemeralStorage] = ephemeralStorage.DeepCopy()
|
requests[v1.ResourceEphemeralStorage] = ephemeralStorage.DeepCopy()
|
||||||
}
|
}
|
||||||
|
|
||||||
for extendedResourceName, extendedResourceQuantity := range status.AllocatedResources {
|
convertCustomResources(status.AllocatedResources, requests)
|
||||||
if extendedResourceName == v1.ResourceCPU || extendedResourceName == v1.ResourceMemory ||
|
|
||||||
extendedResourceName == v1.ResourceStorage || extendedResourceName == v1.ResourceEphemeralStorage {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
requests[extendedResourceName] = extendedResourceQuantity.DeepCopy()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//TODO(vinaykul,derekwaynecarr,InPlacePodVerticalScaling): Update this to include extended resources in
|
//TODO(vinaykul,derekwaynecarr,InPlacePodVerticalScaling): Update this to include extended resources in
|
||||||
// addition to CPU, memory, ephemeral storage. Add test case for extended resources.
|
// addition to CPU, memory, ephemeral storage. Add test case for extended resources.
|
||||||
|
Loading…
Reference in New Issue
Block a user