diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-12-04 15:48:20 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-04 15:48:20 -0500 |
commit | b6536d20ed131783b0761d1fdb38b0c1db2bf01e (patch) | |
tree | 5c73fd0c7d13ca1752930f81f17eb65a64eaa43e /libpod | |
parent | 07af857961a2d09990ef39e188ec7bb6fdf75147 (diff) | |
parent | 15d36f120c55162ace481f730588159b089780bf (diff) | |
download | podman-b6536d20ed131783b0761d1fdb38b0c1db2bf01e.tar.gz podman-b6536d20ed131783b0761d1fdb38b0c1db2bf01e.tar.bz2 podman-b6536d20ed131783b0761d1fdb38b0c1db2bf01e.zip |
Merge pull request #8494 from mlegenovic/master
More docker compat API fixes
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/image/image.go | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/libpod/image/image.go b/libpod/image/image.go index cecd64eb7..5c3f3b9e4 100644 --- a/libpod/image/image.go +++ b/libpod/image/image.go @@ -1222,6 +1222,11 @@ func (i *Image) inspect(ctx context.Context, calculateSize bool) (*inspect.Image } } + parent, err := i.ParentID(ctx) + if err != nil { + return nil, err + } + repoTags, err := i.RepoTags() if err != nil { return nil, err @@ -1248,6 +1253,7 @@ func (i *Image) inspect(ctx context.Context, calculateSize bool) (*inspect.Image data := &inspect.ImageData{ ID: i.ID(), + Parent: parent, RepoTags: repoTags, RepoDigests: repoDigests, Comment: comment, @@ -1258,10 +1264,12 @@ func (i *Image) inspect(ctx context.Context, calculateSize bool) (*inspect.Image Config: &ociv1Img.Config, Version: info.DockerVersion, Size: size, - VirtualSize: size, - Annotations: annotations, - Digest: i.Digest(), - Labels: info.Labels, + // This is good enough for now, but has to be + // replaced later with correct calculation logic + VirtualSize: size, + Annotations: annotations, + Digest: i.Digest(), + Labels: info.Labels, RootFS: &inspect.RootFS{ Type: ociv1Img.RootFS.Type, Layers: ociv1Img.RootFS.DiffIDs, @@ -1505,6 +1513,15 @@ func (i *Image) GetParent(ctx context.Context) (*Image, error) { return tree.parent(ctx, i) } +// ParentID returns the image ID of the parent. Return empty string if a parent is not found. +func (i *Image) ParentID(ctx context.Context) (string, error) { + parent, err := i.GetParent(ctx) + if err == nil && parent != nil { + return parent.ID(), nil + } + return "", err +} + // GetChildren returns a list of the imageIDs that depend on the image func (i *Image) GetChildren(ctx context.Context) ([]string, error) { children, err := i.getChildren(ctx, true) |