summaryrefslogtreecommitdiff
path: root/cmd/podman
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-10-19 02:49:27 -0400
committerGitHub <noreply@github.com>2020-10-19 02:49:27 -0400
commit7ffcab0854342844a44b2668bd9d98849bf935c8 (patch)
treec7c8b60c8d389314309c7e2e73e3b41f06988fbc /cmd/podman
parent6ec96dc009d73cc2b0a3fa81149ca599b04252e4 (diff)
parent571ae9db7241ffbe1be4f254328cfd2e43369103 (diff)
downloadpodman-7ffcab0854342844a44b2668bd9d98849bf935c8.tar.gz
podman-7ffcab0854342844a44b2668bd9d98849bf935c8.tar.bz2
podman-7ffcab0854342844a44b2668bd9d98849bf935c8.zip
Merge pull request #7908 from rhatdan/diff
fix podman container exists and diff for storage containers
Diffstat (limited to 'cmd/podman')
-rw-r--r--cmd/podman/containers/exists.go15
-rw-r--r--cmd/podman/containers/ps.go2
-rw-r--r--cmd/podman/diff.go5
-rw-r--r--cmd/podman/utils/alias.go2
4 files changed, 19 insertions, 5 deletions
diff --git a/cmd/podman/containers/exists.go b/cmd/podman/containers/exists.go
index 283f6df18..1d79b684d 100644
--- a/cmd/podman/containers/exists.go
+++ b/cmd/podman/containers/exists.go
@@ -12,10 +12,10 @@ var (
containerExistsDescription = `If the named container exists in local storage, podman container exists exits with 0, otherwise the exit code will be 1.`
existsCommand = &cobra.Command{
- Use: "exists CONTAINER",
+ Use: "exists [flags] CONTAINER",
Short: "Check if a container exists in local storage",
Long: containerExistsDescription,
- Example: `podman container exists containerID
+ Example: `podman container exists --external containerID
podman container exists myctr || podman run --name myctr [etc...]`,
RunE: exists,
Args: cobra.ExactArgs(1),
@@ -29,10 +29,19 @@ func init() {
Command: existsCommand,
Parent: containerCmd,
})
+ flags := existsCommand.Flags()
+ flags.Bool("external", false, "Check external storage containers as well as Podman containers")
}
func exists(cmd *cobra.Command, args []string) error {
- response, err := registry.ContainerEngine().ContainerExists(context.Background(), args[0])
+ external, err := cmd.Flags().GetBool("external")
+ if err != nil {
+ return err
+ }
+ options := entities.ContainerExistsOptions{
+ External: external,
+ }
+ response, err := registry.ContainerEngine().ContainerExists(context.Background(), args[0], options)
if err != nil {
return err
}
diff --git a/cmd/podman/containers/ps.go b/cmd/podman/containers/ps.go
index 65bfc97da..41d309f51 100644
--- a/cmd/podman/containers/ps.go
+++ b/cmd/podman/containers/ps.go
@@ -58,7 +58,7 @@ func init() {
func listFlagSet(flags *pflag.FlagSet) {
flags.BoolVarP(&listOpts.All, "all", "a", false, "Show all the containers, default is only running containers")
flags.StringSliceVarP(&filters, "filter", "f", []string{}, "Filter output based on conditions given")
- flags.BoolVar(&listOpts.Storage, "storage", false, "Show containers in storage not controlled by Podman")
+ flags.BoolVar(&listOpts.Storage, "external", false, "Show containers in storage not controlled by Podman")
flags.StringVar(&listOpts.Format, "format", "", "Pretty-print containers to JSON or using a Go template")
flags.IntVarP(&listOpts.Last, "last", "n", -1, "Print the n last created containers (all states)")
flags.BoolVar(&listOpts.Namespace, "ns", false, "Display namespace information")
diff --git a/cmd/podman/diff.go b/cmd/podman/diff.go
index 51a04bf46..9d2236abe 100644
--- a/cmd/podman/diff.go
+++ b/cmd/podman/diff.go
@@ -48,7 +48,10 @@ func diff(cmd *cobra.Command, args []string) error {
return containers.Diff(cmd, args, diffOpts)
}
- if found, err := registry.ContainerEngine().ContainerExists(registry.GetContext(), args[0]); err != nil {
+ options := entities.ContainerExistsOptions{
+ External: true,
+ }
+ if found, err := registry.ContainerEngine().ContainerExists(registry.GetContext(), args[0], options); err != nil {
return err
} else if found.Value {
return containers.Diff(cmd, args, diffOpts)
diff --git a/cmd/podman/utils/alias.go b/cmd/podman/utils/alias.go
index ff31e82ea..10b96fa98 100644
--- a/cmd/podman/utils/alias.go
+++ b/cmd/podman/utils/alias.go
@@ -21,6 +21,8 @@ func AliasFlags(f *pflag.FlagSet, name string) pflag.NormalizedName {
name = "time"
case "namespace":
name = "ns"
+ case "storage":
+ name = "external"
}
return pflag.NormalizedName(name)
}