diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-01-17 00:09:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-17 00:09:29 +0100 |
commit | 0e3264ae4de85d2c974106582f80fd8cadab8bb8 (patch) | |
tree | 17f1b67764193badbd9174347cb72f1424b85e9a /cmd/podman/mount.go | |
parent | e6696fc7deba9cf8210041654194ce81fbfef9ea (diff) | |
parent | 78fc4c67fdd1f8d8a3567ffd941c1f5b3e1b6ba5 (diff) | |
download | podman-0e3264ae4de85d2c974106582f80fd8cadab8bb8.tar.gz podman-0e3264ae4de85d2c974106582f80fd8cadab8bb8.tar.bz2 podman-0e3264ae4de85d2c974106582f80fd8cadab8bb8.zip |
Merge pull request #2165 from rhatdan/mount
Add --latest and --all to podman mount/umount
Diffstat (limited to 'cmd/podman/mount.go')
-rw-r--r-- | cmd/podman/mount.go | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/cmd/podman/mount.go b/cmd/podman/mount.go index c91115597..86a6b2ad1 100644 --- a/cmd/podman/mount.go +++ b/cmd/podman/mount.go @@ -24,13 +24,18 @@ var ( mountFlags = []cli.Flag{ cli.BoolFlag{ - Name: "notruncate", - Usage: "do not truncate output", + Name: "all, a", + Usage: "Mount all containers", }, cli.StringFlag{ Name: "format", Usage: "Change the output format to Go template", }, + cli.BoolFlag{ + Name: "notruncate", + Usage: "do not truncate output", + }, + LatestFlag, } mountCommand = cli.Command{ Name: "mount", @@ -80,20 +85,31 @@ func mountCmd(c *cli.Context) error { } } + if c.Bool("all") && c.Bool("latest") { + return errors.Errorf("--all and --latest cannot be used together") + } + + mountContainers, err := getAllOrLatestContainers(c, runtime, -1, "all") + if err != nil { + if len(mountContainers) == 0 { + return err + } + fmt.Println(err.Error()) + } + formats := map[string]bool{ "": true, of.JSONString: true, } - args := c.Args() json := c.String("format") == of.JSONString if !formats[c.String("format")] { return errors.Errorf("%q is not a supported format", c.String("format")) } var lastError error - if len(args) > 0 { - for _, name := range args { + if len(mountContainers) > 0 { + for _, ctr := range mountContainers { if json { if lastError != nil { logrus.Error(lastError) @@ -101,14 +117,6 @@ func mountCmd(c *cli.Context) error { lastError = errors.Wrapf(err, "json option cannot be used with a container id") continue } - ctr, err := runtime.LookupContainer(name) - if err != nil { - if lastError != nil { - logrus.Error(lastError) - } - lastError = errors.Wrapf(err, "error looking up container %q", name) - continue - } mountPoint, err := ctr.Mount() if err != nil { if lastError != nil { |