diff options
author | Valentin Rothberg <rothberg@redhat.com> | 2020-10-26 17:31:38 +0100 |
---|---|---|
committer | Valentin Rothberg <rothberg@redhat.com> | 2020-10-27 10:39:09 +0100 |
commit | 65fabcfce7b4ed04b50bb4e387ef8b11e509ecf8 (patch) | |
tree | ac029e9c709af7e4c13d4185e055bdc1b522f036 | |
parent | dbbd5987fde0547305bc42a27d355d2de9e08dd3 (diff) | |
download | podman-65fabcfce7b4ed04b50bb4e387ef8b11e509ecf8.tar.gz podman-65fabcfce7b4ed04b50bb4e387ef8b11e509ecf8.tar.bz2 podman-65fabcfce7b4ed04b50bb4e387ef8b11e509ecf8.zip |
image list: check for all errors
For unknown historical reasons, some errors were ignored when listing
images. I assume that the basic assumption was that if we can properly
list images, we can also successfully compute their sizes which turned
out to be wrong.
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
-rw-r--r-- | pkg/domain/infra/abi/images_list.go | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/pkg/domain/infra/abi/images_list.go b/pkg/domain/infra/abi/images_list.go index 3e47dc67a..281b04294 100644 --- a/pkg/domain/infra/abi/images_list.go +++ b/pkg/domain/infra/abi/images_list.go @@ -5,6 +5,7 @@ import ( libpodImage "github.com/containers/podman/v2/libpod/image" "github.com/containers/podman/v2/pkg/domain/entities" + "github.com/pkg/errors" ) func (ir *ImageEngine) List(ctx context.Context, opts entities.ImageListOptions) ([]*entities.ImageSummary, error) { @@ -43,12 +44,21 @@ func (ir *ImageEngine) List(ctx context.Context, opts entities.ImageListOptions) VirtualSize: img.VirtualSize, RepoTags: img.Names(), // may include tags and digests } - e.Labels, _ = img.Labels(context.TODO()) + 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()) + } - ctnrs, _ := img.Containers() + ctnrs, err := img.Containers() + if err != nil { + return nil, errors.Wrapf(err, "error retrieving containers for image %q: you may need to remove the image to resolve the error", img.ID()) + } e.Containers = len(ctnrs) - sz, _ := img.Size(context.TODO()) + sz, err := img.Size(ctx) + if err != nil { + return nil, errors.Wrapf(err, "error retrieving size of image %q: you may need to remove the image to resolve the error", img.ID()) + } e.Size = int64(*sz) summaries = append(summaries, &e) |