From 557d3a550446dc1af7e4c77854d6ffd74de5c5b8 Mon Sep 17 00:00:00 2001 From: Ilya Zuyev Date: Mon, 7 Jun 2021 16:37:04 -0700 Subject: [PATCH] fix kicbase cache check --- pkg/minikube/download/image.go | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/pkg/minikube/download/image.go b/pkg/minikube/download/image.go index bc06237670..3ed7d5de31 100644 --- a/pkg/minikube/download/image.go +++ b/pkg/minikube/download/image.go @@ -168,17 +168,34 @@ func ImageToCache(img string) error { } } +func parseImage(img string) (*name.Tag, name.Reference, error) { + digest, err := name.NewDigest(img) + if err == nil { + tag := digest.Tag() + return &tag, digest, nil + } + + _, ok := err.(*name.ErrBadName) + if !ok { + return nil, nil, errors.Wrap(err, "new ref") + } + tag, err := name.NewTag(img) + if err != nil { + return nil, nil, errors.Wrap(err, "new ref") + } + return &tag, tag, nil +} + // CacheToDaemon loads image from tarball in the local cache directory to the local docker daemon func CacheToDaemon(img string) error { p := imagePathInCache(img) - ref, err := name.NewDigest(img) + tag, ref, err := parseImage(img) if err != nil { - return errors.Wrap(err, "new ref") + return nil } - tag := ref.Tag() - i, err := tarball.ImageFromPath(p, &tag) + i, err := tarball.ImageFromPath(p, tag) if err != nil { return errors.Wrap(err, "tarball") }