summaryrefslogtreecommitdiff
path: root/cmd/podman/errors_remote.go
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2019-02-18 16:01:31 -0700
committerJhon Honce <jhonce@redhat.com>2019-03-02 08:57:20 -0700
commit4d13a80fa46ce57e3c889934536320525338b3a4 (patch)
tree8d3d5bd4f0209aa8ce4e3371478e6edc305209e6 /cmd/podman/errors_remote.go
parent9adcda73892fa0a33cbdf971ad97cf079e8e425f (diff)
downloadpodman-4d13a80fa46ce57e3c889934536320525338b3a4.tar.gz
podman-4d13a80fa46ce57e3c889934536320525338b3a4.tar.bz2
podman-4d13a80fa46ce57e3c889934536320525338b3a4.zip
Support podman-remote stop container(s)
* Clean up adapter code * Add GetContainersByContext to Varlink API * Add missing comments * Restore save command * Restore error type mapping when using varlink Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'cmd/podman/errors_remote.go')
-rw-r--r--cmd/podman/errors_remote.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/cmd/podman/errors_remote.go b/cmd/podman/errors_remote.go
new file mode 100644
index 000000000..ab255ea56
--- /dev/null
+++ b/cmd/podman/errors_remote.go
@@ -0,0 +1,43 @@
+// +build remoteclient
+
+package main
+
+import (
+ "fmt"
+ "os"
+ "os/exec"
+ "syscall"
+
+ "github.com/containers/libpod/cmd/podman/varlink"
+ "github.com/pkg/errors"
+ "github.com/sirupsen/logrus"
+)
+
+func outputError(err error) {
+ if MainGlobalOpts.LogLevel == "debug" {
+ logrus.Errorf(err.Error())
+ } else {
+ if ee, ok := err.(*exec.ExitError); ok {
+ if status, ok := ee.Sys().(syscall.WaitStatus); ok {
+ exitCode = status.ExitStatus()
+ }
+ }
+ var ne error
+ switch e := err.(type) {
+ // For some reason golang wont let me list them with commas so listing them all.
+ case *iopodman.ImageNotFound:
+ ne = errors.New(e.Reason)
+ case *iopodman.ContainerNotFound:
+ ne = errors.New(e.Reason)
+ case *iopodman.PodNotFound:
+ ne = errors.New(e.Reason)
+ case *iopodman.VolumeNotFound:
+ ne = errors.New(e.Reason)
+ case *iopodman.ErrorOccurred:
+ ne = errors.New(e.Reason)
+ default:
+ ne = err
+ }
+ fmt.Fprintln(os.Stderr, "Error:", ne.Error())
+ }
+}