diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2019-06-15 06:24:42 -0400 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2019-08-01 03:40:29 -0400 |
commit | 5370d9cb76a8075332f5ab6a0efef9fba28ba19b (patch) | |
tree | 5f537b4a2a70c140aeb6533657c301fc5e9e2b7e /cmd/podman/rm.go | |
parent | a622f8d345b1853401de2e533e9fbf14ef169fa2 (diff) | |
download | podman-5370d9cb76a8075332f5ab6a0efef9fba28ba19b.tar.gz podman-5370d9cb76a8075332f5ab6a0efef9fba28ba19b.tar.bz2 podman-5370d9cb76a8075332f5ab6a0efef9fba28ba19b.zip |
Add new exit codes to rm & rmi for running containers & dependencies
This enables programs and scripts wrapping the podman command to handle
'podman rm' and 'podman rmi' failures caused by paused or running
containers or due to images having other child images or dependent
containers. These errors are common enough that it makes sense to have
a more machine readable way of detecting them than parsing the standard
error output.
Signed-off-by: Ondrej Zoder <ozoder@redhat.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'cmd/podman/rm.go')
-rw-r--r-- | cmd/podman/rm.go | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/cmd/podman/rm.go b/cmd/podman/rm.go index 958ca1c60..9e3ce4d0b 100644 --- a/cmd/podman/rm.go +++ b/cmd/podman/rm.go @@ -4,7 +4,6 @@ import ( "fmt" "github.com/containers/libpod/cmd/podman/cliconfig" - "github.com/containers/libpod/libpod/define" "github.com/containers/libpod/pkg/adapter" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -65,18 +64,16 @@ func rmCmd(c *cliconfig.RmValues) error { ok, failures, err := runtime.RemoveContainers(getContext(), c) if err != nil { - if errors.Cause(err) == define.ErrNoSuchCtr { - if len(c.InputArgs) > 1 { - exitCode = 125 - } else { - exitCode = 1 - } + if len(c.InputArgs) < 2 { + exitCode = setExitCode(err) } return err } if len(failures) > 0 { - exitCode = 125 + for _, err := range failures { + exitCode = setExitCode(err) + } } return printCmdResults(ok, failures) |