From 294ef0f17f02e04768adfbd9a80acba5eded2253 Mon Sep 17 00:00:00 2001 From: "Alex Ellis (OpenFaaS Ltd)" Date: Mon, 4 Jan 2021 11:19:37 +0000 Subject: [PATCH] Fix error handling An error could be thrown here if the status was nil Signed-off-by: Alex Ellis (OpenFaaS Ltd) --- pkg/service/service.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/service/service.go b/pkg/service/service.go index 31afb7a..1e05269 100644 --- a/pkg/service/service.go +++ b/pkg/service/service.go @@ -27,23 +27,25 @@ func Remove(ctx context.Context, client *containerd.Client, name string) error { container, containerErr := client.LoadContainer(ctx, name) if containerErr == nil { - found := true + taskFound := true t, err := container.Task(ctx, nil) if err != nil { if errdefs.IsNotFound(err) { - found = false + taskFound = false } else { return fmt.Errorf("unable to get task %s: ", err) } } - if found { + if taskFound { status, err := t.Status(ctx) if err != nil { - fmt.Printf("Status of %s is: %s\n", name, status.Status) + log.Printf("Unable to get status for: %s, error: %s", name, err.Error()) + } else { + log.Printf("Status of %s is: %s\n", name, status.Status) } - log.Printf("Need to kill %s\n", name) + log.Printf("Need to kill task: %s\n", name) if err = killTask(ctx, t); err != nil { return fmt.Errorf("error killing task %s, %s, %s", container.ID(), name, err) }