From 3b80b9d518cbee9d90b5188c8e9a8aab43c67cd0 Mon Sep 17 00:00:00 2001 From: Seth Jennings Date: Wed, 30 Aug 2017 13:55:17 -0400 Subject: [PATCH] do not update init containers status if terminated --- pkg/kubelet/kubelet_pods.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index 86b004565c0..7a195be3457 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -1329,10 +1329,17 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon Image: container.Image, State: defaultWaitingState, } - // Apply some values from the old statuses as the default values. - if oldStatus, found := oldStatuses[container.Name]; found { - status.RestartCount = oldStatus.RestartCount - status.LastTerminationState = oldStatus.LastTerminationState + oldStatus, found := oldStatuses[container.Name] + if found { + if isInitContainer && oldStatus.State.Terminated != nil { + // Do not update status on terminated init containers as + // they be removed at any time. + status = &oldStatus + } else { + // Apply some values from the old statuses as the default values. + status.RestartCount = oldStatus.RestartCount + status.LastTerminationState = oldStatus.LastTerminationState + } } statuses[container.Name] = status }