diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-09-30 11:33:19 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-30 11:33:19 +0000 |
commit | 08d036cbd4225a9802fb8dc7c4da7b53ded3896a (patch) | |
tree | b38e8fa39f94589bfdaf90444d3dfe1dce4b41e8 /cmd/podman/pods/rm.go | |
parent | 19f080f1af884c1e36f55dc81cd51b0ac91a868a (diff) | |
parent | 22474095abe39c14c902650b08002c0bc89e7e6a (diff) | |
download | podman-08d036cbd4225a9802fb8dc7c4da7b53ded3896a.tar.gz podman-08d036cbd4225a9802fb8dc7c4da7b53ded3896a.tar.bz2 podman-08d036cbd4225a9802fb8dc7c4da7b53ded3896a.zip |
Merge pull request #7825 from rhatdan/exitcode
Fix handling of remove of bogus volumes, networks and Pods
Diffstat (limited to 'cmd/podman/pods/rm.go')
-rw-r--r-- | cmd/podman/pods/rm.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cmd/podman/pods/rm.go b/cmd/podman/pods/rm.go index 0bb35e1ca..2975db3e8 100644 --- a/cmd/podman/pods/rm.go +++ b/cmd/podman/pods/rm.go @@ -3,12 +3,15 @@ package pods import ( "context" "fmt" + "strings" "github.com/containers/podman/v2/cmd/podman/common" "github.com/containers/podman/v2/cmd/podman/registry" "github.com/containers/podman/v2/cmd/podman/utils" "github.com/containers/podman/v2/cmd/podman/validate" + "github.com/containers/podman/v2/libpod/define" "github.com/containers/podman/v2/pkg/domain/entities" + "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -73,6 +76,7 @@ func removePods(namesOrIDs []string, rmOptions entities.PodRmOptions, printIDs b responses, err := registry.ContainerEngine().PodRm(context.Background(), namesOrIDs, rmOptions) if err != nil { + setExitCode(err) return err } @@ -83,8 +87,19 @@ func removePods(namesOrIDs []string, rmOptions entities.PodRmOptions, printIDs b fmt.Println(r.Id) } } else { + setExitCode(r.Err) errs = append(errs, r.Err) } } return errs.PrintErrors() } + +func setExitCode(err error) { + cause := errors.Cause(err) + switch { + case cause == define.ErrNoSuchPod: + registry.SetExitCode(1) + case strings.Contains(cause.Error(), define.ErrNoSuchPod.Error()): + registry.SetExitCode(1) + } +} |