From 677f7579dd393e4f3ad77727b0997b9f930b149f Mon Sep 17 00:00:00 2001 From: Predrag Rogic Date: Sat, 28 Sep 2024 22:32:11 +0100 Subject: [PATCH] process exit code only if present --- pkg/minikube/cluster/status.go | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/pkg/minikube/cluster/status.go b/pkg/minikube/cluster/status.go index 0cc58da19b5f..0b1c76faf424 100644 --- a/pkg/minikube/cluster/status.go +++ b/pkg/minikube/cluster/status.go @@ -292,6 +292,7 @@ func GetState(sts []*Status, profile string, cc *config.ClusterConfig) State { finalStep = data klog.Infof("transient code %d (%q) for step: %+v", transientCode, codeNames[transientCode], data) } + if ev.Type() == "io.k8s.sigs.minikube.error" { var data map[string]string err := ev.DataAs(&data) @@ -299,15 +300,21 @@ func GetState(sts []*Status, profile string, cc *config.ClusterConfig) State { klog.Errorf("unable to parse data: %v\nraw data: %s", err, ev.Data()) continue } - exitCode, err := strconv.Atoi(data["exitcode"]) - if err != nil { - klog.Errorf("exit code not found: %v", err) - continue + // process exit code, if present + if ec, ok := data["exitcode"]; ok && ec != "" { + exitCode, err := strconv.Atoi(ec) + if err != nil { + klog.Errorf("exit code not found: %v", err) + continue + } + + if val, ok := exitCodeToHTTPCode[exitCode]; ok { + exitCode = val + } + + transientCode = exitCode } - if val, ok := exitCodeToHTTPCode[exitCode]; ok { - exitCode = val - } - transientCode = exitCode + for _, n := range cs.Nodes { n.StatusCode = transientCode n.StatusName = codeNames[n.StatusCode]