Merge pull request #640 from Garrybest/pr_cleanup
reuse AddPodRequest in detector.go
This commit is contained in:
commit
51233e5408
|
@ -510,7 +510,7 @@ func getAllocatingResource(podList []*corev1.Pod) corev1.ResourceList {
|
|||
allocating := util.EmptyResource()
|
||||
for _, pod := range podList {
|
||||
if len(pod.Spec.NodeName) == 0 {
|
||||
allocating.AddPodRequest(pod)
|
||||
allocating.AddPodRequest(&pod.Spec)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -522,7 +522,7 @@ func getAllocatedResource(podList []*corev1.Pod) corev1.ResourceList {
|
|||
for _, pod := range podList {
|
||||
// When the phase of a pod is Succeeded or Failed, kube-scheduler would not consider its resource occupation.
|
||||
if len(pod.Spec.NodeName) != 0 && pod.Status.Phase != corev1.PodSucceeded && pod.Status.Phase != corev1.PodFailed {
|
||||
allocated.AddPodRequest(pod)
|
||||
allocated.AddPodRequest(&pod.Spec)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -672,22 +672,11 @@ func (d *ResourceDetector) getReplicaResourceRequirements(object map[string]inte
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
resPtr := d.calculateResource(&podTemplateSpec.Spec)
|
||||
replicaResourceRequirements := resPtr.ResourceList()
|
||||
res := util.EmptyResource().AddPodRequest(&podTemplateSpec.Spec)
|
||||
replicaResourceRequirements := res.ResourceList()
|
||||
return replicaResourceRequirements, nil
|
||||
}
|
||||
|
||||
func (d *ResourceDetector) calculateResource(podSpec *corev1.PodSpec) (res util.Resource) {
|
||||
resPtr := &res
|
||||
for _, c := range podSpec.Containers {
|
||||
resPtr.Add(c.Resources.Requests)
|
||||
}
|
||||
for _, c := range podSpec.InitContainers {
|
||||
resPtr.SetMaxResource(c.Resources.Requests)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// AddWaiting adds object's key to waiting list.
|
||||
func (d *ResourceDetector) AddWaiting(objectKey keys.ClusterWideKey) {
|
||||
d.waitingLock.Lock()
|
||||
|
|
|
@ -102,11 +102,12 @@ func (r *Resource) ResourceList() corev1.ResourceList {
|
|||
// - the sum of all app containers(spec.Containers) request for a resource.
|
||||
// - the effective init containers(spec.InitContainers) request for a resource.
|
||||
// The effective init containers request is the highest request on all init containers.
|
||||
func (r *Resource) AddPodRequest(pod *corev1.Pod) {
|
||||
for _, container := range pod.Spec.Containers {
|
||||
func (r *Resource) AddPodRequest(podSpec *corev1.PodSpec) *Resource {
|
||||
for _, container := range podSpec.Containers {
|
||||
r.Add(container.Resources.Requests)
|
||||
}
|
||||
for _, container := range pod.Spec.InitContainers {
|
||||
for _, container := range podSpec.InitContainers {
|
||||
r.SetMaxResource(container.Resources.Requests)
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue