diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index 6d915f419c6..a93125243af 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -78,6 +78,12 @@ const ( podKillingChannelCapacity = 50 ) +// Container state reason list +const ( + PodInitializing = "PodInitializing" + ContainerCreating = "ContainerCreating" +) + // Get a list of pods that have data directories. func (kl *Kubelet) listPodsFromDisk() ([]types.UID, error) { podInfos, err := ioutil.ReadDir(kl.getPodsDir()) @@ -1703,9 +1709,9 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon // Set all container statuses to default waiting state statuses := make(map[string]*v1.ContainerStatus, len(containers)) - defaultWaitingState := v1.ContainerState{Waiting: &v1.ContainerStateWaiting{Reason: "ContainerCreating"}} + defaultWaitingState := v1.ContainerState{Waiting: &v1.ContainerStateWaiting{Reason: ContainerCreating}} if hasInitContainers { - defaultWaitingState = v1.ContainerState{Waiting: &v1.ContainerStateWaiting{Reason: "PodInitializing"}} + defaultWaitingState = v1.ContainerState{Waiting: &v1.ContainerStateWaiting{Reason: PodInitializing}} } for _, container := range containers { @@ -1769,9 +1775,9 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon status := statuses[container.Name] // if the status we're about to write indicates the default, the Waiting status will force this pod back into Pending. // That isn't true, we know the pod is going away. - isDefaultWaitingStatus := status.State.Waiting != nil && status.State.Waiting.Reason == "ContainerCreating" + isDefaultWaitingStatus := status.State.Waiting != nil && status.State.Waiting.Reason == ContainerCreating if hasInitContainers { - isDefaultWaitingStatus = status.State.Waiting != nil && status.State.Waiting.Reason == "PodInitializing" + isDefaultWaitingStatus = status.State.Waiting != nil && status.State.Waiting.Reason == PodInitializing } if !isDefaultWaitingStatus { // we the status was written, don't override diff --git a/pkg/kubelet/kubelet_test.go b/pkg/kubelet/kubelet_test.go index 6098811185b..5cfae1ead24 100644 --- a/pkg/kubelet/kubelet_test.go +++ b/pkg/kubelet/kubelet_test.go @@ -1521,8 +1521,6 @@ func verifyContainerStatuses(t *testing.T, statuses []v1.ContainerStatus, state, // Test generateAPIPodStatus with different reason cache and old api pod status. func TestGenerateAPIPodStatusWithReasonCache(t *testing.T) { // The following waiting reason and message are generated in convertStatusToAPIStatus() - startWaitingReason := "ContainerCreating" - initWaitingReason := "PodInitializing" testTimestamp := time.Unix(123456789, 987654321) testErrorReason := fmt.Errorf("test-error") emptyContainerID := (&kubecontainer.ContainerID{}).String() @@ -1559,18 +1557,18 @@ func TestGenerateAPIPodStatusWithReasonCache(t *testing.T) { }}, expectedState: map[string]v1.ContainerState{ "without-old-record": {Waiting: &v1.ContainerStateWaiting{ - Reason: startWaitingReason, + Reason: ContainerCreating, }}, "with-old-record": {Waiting: &v1.ContainerStateWaiting{ - Reason: startWaitingReason, + Reason: ContainerCreating, }}, }, expectedInitState: map[string]v1.ContainerState{ "without-old-record": {Waiting: &v1.ContainerStateWaiting{ - Reason: initWaitingReason, + Reason: PodInitializing, }}, "with-old-record": {Waiting: &v1.ContainerStateWaiting{ - Reason: initWaitingReason, + Reason: PodInitializing, }}, }, expectedLastTerminationState: map[string]v1.ContainerState{