diff options
author | Valentin Rothberg <rothberg@redhat.com> | 2021-01-11 11:34:23 +0100 |
---|---|---|
committer | Valentin Rothberg <rothberg@redhat.com> | 2021-01-11 19:15:33 +0100 |
commit | 1d7e5227f874dc3d2511a73a6f3d69550e62b303 (patch) | |
tree | 341367e1192f7b458dddec9da01b5f7938d0d780 | |
parent | 41613bdb96953c9cea8a8fd46da211bd42660944 (diff) | |
download | podman-1d7e5227f874dc3d2511a73a6f3d69550e62b303.tar.gz podman-1d7e5227f874dc3d2511a73a6f3d69550e62b303.tar.bz2 podman-1d7e5227f874dc3d2511a73a6f3d69550e62b303.zip |
image list: ignore bare manifest list
Handle empty/bare manifest lists when listing images.
Fixes: #8931
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
-rw-r--r-- | pkg/domain/infra/abi/images_list.go | 5 | ||||
-rw-r--r-- | test/system/010-images.bats | 13 |
2 files changed, 17 insertions, 1 deletions
diff --git a/pkg/domain/infra/abi/images_list.go b/pkg/domain/infra/abi/images_list.go index c4b0b7712..2d3b9f36a 100644 --- a/pkg/domain/infra/abi/images_list.go +++ b/pkg/domain/infra/abi/images_list.go @@ -44,7 +44,10 @@ func (ir *ImageEngine) List(ctx context.Context, opts entities.ImageListOptions) } e.Labels, err = img.Labels(ctx) if err != nil { - return nil, errors.Wrapf(err, "error retrieving label for image %q: you may need to remove the image to resolve the error", img.ID()) + // Ignore empty manifest lists. + if errors.Cause(err) != libpodImage.ErrImageIsBareList { + return nil, errors.Wrapf(err, "error retrieving label for image %q: you may need to remove the image to resolve the error", img.ID()) + } } ctnrs, err := img.Containers() diff --git a/test/system/010-images.bats b/test/system/010-images.bats index 76caf282b..e7c88408e 100644 --- a/test/system/010-images.bats +++ b/test/system/010-images.bats @@ -228,4 +228,17 @@ Labels.created_at | 20[0-9-]\\\+T[0-9:]\\\+Z run_podman rmi ${aaa_name}:${aaa_tag} ${zzz_name}:${zzz_tag} } +# Regression test for #8931 +@test "podman images - bare manifest list" { + # Create an empty manifest list and list images. + + run_podman inspect --format '{{.ID}}' $IMAGE + iid=$output + + run_podman manifest create test:1.0 + run_podman images --format '{{.ID}}' --no-trunc + [[ "$output" == *"sha256:$iid"* ]] + + run_podman rmi test:1.0 +} # vim: filetype=sh |