Forráskód Böngészése

image: deprecate IDFromDigest()

Having this function hides what it's doing, which is just to type-cast
to an image.ID (which is a digest). Using a cast is more transparent,
so deprecating this function in favor of a regular typecast.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 2 éve
szülő
commit
456ea1bb1d
6 módosított fájl, 18 hozzáadás és 22 törlés
  1. 3 5
      daemon/images/image.go
  2. 2 2
      daemon/list_test.go
  3. 1 1
      distribution/config.go
  4. 2 0
      image/image.go
  5. 7 10
      image/store.go
  6. 3 4
      image/tarexport/save.go

+ 3 - 5
daemon/images/image.go

@@ -230,17 +230,15 @@ func (i *ImageService) getImage(ctx context.Context, refOrID string, options ima
 		if !ok {
 			return nil, ErrImageDoesNotExist{ref}
 		}
-		id := image.IDFromDigest(digested.Digest())
-		if img, err := i.imageStore.Get(id); err == nil {
+		if img, err := i.imageStore.Get(image.ID(digested.Digest())); err == nil {
 			return img, nil
 		}
 		return nil, ErrImageDoesNotExist{ref}
 	}
 
-	if digest, err := i.referenceStore.Get(namedRef); err == nil {
+	if dgst, err := i.referenceStore.Get(namedRef); err == nil {
 		// Search the image stores to get the operating system, defaulting to host OS.
-		id := image.IDFromDigest(digest)
-		if img, err := i.imageStore.Get(id); err == nil {
+		if img, err := i.imageStore.Get(image.ID(dgst)); err == nil {
 			return img, nil
 		}
 	}

+ 2 - 2
daemon/list_test.go

@@ -37,7 +37,7 @@ func setupContainerWithName(t *testing.T, name string, daemon *Daemon) *containe
 	t.Helper()
 	var (
 		id              = uuid.New().String()
-		computedImageID = digest.FromString(id)
+		computedImageID = image.ID(digest.FromString(id))
 		cRoot           = filepath.Join(root, id)
 	)
 	if err := os.MkdirAll(cRoot, 0755); err != nil {
@@ -54,7 +54,7 @@ func setupContainerWithName(t *testing.T, name string, daemon *Daemon) *containe
 	c.HostConfig = &containertypes.HostConfig{}
 
 	// these are for passing the refreshImage reducer
-	c.ImageID = image.IDFromDigest(computedImageID)
+	c.ImageID = computedImageID
 	c.Config = &containertypes.Config{
 		Image: computedImageID.String(),
 	}

+ 1 - 1
distribution/config.go

@@ -118,7 +118,7 @@ func (s *imageConfigStore) Put(_ context.Context, c []byte) (digest.Digest, erro
 }
 
 func (s *imageConfigStore) Get(_ context.Context, d digest.Digest) ([]byte, error) {
-	img, err := s.Store.Get(image.IDFromDigest(d))
+	img, err := s.Store.Get(image.ID(d))
 	if err != nil {
 		return nil, err
 	}

+ 2 - 0
image/image.go

@@ -28,6 +28,8 @@ func (id ID) Digest() digest.Digest {
 }
 
 // IDFromDigest creates an ID from a digest
+//
+// Deprecated: cast to an ID using ID(digest).
 func IDFromDigest(digest digest.Digest) ID {
 	return ID(digest)
 }

+ 7 - 10
image/store.go

@@ -68,7 +68,7 @@ func NewImageStore(fs StoreBackend, lss LayerGetReleaser) (Store, error) {
 
 func (is *store) restore() error {
 	err := is.fs.Walk(func(dgst digest.Digest) error {
-		img, err := is.Get(IDFromDigest(dgst))
+		img, err := is.Get(ID(dgst))
 		if err != nil {
 			logrus.Errorf("invalid image %v, %v", dgst, err)
 			return nil
@@ -92,13 +92,11 @@ func (is *store) restore() error {
 			return err
 		}
 
-		imageMeta := &imageMeta{
+		is.images[ID(dgst)] = &imageMeta{
 			layer:    l,
 			children: make(map[ID]struct{}),
 		}
 
-		is.images[IDFromDigest(dgst)] = imageMeta
-
 		return nil
 	})
 	if err != nil {
@@ -141,15 +139,15 @@ func (is *store) Create(config []byte) (ID, error) {
 		return "", errdefs.InvalidParameter(errors.New("too many non-empty layers in History section"))
 	}
 
-	dgst, err := is.fs.Set(config)
+	imageDigest, err := is.fs.Set(config)
 	if err != nil {
 		return "", errdefs.InvalidParameter(err)
 	}
-	imageID := IDFromDigest(dgst)
 
 	is.Lock()
 	defer is.Unlock()
 
+	imageID := ID(imageDigest)
 	if _, exists := is.images[imageID]; exists {
 		return imageID, nil
 	}
@@ -167,13 +165,12 @@ func (is *store) Create(config []byte) (ID, error) {
 		}
 	}
 
-	imageMeta := &imageMeta{
+	is.images[imageID] = &imageMeta{
 		layer:    l,
 		children: make(map[ID]struct{}),
 	}
 
-	is.images[imageID] = imageMeta
-	if err := is.digestSet.Add(imageID.Digest()); err != nil {
+	if err = is.digestSet.Add(imageDigest); err != nil {
 		delete(is.images, imageID)
 		return "", errdefs.InvalidParameter(err)
 	}
@@ -197,7 +194,7 @@ func (is *store) Search(term string) (ID, error) {
 		}
 		return "", errors.WithStack(err)
 	}
-	return IDFromDigest(dgst), nil
+	return ID(dgst), nil
 }
 
 func (is *store) Get(id ID) (*Image, error) {

+ 3 - 4
image/tarexport/save.go

@@ -94,8 +94,7 @@ func (l *tarexporter) parseNames(names []string) (desc map[image.ID]*imageDescri
 		if !ok {
 			// Check if digest ID reference
 			if digested, ok := ref.(reference.Digested); ok {
-				id := image.IDFromDigest(digested.Digest())
-				if err := addAssoc(id, nil); err != nil {
+				if err := addAssoc(image.ID(digested.Digest()), nil); err != nil {
 					return nil, err
 				}
 				continue
@@ -116,7 +115,7 @@ func (l *tarexporter) parseNames(names []string) (desc map[image.ID]*imageDescri
 		if reference.IsNameOnly(namedRef) {
 			assocs := l.rs.ReferencesByName(namedRef)
 			for _, assoc := range assocs {
-				if err := addAssoc(image.IDFromDigest(assoc.ID), assoc.Ref); err != nil {
+				if err := addAssoc(image.ID(assoc.ID), assoc.Ref); err != nil {
 					return nil, err
 				}
 			}
@@ -135,7 +134,7 @@ func (l *tarexporter) parseNames(names []string) (desc map[image.ID]*imageDescri
 		if err != nil {
 			return nil, err
 		}
-		if err := addAssoc(image.IDFromDigest(id), namedRef); err != nil {
+		if err := addAssoc(image.ID(id), namedRef); err != nil {
 			return nil, err
 		}
 	}