diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-05-07 22:21:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-07 22:21:36 +0200 |
commit | 74dc9a45e3f85b4fc55a2d1cb2786885eb4489f5 (patch) | |
tree | f27f5b26b4076fe8dd2dad3afde8407640c77807 /pkg/adapter/errors.go | |
parent | 2e40bdebfd245ff04e86b1ea42f663087d97fccf (diff) | |
parent | bc7b1ca03da88473c10e59197becd812cf341663 (diff) | |
download | podman-74dc9a45e3f85b4fc55a2d1cb2786885eb4489f5.tar.gz podman-74dc9a45e3f85b4fc55a2d1cb2786885eb4489f5.tar.bz2 podman-74dc9a45e3f85b4fc55a2d1cb2786885eb4489f5.zip |
Merge pull request #2977 from baude/makeitrain
enable integration tests for remote-client
Diffstat (limited to 'pkg/adapter/errors.go')
-rw-r--r-- | pkg/adapter/errors.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/pkg/adapter/errors.go b/pkg/adapter/errors.go new file mode 100644 index 000000000..7fbbabd93 --- /dev/null +++ b/pkg/adapter/errors.go @@ -0,0 +1,31 @@ +// +build remoteclient + +package adapter + +import ( + iopodman "github.com/containers/libpod/cmd/podman/varlink" + "github.com/containers/libpod/libpod" + "github.com/pkg/errors" +) + +// TranslateMapErrors translates the errors a typical podman output struct +// from varlink errors to libpod errors +func TranslateMapErrors(failures map[string]error) map[string]error { + for k, v := range failures { + failures[k] = TranslateError(v) + } + return failures +} + +// TranslateError converts a single varlink error to a libpod error +func TranslateError(err error) error { + switch err.(type) { + case *iopodman.ContainerNotFound: + return errors.Wrap(libpod.ErrNoSuchCtr, err.Error()) + case *iopodman.ErrCtrStopped: + return errors.Wrap(libpod.ErrCtrStopped, err.Error()) + case *iopodman.InvalidState: + return errors.Wrap(libpod.ErrCtrStateInvalid, err.Error()) + } + return err +} |