diff --git a/distribution/pull_v2.go b/distribution/pull_v2.go index 14c88fd33b..41b2adb578 100644 --- a/distribution/pull_v2.go +++ b/distribution/pull_v2.go @@ -658,6 +658,7 @@ func (p *v2Puller) pullManifestList(ctx context.Context, ref reference.Named, mf return "", "", err } + logrus.Debugf("%s resolved to a manifestList object with %d entries; looking for a os/arch match", ref, len(mfstList.Manifests)) var manifestDigest digest.Digest for _, manifestDescriptor := range mfstList.Manifests { // TODO(aaronl): The manifest list spec supports optional @@ -665,12 +666,15 @@ func (p *v2Puller) pullManifestList(ctx context.Context, ref reference.Named, mf // Once they are, their values should be interpreted here. if manifestDescriptor.Platform.Architecture == runtime.GOARCH && manifestDescriptor.Platform.OS == runtime.GOOS { manifestDigest = manifestDescriptor.Digest + logrus.Debugf("found match for %s/%s with media type %s, digest %s", runtime.GOOS, runtime.GOARCH, manifestDescriptor.MediaType, manifestDigest.String()) break } } if manifestDigest == "" { - return "", "", errors.New("no supported platform found in manifest list") + errMsg := fmt.Sprintf("no matching manifest for %s/%s in the manifest list entries", runtime.GOOS, runtime.GOARCH) + logrus.Debugf(errMsg) + return "", "", errors.New(errMsg) } manSvc, err := p.repo.Manifests(ctx)