From ff7af857c170d4a75bb460e7c675b56cbbf040f7 Mon Sep 17 00:00:00 2001 From: Phil Estes Date: Thu, 9 Feb 2017 16:13:57 -0800 Subject: [PATCH] Add debug output to manifest list parsing Per request for more debug info on how the engine deals with multi-platform "manifest list" images, this adds information about the manifest list entries and whether it found an os/arch match, and the digest of the match. Docker-DCO-1.1-Signed-off-by: Phil Estes Upstream-commit: 9a8cb9313c9c5eb535cf0bce25ca27f84bbfc570 Component: engine --- components/engine/distribution/pull_v2.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/engine/distribution/pull_v2.go b/components/engine/distribution/pull_v2.go index 14c88fd33b..41b2adb578 100644 --- a/components/engine/distribution/pull_v2.go +++ b/components/engine/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)