c8d: Fix pull progress update
We were sending the "Pulling from ..." message too early, if the pull progress wasn't able to resolve the image we wouldn't sent the error back. Sending that first message would have flushed the output stream and image_routes.go would return a nil error. Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
This commit is contained in:
parent
30a57db97c
commit
32e2c53467
1 changed files with 6 additions and 2 deletions
|
@ -73,8 +73,14 @@ func (i *ImageService) PullImage(ctx context.Context, image, tagOrDigest string,
|
|||
finishProgress := jobs.showProgress(ctx, out, pp)
|
||||
defer finishProgress()
|
||||
|
||||
var sentPullingFrom bool
|
||||
ah := images.HandlerFunc(func(ctx context.Context, desc ocispec.Descriptor) ([]ocispec.Descriptor, error) {
|
||||
if images.IsManifestType(desc.MediaType) {
|
||||
if !sentPullingFrom {
|
||||
progress.Message(out, tagOrDigest, "Pulling from "+reference.Path(ref))
|
||||
sentPullingFrom = true
|
||||
}
|
||||
|
||||
available, _, _, missing, err := images.Check(ctx, i.client.ContentStore(), desc, p)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -98,8 +104,6 @@ func (i *ImageService) PullImage(ctx context.Context, image, tagOrDigest string,
|
|||
infoHandler := snapshotters.AppendInfoHandlerWrapper(ref.String())
|
||||
opts = append(opts, containerd.WithImageHandlerWrapper(infoHandler))
|
||||
|
||||
progress.Message(out, tagOrDigest, "Pulling from "+reference.Path(ref))
|
||||
|
||||
img, err := i.client.Pull(ctx, ref.String(), opts...)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
Loading…
Add table
Reference in a new issue