Files
podman/pkg/adapter/errors.go
Jhon Honce 7a12e01556 V2 Move varlink home
* move cmd/podman/varlink/* to pkg/varlink to support podmanV2 refactor
* update Makefile
* reformatted all impacted code

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-30 08:18:35 -07:00

32 lines
862 B
Go

// +build remoteclient
package adapter
import (
"github.com/containers/libpod/libpod/define"
iopodman "github.com/containers/libpod/pkg/varlink"
"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(define.ErrNoSuchCtr, err.Error())
case *iopodman.ErrCtrStopped:
return errors.Wrap(define.ErrCtrStopped, err.Error())
case *iopodman.InvalidState:
return errors.Wrap(define.ErrCtrStateInvalid, err.Error())
}
return err
}