summaryrefslogtreecommitdiff
path: root/cmd/podman
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/podman')
-rw-r--r--cmd/podman/containers/exists.go3
-rw-r--r--cmd/podman/images/exists.go4
-rw-r--r--cmd/podman/images/pull.go7
-rw-r--r--cmd/podman/images/push.go8
-rw-r--r--cmd/podman/pods/create.go35
-rw-r--r--cmd/podman/pods/exists.go3
-rw-r--r--cmd/podman/system/info.go2
7 files changed, 36 insertions, 26 deletions
diff --git a/cmd/podman/containers/exists.go b/cmd/podman/containers/exists.go
index f1bc09f78..e640ca5e1 100644
--- a/cmd/podman/containers/exists.go
+++ b/cmd/podman/containers/exists.go
@@ -2,7 +2,6 @@ package containers
import (
"context"
- "os"
"github.com/containers/libpod/cmd/podman/registry"
"github.com/containers/libpod/pkg/domain/entities"
@@ -37,7 +36,7 @@ func exists(cmd *cobra.Command, args []string) error {
return err
}
if !response.Value {
- os.Exit(1)
+ registry.SetExitCode(1)
}
return nil
}
diff --git a/cmd/podman/images/exists.go b/cmd/podman/images/exists.go
index 0bb288b96..6464e6cd8 100644
--- a/cmd/podman/images/exists.go
+++ b/cmd/podman/images/exists.go
@@ -1,8 +1,6 @@
package images
import (
- "os"
-
"github.com/containers/libpod/cmd/podman/registry"
"github.com/containers/libpod/pkg/domain/entities"
"github.com/spf13/cobra"
@@ -34,7 +32,7 @@ func exists(cmd *cobra.Command, args []string) error {
return err
}
if !found.Value {
- os.Exit(1)
+ registry.SetExitCode(1)
}
return nil
}
diff --git a/cmd/podman/images/pull.go b/cmd/podman/images/pull.go
index fb107d00c..f996d0681 100644
--- a/cmd/podman/images/pull.go
+++ b/cmd/podman/images/pull.go
@@ -2,11 +2,13 @@ package images
import (
"fmt"
+ "os"
buildahcli "github.com/containers/buildah/pkg/cli"
"github.com/containers/image/v5/types"
"github.com/containers/libpod/cmd/podman/registry"
"github.com/containers/libpod/pkg/domain/entities"
+ "github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
@@ -99,6 +101,11 @@ func imagePull(cmd *cobra.Command, args []string) error {
if cmd.Flags().Changed("tls-verify") {
pullOptsAPI.TLSVerify = types.NewOptionalBool(pullOptions.TLSVerifyCLI)
}
+ if pullOptsAPI.Authfile != "" {
+ if _, err := os.Stat(pullOptsAPI.Authfile); err != nil {
+ return errors.Wrapf(err, "error getting authfile %s", pullOptsAPI.Authfile)
+ }
+ }
// Let's do all the remaining Yoga in the API to prevent us from
// scattering logic across (too) many parts of the code.
diff --git a/cmd/podman/images/push.go b/cmd/podman/images/push.go
index f12a5ac86..ef2ffd0d7 100644
--- a/cmd/podman/images/push.go
+++ b/cmd/podman/images/push.go
@@ -1,6 +1,8 @@
package images
import (
+ "os"
+
buildahcli "github.com/containers/buildah/pkg/cli"
"github.com/containers/image/v5/types"
"github.com/containers/libpod/cmd/podman/registry"
@@ -114,6 +116,12 @@ func imagePush(cmd *cobra.Command, args []string) error {
pushOptsAPI.TLSVerify = types.NewOptionalBool(pushOptions.TLSVerifyCLI)
}
+ if pushOptsAPI.Authfile != "" {
+ if _, err := os.Stat(pushOptsAPI.Authfile); err != nil {
+ return errors.Wrapf(err, "error getting authfile %s", pushOptsAPI.Authfile)
+ }
+ }
+
// Let's do all the remaining Yoga in the API to prevent us from scattering
// logic across (too) many parts of the code.
return registry.ImageEngine().Push(registry.GetContext(), source, destination, pushOptsAPI)
diff --git a/cmd/podman/pods/create.go b/cmd/podman/pods/create.go
index 647cf24b2..ff21166f3 100644
--- a/cmd/podman/pods/create.go
+++ b/cmd/podman/pods/create.go
@@ -69,10 +69,24 @@ func create(cmd *cobra.Command, args []string) error {
return errors.Wrapf(err, "unable to process labels")
}
- if !createOptions.Infra && cmd.Flag("share").Changed && share != "none" && share != "" {
- return errors.Errorf("You cannot share kernel namespaces on the pod level without an infra container")
+ if !createOptions.Infra {
+ if cmd.Flag("infra-command").Changed {
+ return errors.New("cannot set infra-command without an infra container")
+ }
+ createOptions.InfraCommand = ""
+ if cmd.Flag("infra-image").Changed {
+ return errors.New("cannot set infra-image without an infra container")
+ }
+ createOptions.InfraImage = ""
+
+ if cmd.Flag("share").Changed && share != "none" && share != "" {
+ return fmt.Errorf("cannot set share(%s) namespaces without an infra container", cmd.Flag("share").Value)
+ }
+ createOptions.Share = nil
+ } else {
+ createOptions.Share = strings.Split(share, ",")
}
- createOptions.Share = strings.Split(share, ",")
+
if cmd.Flag("pod-id-file").Changed {
podIdFile, err = util.OpenExclusiveFile(podIDFile)
if err != nil && os.IsExist(err) {
@@ -122,21 +136,6 @@ func create(cmd *cobra.Command, args []string) error {
}
}
- if !createOptions.Infra {
- if cmd.Flag("infra-command").Changed {
- return errors.New("cannot set infra-command without an infra container")
- }
- createOptions.InfraCommand = ""
- if cmd.Flag("infra-image").Changed {
- return errors.New("cannot set infra-image without an infra container")
- }
- createOptions.InfraImage = ""
- if cmd.Flag("share").Changed {
- return errors.New("cannot set share namespaces without an infra container")
- }
- createOptions.Share = nil
- }
-
response, err := registry.ContainerEngine().PodCreate(context.Background(), createOptions)
if err != nil {
return err
diff --git a/cmd/podman/pods/exists.go b/cmd/podman/pods/exists.go
index ad0e28b90..5a94bf150 100644
--- a/cmd/podman/pods/exists.go
+++ b/cmd/podman/pods/exists.go
@@ -2,7 +2,6 @@ package pods
import (
"context"
- "os"
"github.com/containers/libpod/cmd/podman/registry"
"github.com/containers/libpod/pkg/domain/entities"
@@ -37,7 +36,7 @@ func exists(cmd *cobra.Command, args []string) error {
return err
}
if !response.Value {
- os.Exit(1)
+ registry.SetExitCode(1)
}
return nil
}
diff --git a/cmd/podman/system/info.go b/cmd/podman/system/info.go
index 8e014a91b..8b36ef549 100644
--- a/cmd/podman/system/info.go
+++ b/cmd/podman/system/info.go
@@ -7,8 +7,8 @@ import (
"github.com/containers/libpod/cmd/podman/registry"
"github.com/containers/libpod/pkg/domain/entities"
+ "github.com/ghodss/yaml"
"github.com/spf13/cobra"
- "gopkg.in/yaml.v2"
)
var (