From 4103ff490fe2575683fc38866a01e9b80c602105 Mon Sep 17 00:00:00 2001 From: PingWang Date: Wed, 11 Nov 2020 17:11:35 +0800 Subject: [PATCH] Extract the const for ContainerStateReason Signed-off-by: PingWang update fmt Signed-off-by: PingWang update test Signed-off-by: PingWang --- pkg/kubelet/kubelet_pods.go | 14 ++++++++++---- pkg/kubelet/kubelet_test.go | 10 ++++------ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index dfd60bd85a1..e6fb21f90d0 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()) @@ -1680,9 +1686,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 { @@ -1746,9 +1752,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 8a6630835f5..a49c323e2a5 100644 --- a/pkg/kubelet/kubelet_test.go +++ b/pkg/kubelet/kubelet_test.go @@ -1452,8 +1452,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() @@ -1490,18 +1488,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{