From b8ff8ea58ee37d672f42e94da4d73442d8a81fc9 Mon Sep 17 00:00:00 2001 From: Djordje Lukic Date: Tue, 22 Aug 2023 11:45:27 +0200 Subject: [PATCH] Don't return an error if the lease is not found If the image for the wanted platform doesn't exist then the lease doesn't exist either. Returning this error hides the real error, so let's not return it. Signed-off-by: Djordje Lukic --- daemon/images/image.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/daemon/images/image.go b/daemon/images/image.go index bb975831a1..0a2424d0ab 100644 --- a/daemon/images/image.go +++ b/daemon/images/image.go @@ -54,10 +54,13 @@ func (i *ImageService) PrepareSnapshot(ctx context.Context, id string, image str func (i *ImageService) manifestMatchesPlatform(ctx context.Context, img *image.Image, platform ocispec.Platform) (bool, error) { logger := log.G(ctx).WithField("image", img.ID).WithField("desiredPlatform", platforms.Format(platform)) - ls, leaseErr := i.leases.ListResources(ctx, leases.Lease{ID: imageKey(img.ID().String())}) - if leaseErr != nil { - logger.WithError(leaseErr).Error("Error looking up image leases") - return false, leaseErr + ls, err := i.leases.ListResources(ctx, leases.Lease{ID: imageKey(img.ID().String())}) + if err != nil { + if cerrdefs.IsNotFound(err) { + return false, nil + } + logger.WithError(err).Error("Error looking up image leases") + return false, err } // Note we are comparing against manifest lists here, which we expect to always have a CPU variant set (where applicable).