diff options
author | baude <bbaude@redhat.com> | 2019-01-10 14:39:39 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-01-10 15:21:42 -0600 |
commit | 7459c48863acea8453e0800124006a90ca82f646 (patch) | |
tree | a1c7ca5130f2f1cf496678a892d374d36b3e4c6a /cmd | |
parent | 36d96c19f947aeac2675afe64a3b482e54f9e4c4 (diff) | |
download | podman-7459c48863acea8453e0800124006a90ca82f646.tar.gz podman-7459c48863acea8453e0800124006a90ca82f646.tar.bz2 podman-7459c48863acea8453e0800124006a90ca82f646.zip |
Add varlink support for prune
Add the ability to prune unused images using the varlink
API.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/podman/images_prune.go | 15 | ||||
-rw-r--r-- | cmd/podman/shared/prune.go | 24 | ||||
-rw-r--r-- | cmd/podman/varlink/io.podman.varlink | 4 |
3 files changed, 17 insertions, 26 deletions
diff --git a/cmd/podman/images_prune.go b/cmd/podman/images_prune.go index cb72a498f..06879e02d 100644 --- a/cmd/podman/images_prune.go +++ b/cmd/podman/images_prune.go @@ -1,8 +1,8 @@ package main import ( + "fmt" "github.com/containers/libpod/cmd/podman/libpodruntime" - "github.com/containers/libpod/cmd/podman/shared" "github.com/pkg/errors" "github.com/urfave/cli" ) @@ -30,5 +30,16 @@ func pruneImagesCmd(c *cli.Context) error { } defer runtime.Shutdown(false) - return shared.Prune(runtime.ImageRuntime()) + pruneImages, err := runtime.ImageRuntime().GetPruneImages() + if err != nil { + return err + } + + for _, i := range pruneImages { + if err := i.Remove(true); err != nil { + return errors.Wrapf(err, "failed to remove %s", i.ID()) + } + fmt.Println(i.ID()) + } + return nil } diff --git a/cmd/podman/shared/prune.go b/cmd/podman/shared/prune.go deleted file mode 100644 index 90cfe4475..000000000 --- a/cmd/podman/shared/prune.go +++ /dev/null @@ -1,24 +0,0 @@ -package shared - -import ( - "fmt" - "github.com/pkg/errors" - - "github.com/containers/libpod/libpod/image" -) - -// Prune removes all unnamed and unused images from the local store -func Prune(ir *image.Runtime) error { - pruneImages, err := ir.GetPruneImages() - if err != nil { - return err - } - - for _, i := range pruneImages { - if err := i.Remove(true); err != nil { - return errors.Wrapf(err, "failed to remove %s", i.ID()) - } - fmt.Println(i.ID()) - } - return nil -} diff --git a/cmd/podman/varlink/io.podman.varlink b/cmd/podman/varlink/io.podman.varlink index 4e8b69faf..7cd6c16b2 100644 --- a/cmd/podman/varlink/io.podman.varlink +++ b/cmd/podman/varlink/io.podman.varlink @@ -1015,6 +1015,10 @@ method MountContainer(name: string) -> (path: string) # ~~~ method UnmountContainer(name: string, force: bool) -> () +# ImagesPrune removes all unused images from the local store. Upon successful pruning, +# the IDs of the removed images are returned. +method ImagesPrune() -> (pruned: []string) + # This function is not implemented yet. method ListContainerPorts(name: string) -> (notimplemented: NotImplemented) |