Merge pull request #96451 from ping035627/k8s-201112

Extract the const for ContainerStateReason
This commit is contained in:
Kubernetes Prow Robot 2021-02-09 10:25:00 -08:00 committed by GitHub
commit 45d9a13b94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 10 deletions

View File

@ -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

View File

@ -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{