diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-08-01 13:37:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-01 13:37:19 +0200 |
commit | 6f62dac163dd935866c21e91e5cd623772907eda (patch) | |
tree | c54863804158f85e206352da00133c0f12c60f7e /cmd/podman/errors_remote.go | |
parent | ee15e76da0a032bad7cb94295dc32e2553f10850 (diff) | |
parent | 5370d9cb76a8075332f5ab6a0efef9fba28ba19b (diff) | |
download | podman-6f62dac163dd935866c21e91e5cd623772907eda.tar.gz podman-6f62dac163dd935866c21e91e5cd623772907eda.tar.bz2 podman-6f62dac163dd935866c21e91e5cd623772907eda.zip |
Merge pull request #3341 from rhatdan/exit
Add new exit codes to rm & rmi for running containers & dependencies
Diffstat (limited to 'cmd/podman/errors_remote.go')
-rw-r--r-- | cmd/podman/errors_remote.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/cmd/podman/errors_remote.go b/cmd/podman/errors_remote.go index 1e276be10..19df2d2d8 100644 --- a/cmd/podman/errors_remote.go +++ b/cmd/podman/errors_remote.go @@ -9,6 +9,7 @@ import ( "syscall" "github.com/containers/libpod/cmd/podman/varlink" + "github.com/containers/libpod/libpod/define" "github.com/pkg/errors" "github.com/sirupsen/logrus" ) @@ -43,3 +44,22 @@ func outputError(err error) { fmt.Fprintln(os.Stderr, "Error:", ne.Error()) } } + +func setExitCode(err error) int { + cause := errors.Cause(err) + switch e := cause.(type) { + // For some reason golang wont let me list them with commas so listing them all. + case *iopodman.ContainerNotFound: + return 1 + case *iopodman.InvalidState: + return 2 + default: + switch e { + case define.ErrNoSuchCtr: + return 1 + case define.ErrCtrStateInvalid: + return 2 + } + } + return exitCode +} |