Fix issue of pod spec mismatch if there is any non-restarble init container present

This commit is contained in:
vivzbansal 2024-11-07 05:05:37 +00:00
parent 5d5e903e27
commit 591b0f547a
2 changed files with 3 additions and 8 deletions

View File

@ -5661,11 +5661,9 @@ func ValidatePodResize(newPod, oldPod *core.Pod, opts PodValidationOptions) fiel
req := dropCPUMemoryUpdates(container.Resources.Requests, oldPod.Spec.InitContainers[ix].Resources.Requests) req := dropCPUMemoryUpdates(container.Resources.Requests, oldPod.Spec.InitContainers[ix].Resources.Requests)
container.Resources = core.ResourceRequirements{Limits: lim, Requests: req} container.Resources = core.ResourceRequirements{Limits: lim, Requests: req}
container.ResizePolicy = oldPod.Spec.InitContainers[ix].ResizePolicy // +k8s:verify-mutation:reason=clone container.ResizePolicy = oldPod.Spec.InitContainers[ix].ResizePolicy // +k8s:verify-mutation:reason=clone
newInitContainers = append(newInitContainers, container)
} }
newInitContainers = append(newInitContainers, container)
} }
}
if len(newInitContainers) > 0 {
originalCPUMemPodSpec.InitContainers = newInitContainers originalCPUMemPodSpec.InitContainers = newInitContainers
} }

View File

@ -319,11 +319,8 @@ func dropNonResizeUpdates(newPod, oldPod *api.Pod) *api.Pod {
if !ok { if !ok {
continue continue
} }
// Changes are only allowed for restartable init containers. pod.Spec.InitContainers[idx].Resources = ctr.Resources
if podutil.IsRestartableInitContainer(&ctr) { pod.Spec.InitContainers[idx].ResizePolicy = ctr.ResizePolicy
pod.Spec.InitContainers[idx].Resources = ctr.Resources
pod.Spec.InitContainers[idx].ResizePolicy = ctr.ResizePolicy
}
} }
} }