mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 10:43:56 +00:00
Merge pull request #124273 from panoswoo/fix/124255
Remove missing extended resources from init containers
This commit is contained in:
commit
ec8015daac
@ -215,21 +215,26 @@ func rejectPodAdmissionBasedOnOSField(pod *v1.Pod) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func removeMissingExtendedResources(pod *v1.Pod, nodeInfo *schedulerframework.NodeInfo) *v1.Pod {
|
func removeMissingExtendedResources(pod *v1.Pod, nodeInfo *schedulerframework.NodeInfo) *v1.Pod {
|
||||||
podCopy := pod.DeepCopy()
|
filterExtendedResources := func(containers []v1.Container) {
|
||||||
for i, c := range pod.Spec.Containers {
|
for i, c := range containers {
|
||||||
// We only handle requests in Requests but not Limits because the
|
// We only handle requests in Requests but not Limits because the
|
||||||
// PodFitsResources predicate, to which the result pod will be passed,
|
// PodFitsResources predicate, to which the result pod will be passed,
|
||||||
// does not use Limits.
|
// does not use Limits.
|
||||||
podCopy.Spec.Containers[i].Resources.Requests = make(v1.ResourceList)
|
filteredResources := make(v1.ResourceList)
|
||||||
for rName, rQuant := range c.Resources.Requests {
|
for rName, rQuant := range c.Resources.Requests {
|
||||||
if v1helper.IsExtendedResourceName(rName) {
|
if v1helper.IsExtendedResourceName(rName) {
|
||||||
if _, found := nodeInfo.Allocatable.ScalarResources[rName]; !found {
|
if _, found := nodeInfo.Allocatable.ScalarResources[rName]; !found {
|
||||||
continue
|
continue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
filteredResources[rName] = rQuant
|
||||||
}
|
}
|
||||||
podCopy.Spec.Containers[i].Resources.Requests[rName] = rQuant
|
containers[i].Resources.Requests = filteredResources
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
podCopy := pod.DeepCopy()
|
||||||
|
filterExtendedResources(podCopy.Spec.Containers)
|
||||||
|
filterExtendedResources(podCopy.Spec.InitContainers)
|
||||||
return podCopy
|
return podCopy
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,6 +106,14 @@ func makeTestPod(requests, limits v1.ResourceList) *v1.Pod {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
InitContainers: []v1.Container{
|
||||||
|
{
|
||||||
|
Resources: v1.ResourceRequirements{
|
||||||
|
Requests: requests,
|
||||||
|
Limits: limits,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user