diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-02-25 18:16:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-25 18:16:50 +0100 |
commit | 73cfb9f127b0991c3faac9ff1fafed8d65355e4b (patch) | |
tree | 1f2f32d614e50cad5a36fe5a8280b79caa13ed22 /cmd | |
parent | ed08352dfa224fe7764bb3cf98c96c073ca0190a (diff) | |
parent | e41279b902a334e53c56330a28f42d7a6027df74 (diff) | |
download | podman-73cfb9f127b0991c3faac9ff1fafed8d65355e4b.tar.gz podman-73cfb9f127b0991c3faac9ff1fafed8d65355e4b.tar.bz2 podman-73cfb9f127b0991c3faac9ff1fafed8d65355e4b.zip |
Merge pull request #2423 from rhatdan/rm
Change exit code to 1 on podman rm nosuch container
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/podman/rm.go | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/cmd/podman/rm.go b/cmd/podman/rm.go index 01ed70f52..2dcb491d7 100644 --- a/cmd/podman/rm.go +++ b/cmd/podman/rm.go @@ -7,6 +7,7 @@ import ( "github.com/containers/libpod/cmd/podman/libpodruntime" "github.com/containers/libpod/cmd/podman/shared" "github.com/containers/libpod/libpod" + "github.com/containers/libpod/libpod/image" "github.com/pkg/errors" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -61,15 +62,21 @@ func rmCmd(c *cliconfig.RmValues) error { } defer runtime.Shutdown(false) + failureCnt := 0 delContainers, err := getAllOrLatestContainers(&c.PodmanCommand, runtime, -1, "all") if err != nil { if c.Force && len(c.InputArgs) > 0 { if errors.Cause(err) == libpod.ErrNoSuchCtr { err = nil + } else { + failureCnt++ } runtime.RemoveContainersFromStorage(c.InputArgs) } if len(delContainers) == 0 { + if err != nil && failureCnt == 0 { + exitCode = 1 + } return err } if err != nil { @@ -96,5 +103,16 @@ func rmCmd(c *cliconfig.RmValues) error { // Run the parallel funcs deleteErrors, errCount := shared.ParallelExecuteWorkerPool(maxWorkers, deleteFuncs) - return printParallelOutput(deleteErrors, errCount) + err = printParallelOutput(deleteErrors, errCount) + if err != nil { + for _, result := range deleteErrors { + if result != nil && errors.Cause(result) != image.ErrNoSuchCtr { + failureCnt++ + } + } + if failureCnt == 0 { + exitCode = 1 + } + } + return err } |