Merge pull request #18237 from yifan-gu/refactor_getphase

Auto commit by PR queue bot
This commit is contained in:
k8s-merge-robot 2015-12-10 06:55:02 -08:00
commit 2ef2544faa

View File

@ -3007,29 +3007,33 @@ func GetPhase(spec *api.PodSpec, info []api.ContainerStatus) api.PodPhase {
succeeded := 0 succeeded := 0
unknown := 0 unknown := 0
for _, container := range spec.Containers { for _, container := range spec.Containers {
if containerStatus, ok := api.GetContainerStatus(info, container.Name); ok { containerStatus, ok := api.GetContainerStatus(info, container.Name)
if containerStatus.State.Running != nil { if !ok {
unknown++
continue
}
switch {
case containerStatus.State.Running != nil:
running++ running++
} else if containerStatus.State.Terminated != nil { case containerStatus.State.Terminated != nil:
stopped++ stopped++
if containerStatus.State.Terminated.ExitCode == 0 { if containerStatus.State.Terminated.ExitCode == 0 {
succeeded++ succeeded++
} else { } else {
failed++ failed++
} }
} else if containerStatus.State.Waiting != nil { case containerStatus.State.Waiting != nil:
if containerStatus.LastTerminationState.Terminated != nil { if containerStatus.LastTerminationState.Terminated != nil {
stopped++ stopped++
} else { } else {
waiting++ waiting++
} }
} else { default:
unknown++
}
} else {
unknown++ unknown++
} }
} }
switch { switch {
case waiting > 0: case waiting > 0:
glog.V(5).Infof("pod waiting > 0, pending") glog.V(5).Infof("pod waiting > 0, pending")