Fix repo digest for schema 1 image.

Signed-off-by: Lantao Liu <lantaol@google.com>
This commit is contained in:
Lantao Liu
2017-09-01 07:17:15 +00:00
parent 9c49624174
commit cfb5513a54
2 changed files with 8 additions and 2 deletions

View File

@@ -89,6 +89,13 @@ func (c *criContainerdService) PullImage(ctx context.Context, r *runtime.PullIma
Credentials: func(string) (string, string, error) { return ParseAuth(r.GetAuth()) },
Client: http.DefaultClient,
})
_, desc, err := resolver.Resolve(ctx, ref)
if err != nil {
return nil, fmt.Errorf("failed to resolve image %q: %v", ref, err)
}
// We have to check schema1 here, because after `Pull`, schema1
// image has already been converted.
isSchema1 := desc.MediaType == containerdimages.MediaTypeDockerSchema1Manifest
// TODO(mikebrow): add truncIndex for image id
image, err := c.client.Pull(ctx, ref,
@@ -100,7 +107,7 @@ func (c *criContainerdService) PullImage(ctx context.Context, r *runtime.PullIma
if err != nil {
return nil, fmt.Errorf("failed to pull image %q: %v", ref, err)
}
repoDigest, repoTag := getRepoDigestAndTag(namedRef, image.Target().Digest, image.Target().MediaType == containerdimages.MediaTypeDockerSchema1Manifest)
repoDigest, repoTag := getRepoDigestAndTag(namedRef, image.Target().Digest, isSchema1)
for _, r := range []string{repoTag, repoDigest} {
if r == "" {
continue