From 99c3fe2bb8fb29d8042068f1e86434b23221a541 Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Wed, 18 Mar 2020 21:50:52 +0000 Subject: [PATCH] fix status parsing (#1368) --- runtime/kubernetes/kubernetes.go | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/runtime/kubernetes/kubernetes.go b/runtime/kubernetes/kubernetes.go index 7ff267f5..ffea564f 100644 --- a/runtime/kubernetes/kubernetes.go +++ b/runtime/kubernetes/kubernetes.go @@ -124,27 +124,33 @@ func (k *kubernetes) getService(labels map[string]string) ([]*service, error) { svc.Service.Metadata[k] = v } - // get the status from the pods - var status string + // parse out deployment status and inject into service metadata + if len(kdep.Status.Conditions) > 0 { + svc.Metadata["status"] = kdep.Status.Conditions[0].Type + delete(svc.Metadata, "error") + } else { + svc.Metadata["status"] = "n/a" + } + // get the real status for _, item := range podList.Items { + var status string + + // inspect the + if item.Metadata.Name != name { + continue + } + switch item.Status.Phase { case "Failed": status = item.Status.Reason default: status = item.Status.Phase } + + svc.Metadata["status"] = status } - // unknown status - if len(status) == 0 { - status = "n/a" - } - - if logger.V(logger.DebugLevel, logger.DefaultLogger) { - logger.Debugf("Runtime setting %s service deployment status: %v", name, status) - } - svc.Service.Metadata["status"] = status // save deployment svc.kdeploy = &kdep }