diff options
author | haircommander <pehunt@redhat.com> | 2018-07-23 09:13:45 -0400 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-07-23 14:22:07 +0000 |
commit | 8f48e60840123825d88fd5f50f435f9615cc2948 (patch) | |
tree | f1f773f38a39f2ba4a3c6cf2ecba8d30137ad703 | |
parent | acd28b9fc9379df68ad6f5a0e389ec73cfec15ef (diff) | |
download | podman-8f48e60840123825d88fd5f50f435f9615cc2948.tar.gz podman-8f48e60840123825d88fd5f50f435f9615cc2948.tar.bz2 podman-8f48e60840123825d88fd5f50f435f9615cc2948.zip |
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 <pehunt@redhat.com>
Closes: #1132
Approved by: mheon
-rw-r--r-- | cmd/podman/pod_start.go | 15 | ||||
-rw-r--r-- | cmd/podman/pod_stop.go | 15 |
2 files changed, 16 insertions, 14 deletions
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 |