From dd72cc81c6679c976b9d4c0ff19a844873d35594 Mon Sep 17 00:00:00 2001 From: zehuaiWANG <874697675@qq.com> Date: Thu, 9 Jan 2020 14:04:07 +0800 Subject: [PATCH] add pod status:unknown and terminating --- src/app/backend/resource/common/resourcestatus.go | 6 ++++++ src/app/backend/resource/pod/common.go | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/app/backend/resource/common/resourcestatus.go b/src/app/backend/resource/common/resourcestatus.go index 29c4449dcff5..4a2c42c2b6b2 100644 --- a/src/app/backend/resource/common/resourcestatus.go +++ b/src/app/backend/resource/common/resourcestatus.go @@ -27,4 +27,10 @@ type ResourceStatus struct { // Number of resources that are in succeeded state. Succeeded int `json:"succeeded"` + + // Number of resources that are in unknown state. + Unknown int `json:"unknown"` + + // Number of resources that are in terminating state. + Terminating int `json:"terminating"` } diff --git a/src/app/backend/resource/pod/common.go b/src/app/backend/resource/pod/common.go index 06aad98fd252..587657d85205 100644 --- a/src/app/backend/resource/pod/common.go +++ b/src/app/backend/resource/pod/common.go @@ -46,7 +46,7 @@ func getPodStatus(pod v1.Pod, warnings []common.Event) PodStatus { } } -// getPodStatusPhase returns one of four pod status phases (Pending, Running, Succeeded, Failed) +// getPodStatusPhase returns one of four pod status phases (Pending, Running, Succeeded, Failed, Unknow, Terminating) func getPodStatusPhase(pod v1.Pod, warnings []common.Event) v1.PodPhase { // For terminated pods that failed if pod.Status.Phase == v1.PodFailed { @@ -79,6 +79,12 @@ func getPodStatusPhase(pod v1.Pod, warnings []common.Event) v1.PodPhase { return v1.PodFailed } + if pod.DeletionTimestamp != nil && pod.Status.Reason == "NodeLost" { + return v1.PodUnknown + } else if pod.DeletionTimestamp != nil { + return "Terminating" + } + // pending return v1.PodPending } @@ -160,6 +166,10 @@ func getStatus(list *v1.PodList, events []v1.Event) common.ResourceStatus { info.Running++ case v1.PodPending: info.Pending++ + case v1.PodUnknown: + info.Unknown++ + case "Terminating": + info.Terminating++ } }