From 8f48e60840123825d88fd5f50f435f9615cc2948 Mon Sep 17 00:00:00 2001 From: haircommander Date: Mon, 23 Jul 2018 09:13:45 -0400 Subject: Fix error handling in pod start/stop. Before, errors in containers would never be printed, and a generic error would only be shown. Signed-off-by: haircommander Closes: #1132 Approved by: mheon --- cmd/podman/pod_start.go | 15 ++++++++------- cmd/podman/pod_stop.go | 15 ++++++++------- 2 files changed, 16 insertions(+), 14 deletions(-) (limited to 'cmd/podman') diff --git a/cmd/podman/pod_start.go b/cmd/podman/pod_start.go index 1e82bc0ee..75681a747 100644 --- a/cmd/podman/pod_start.go +++ b/cmd/podman/pod_start.go @@ -78,13 +78,7 @@ func podStartCmd(c *cli.Context) error { ctx := getContext() for _, pod := range pods { ctr_errs, err := pod.Start(ctx) - if err != nil { - if lastError != nil { - logrus.Errorf("%q", lastError) - } - lastError = errors.Wrapf(err, "unable to start pod %q", pod.ID()) - continue - } else if ctr_errs != nil { + if ctr_errs != nil { for ctr, err := range ctr_errs { if lastError != nil { logrus.Errorf("%q", lastError) @@ -93,6 +87,13 @@ func podStartCmd(c *cli.Context) error { } continue } + if err != nil { + if lastError != nil { + logrus.Errorf("%q", lastError) + } + lastError = errors.Wrapf(err, "unable to start pod %q", pod.ID()) + continue + } fmt.Println(pod.ID()) } diff --git a/cmd/podman/pod_stop.go b/cmd/podman/pod_stop.go index 0dcbdaad6..57ef458f1 100644 --- a/cmd/podman/pod_stop.go +++ b/cmd/podman/pod_stop.go @@ -79,13 +79,7 @@ func podStopCmd(c *cli.Context) error { for _, pod := range pods { // set cleanup to true to clean mounts and namespaces ctr_errs, err := pod.Stop(true) - if err != nil { - if lastError != nil { - logrus.Errorf("%q", lastError) - } - lastError = errors.Wrapf(err, "unable to stop pod %q", pod.ID()) - continue - } else if ctr_errs != nil { + if ctr_errs != nil { for ctr, err := range ctr_errs { if lastError != nil { logrus.Errorf("%q", lastError) @@ -94,6 +88,13 @@ func podStopCmd(c *cli.Context) error { } continue } + if err != nil { + if lastError != nil { + logrus.Errorf("%q", lastError) + } + lastError = errors.Wrapf(err, "unable to stop pod %q", pod.ID()) + continue + } fmt.Println(pod.ID()) } return lastError -- cgit v1.2.3-54-g00ecf