diff options
author | baude <bbaude@redhat.com> | 2019-01-15 10:27:13 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-01-15 10:29:24 -0600 |
commit | 9a23e285d3ef7d356cb08cd431bcc6ffc7b579ab (patch) | |
tree | e4e1be5f91b0c3fcec243a8b1da77c41d2216b38 | |
parent | 077156d45cfea915cc249e92a5a45280e5ed71e1 (diff) | |
download | podman-9a23e285d3ef7d356cb08cd431bcc6ffc7b579ab.tar.gz podman-9a23e285d3ef7d356cb08cd431bcc6ffc7b579ab.tar.bz2 podman-9a23e285d3ef7d356cb08cd431bcc6ffc7b579ab.zip |
add support for podman-remote history
this adds support to get the history for an image and its
layers using podman-remote.
Signed-off-by: baude <bbaude@redhat.com>
-rw-r--r-- | cmd/podman/history.go | 10 | ||||
-rw-r--r-- | libpod/adapter/runtime_remote.go | 25 | ||||
-rw-r--r-- | test/e2e/history_test.go | 2 |
3 files changed, 30 insertions, 7 deletions
diff --git a/cmd/podman/history.go b/cmd/podman/history.go index 7c8c619c8..802047071 100644 --- a/cmd/podman/history.go +++ b/cmd/podman/history.go @@ -1,15 +1,15 @@ package main import ( + "github.com/containers/libpod/libpod/adapter" "reflect" "strconv" "strings" "time" "github.com/containers/libpod/cmd/podman/formats" - "github.com/containers/libpod/cmd/podman/libpodruntime" "github.com/containers/libpod/libpod/image" - units "github.com/docker/go-units" + "github.com/docker/go-units" "github.com/pkg/errors" "github.com/urfave/cli" ) @@ -72,11 +72,11 @@ func historyCmd(c *cli.Context) error { return err } - runtime, err := libpodruntime.GetRuntime(c) + runtime, err := adapter.GetRuntime(c) if err != nil { return errors.Wrapf(err, "could not get runtime") } - defer runtime.Shutdown(false) + defer runtime.Runtime.Shutdown(false) format := genHistoryFormat(c.String("format"), c.Bool("quiet")) @@ -88,7 +88,7 @@ func historyCmd(c *cli.Context) error { return errors.Errorf("podman history takes at most 1 argument") } - image, err := runtime.ImageRuntime().NewFromLocal(args[0]) + image, err := runtime.NewImageFromLocal(args[0]) if err != nil { return err } diff --git a/libpod/adapter/runtime_remote.go b/libpod/adapter/runtime_remote.go index bb00350e0..5413385d2 100644 --- a/libpod/adapter/runtime_remote.go +++ b/libpod/adapter/runtime_remote.go @@ -221,3 +221,28 @@ func (r RemoteRuntime) RemoveImage(force bool) error { func (r *LocalRuntime) RemoveImage(ctx context.Context, img *ContainerImage, force bool) (string, error) { return iopodman.RemoveImage().Call(r.Conn, img.InputName, force) } + +// History returns the history of an image and its layers +func (ci *ContainerImage) History(ctx context.Context) ([]*image.History, error) { + var imageHistories []*image.History + + reply, err := iopodman.HistoryImage().Call(ci.Runtime.Conn, ci.InputName) + if err != nil { + return nil, err + } + for _, h := range reply { + created, err := splitStringDate(h.Created) + if err != nil { + return nil, err + } + ih := image.History{ + ID: h.Id, + Created: &created, + CreatedBy: h.CreatedBy, + Size: h.Size, + Comment: h.Comment, + } + imageHistories = append(imageHistories, &ih) + } + return imageHistories, nil +} diff --git a/test/e2e/history_test.go b/test/e2e/history_test.go index 921dcaea0..9bec9ad13 100644 --- a/test/e2e/history_test.go +++ b/test/e2e/history_test.go @@ -1,5 +1,3 @@ -// +build !remoteclient - package integration import ( |