mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-17 07:39:22 +00:00
fix: normalize ephemeral container statuses
This commit is contained in:
parent
9125473eec
commit
df87982950
@ -993,7 +993,7 @@ func (m *manager) needsReconcile(uid types.UID, status v1.PodStatus) bool {
|
|||||||
// Related issue #15262/PR #15263 to move apiserver to RFC339NANO is closed.
|
// Related issue #15262/PR #15263 to move apiserver to RFC339NANO is closed.
|
||||||
func normalizeStatus(pod *v1.Pod, status *v1.PodStatus) *v1.PodStatus {
|
func normalizeStatus(pod *v1.Pod, status *v1.PodStatus) *v1.PodStatus {
|
||||||
bytesPerStatus := kubecontainer.MaxPodTerminationMessageLogLength
|
bytesPerStatus := kubecontainer.MaxPodTerminationMessageLogLength
|
||||||
if containers := len(pod.Spec.Containers) + len(pod.Spec.InitContainers); containers > 0 {
|
if containers := len(pod.Spec.Containers) + len(pod.Spec.InitContainers) + len(pod.Spec.EphemeralContainers); containers > 0 {
|
||||||
bytesPerStatus = bytesPerStatus / containers
|
bytesPerStatus = bytesPerStatus / containers
|
||||||
}
|
}
|
||||||
normalizeTimeStamp := func(t *metav1.Time) {
|
normalizeTimeStamp := func(t *metav1.Time) {
|
||||||
@ -1021,23 +1021,23 @@ func normalizeStatus(pod *v1.Pod, status *v1.PodStatus) *v1.PodStatus {
|
|||||||
normalizeTimeStamp(&condition.LastTransitionTime)
|
normalizeTimeStamp(&condition.LastTransitionTime)
|
||||||
}
|
}
|
||||||
|
|
||||||
// update container statuses
|
normalizeContainerStatuses := func(containerStatuses []v1.ContainerStatus) {
|
||||||
for i := range status.ContainerStatuses {
|
for i := range containerStatuses {
|
||||||
cstatus := &status.ContainerStatuses[i]
|
cstatus := &containerStatuses[i]
|
||||||
normalizeContainerState(&cstatus.State)
|
normalizeContainerState(&cstatus.State)
|
||||||
normalizeContainerState(&cstatus.LastTerminationState)
|
normalizeContainerState(&cstatus.LastTerminationState)
|
||||||
}
|
}
|
||||||
// Sort the container statuses, so that the order won't affect the result of comparison
|
}
|
||||||
|
|
||||||
|
normalizeContainerStatuses(status.ContainerStatuses)
|
||||||
sort.Sort(kubetypes.SortedContainerStatuses(status.ContainerStatuses))
|
sort.Sort(kubetypes.SortedContainerStatuses(status.ContainerStatuses))
|
||||||
|
|
||||||
// update init container statuses
|
normalizeContainerStatuses(status.InitContainerStatuses)
|
||||||
for i := range status.InitContainerStatuses {
|
|
||||||
cstatus := &status.InitContainerStatuses[i]
|
|
||||||
normalizeContainerState(&cstatus.State)
|
|
||||||
normalizeContainerState(&cstatus.LastTerminationState)
|
|
||||||
}
|
|
||||||
// Sort the container statuses, so that the order won't affect the result of comparison
|
|
||||||
kubetypes.SortInitContainerStatuses(pod, status.InitContainerStatuses)
|
kubetypes.SortInitContainerStatuses(pod, status.InitContainerStatuses)
|
||||||
|
|
||||||
|
normalizeContainerStatuses(status.EphemeralContainerStatuses)
|
||||||
|
sort.Sort(kubetypes.SortedContainerStatuses(status.EphemeralContainerStatuses))
|
||||||
|
|
||||||
return status
|
return status
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user