Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
| ... | ... |
@@ -21,7 +21,7 @@ import ( |
| 21 | 21 |
// ImageComponent provides an interface for working with images |
| 22 | 22 |
type ImageComponent interface {
|
| 23 | 23 |
SquashImage(from string, to string) (string, error) |
| 24 |
- TagImageWithReference(image.ID, reference.Named) error |
|
| 24 |
+ TagImageWithReference(context.Context, image.ID, reference.Named) error |
|
| 25 | 25 |
} |
| 26 | 26 |
|
| 27 | 27 |
// Builder defines interface for running a build |
| ... | ... |
@@ -93,7 +93,7 @@ func (b *Backend) Build(ctx context.Context, config backend.BuildConfig) (string |
| 93 | 93 |
fmt.Fprintf(stdout, "Successfully built %s\n", stringid.TruncateID(imageID)) |
| 94 | 94 |
} |
| 95 | 95 |
if imageID != "" {
|
| 96 |
- err = tagImages(b.imageComponent, config.ProgressWriter.StdoutFormatter, image.ID(imageID), tags) |
|
| 96 |
+ err = tagImages(ctx, b.imageComponent, config.ProgressWriter.StdoutFormatter, image.ID(imageID), tags) |
|
| 97 | 97 |
} |
| 98 | 98 |
return imageID, err |
| 99 | 99 |
} |
| ... | ... |
@@ -1,6 +1,7 @@ |
| 1 | 1 |
package build // import "github.com/docker/docker/api/server/backend/build" |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
+ "context" |
|
| 4 | 5 |
"fmt" |
| 5 | 6 |
"io" |
| 6 | 7 |
|
| ... | ... |
@@ -10,9 +11,9 @@ import ( |
| 10 | 10 |
) |
| 11 | 11 |
|
| 12 | 12 |
// tagImages creates image tags for the imageID. |
| 13 |
-func tagImages(ic ImageComponent, stdout io.Writer, imageID image.ID, repoAndTags []reference.Named) error {
|
|
| 13 |
+func tagImages(ctx context.Context, ic ImageComponent, stdout io.Writer, imageID image.ID, repoAndTags []reference.Named) error {
|
|
| 14 | 14 |
for _, rt := range repoAndTags {
|
| 15 |
- if err := ic.TagImageWithReference(imageID, rt); err != nil {
|
|
| 15 |
+ if err := ic.TagImageWithReference(ctx, imageID, rt); err != nil {
|
|
| 16 | 16 |
return err |
| 17 | 17 |
} |
| 18 | 18 |
_, _ = fmt.Fprintln(stdout, "Successfully tagged", reference.FamiliarString(rt)) |
| ... | ... |
@@ -26,7 +26,7 @@ type imageBackend interface {
|
| 26 | 26 |
ImageHistory(ctx context.Context, imageName string) ([]*image.HistoryResponseItem, error) |
| 27 | 27 |
Images(ctx context.Context, opts types.ImageListOptions) ([]*types.ImageSummary, error) |
| 28 | 28 |
GetImage(ctx context.Context, refOrID string, options image.GetImageOpts) (*dockerimage.Image, error) |
| 29 |
- TagImage(imageName, repository, tag string) (string, error) |
|
| 29 |
+ TagImage(ctx context.Context, imageName, repository, tag string) (string, error) |
|
| 30 | 30 |
ImagesPrune(ctx context.Context, pruneFilters filters.Args) (*types.ImagesPruneReport, error) |
| 31 | 31 |
} |
| 32 | 32 |
|
| ... | ... |
@@ -369,7 +369,7 @@ func (ir *imageRouter) postImagesTag(ctx context.Context, w http.ResponseWriter, |
| 369 | 369 |
if err := httputils.ParseForm(r); err != nil {
|
| 370 | 370 |
return err |
| 371 | 371 |
} |
| 372 |
- if _, err := ir.backend.TagImage(vars["name"], r.Form.Get("repo"), r.Form.Get("tag")); err != nil {
|
|
| 372 |
+ if _, err := ir.backend.TagImage(ctx, vars["name"], r.Form.Get("repo"), r.Form.Get("tag")); err != nil {
|
|
| 373 | 373 |
return err |
| 374 | 374 |
} |
| 375 | 375 |
w.WriteHeader(http.StatusCreated) |
| ... | ... |
@@ -171,7 +171,7 @@ func (daemon *Daemon) CreateImageFromContainer(ctx context.Context, name string, |
| 171 | 171 |
|
| 172 | 172 |
var imageRef string |
| 173 | 173 |
if c.Repo != "" {
|
| 174 |
- imageRef, err = daemon.imageService.TagImage(string(id), c.Repo, c.Tag) |
|
| 174 |
+ imageRef, err = daemon.imageService.TagImage(ctx, string(id), c.Repo, c.Tag) |
|
| 175 | 175 |
if err != nil {
|
| 176 | 176 |
return "", err |
| 177 | 177 |
} |
| ... | ... |
@@ -1,20 +1,21 @@ |
| 1 | 1 |
package containerd |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
- "errors" |
|
| 4 |
+ "context" |
|
| 5 | 5 |
|
| 6 | 6 |
"github.com/docker/distribution/reference" |
| 7 | 7 |
"github.com/docker/docker/errdefs" |
| 8 | 8 |
"github.com/docker/docker/image" |
| 9 |
+ "github.com/pkg/errors" |
|
| 9 | 10 |
) |
| 10 | 11 |
|
| 11 | 12 |
// TagImage creates the tag specified by newTag, pointing to the image named |
| 12 | 13 |
// imageName (alternatively, imageName can also be an image ID). |
| 13 |
-func (i *ImageService) TagImage(imageName, repository, tag string) (string, error) {
|
|
| 14 |
+func (i *ImageService) TagImage(ctx context.Context, imageName, repository, tag string) (string, error) {
|
|
| 14 | 15 |
return "", errdefs.NotImplemented(errors.New("not implemented"))
|
| 15 | 16 |
} |
| 16 | 17 |
|
| 17 | 18 |
// TagImageWithReference adds the given reference to the image ID provided. |
| 18 |
-func (i *ImageService) TagImageWithReference(imageID image.ID, newTag reference.Named) error {
|
|
| 19 |
+func (i *ImageService) TagImageWithReference(ctx context.Context, imageID image.ID, newTag reference.Named) error {
|
|
| 19 | 20 |
return errdefs.NotImplemented(errors.New("not implemented"))
|
| 20 | 21 |
} |
| ... | ... |
@@ -37,8 +37,8 @@ type ImageService interface {
|
| 37 | 37 |
CountImages() int |
| 38 | 38 |
ImagesPrune(ctx context.Context, pruneFilters filters.Args) (*types.ImagesPruneReport, error) |
| 39 | 39 |
ImportImage(ctx context.Context, ref reference.Named, platform *v1.Platform, msg string, layerReader io.Reader, changes []string) (image.ID, error) |
| 40 |
- TagImage(imageName, repository, tag string) (string, error) |
|
| 41 |
- TagImageWithReference(imageID image.ID, newTag reference.Named) error |
|
| 40 |
+ TagImage(ctx context.Context, imageName, repository, tag string) (string, error) |
|
| 41 |
+ TagImageWithReference(ctx context.Context, imageID image.ID, newTag reference.Named) error |
|
| 42 | 42 |
GetImage(ctx context.Context, refOrID string, options imagetype.GetImageOpts) (*image.Image, error) |
| 43 | 43 |
ImageHistory(ctx context.Context, name string) ([]*imagetype.HistoryResponseItem, error) |
| 44 | 44 |
CommitImage(ctx context.Context, c backend.CommitConfig) (image.ID, error) |
| ... | ... |
@@ -80,7 +80,7 @@ func (i *ImageService) ImportImage(ctx context.Context, newRef reference.Named, |
| 80 | 80 |
} |
| 81 | 81 |
|
| 82 | 82 |
if newRef != nil {
|
| 83 |
- if err := i.TagImageWithReference(id, newRef); err != nil {
|
|
| 83 |
+ if err := i.TagImageWithReference(ctx, id, newRef); err != nil {
|
|
| 84 | 84 |
return "", err |
| 85 | 85 |
} |
| 86 | 86 |
} |
| ... | ... |
@@ -10,8 +10,7 @@ import ( |
| 10 | 10 |
|
| 11 | 11 |
// TagImage creates the tag specified by newTag, pointing to the image named |
| 12 | 12 |
// imageName (alternatively, imageName can also be an image ID). |
| 13 |
-func (i *ImageService) TagImage(imageName, repository, tag string) (string, error) {
|
|
| 14 |
- ctx := context.TODO() |
|
| 13 |
+func (i *ImageService) TagImage(ctx context.Context, imageName, repository, tag string) (string, error) {
|
|
| 15 | 14 |
img, err := i.GetImage(ctx, imageName, imagetypes.GetImageOpts{})
|
| 16 | 15 |
if err != nil {
|
| 17 | 16 |
return "", err |
| ... | ... |
@@ -27,12 +26,12 @@ func (i *ImageService) TagImage(imageName, repository, tag string) (string, erro |
| 27 | 27 |
} |
| 28 | 28 |
} |
| 29 | 29 |
|
| 30 |
- err = i.TagImageWithReference(img.ID(), newTag) |
|
| 30 |
+ err = i.TagImageWithReference(ctx, img.ID(), newTag) |
|
| 31 | 31 |
return reference.FamiliarString(newTag), err |
| 32 | 32 |
} |
| 33 | 33 |
|
| 34 | 34 |
// TagImageWithReference adds the given reference to the image ID provided. |
| 35 |
-func (i *ImageService) TagImageWithReference(imageID image.ID, newTag reference.Named) error {
|
|
| 35 |
+func (i *ImageService) TagImageWithReference(ctx context.Context, imageID image.ID, newTag reference.Named) error {
|
|
| 36 | 36 |
if err := i.referenceStore.AddTag(newTag, imageID.Digest(), true); err != nil {
|
| 37 | 37 |
return err |
| 38 | 38 |
} |