Skip to content

imagetools create should propagate the original error #1726

@crazy-max

Description

@crazy-max

If I'm unauthenticated and try to use imagetools create, it fails without showing me the original error that would help to find out the issue:

$ docker buildx imagetools create --tag foo.com/user/repo:latest --tag foo.com/user/repo:v1.0 foo.com/user/repo:v1.0.0
#1 [internal] pushing foo.com/user/repo:v1.0
#1 0.000 pushing sha256:1bf960763a14552b30e1e91967966b659f595ea854cf2c2c445f1c529853bcc4 to foo.com/user/repo:v1.0
#1 ...

#2 [internal] pushing foo.com/user/repo:latest
#0 0.000 pushing sha256:1bf960763a14552b30e1e91967966b659f595ea854cf2c2c445f1c529853bcc4 to foo.com/user/repo:latest
#2 ERROR: failed to copy after 5 retries

#1 [internal] pushing foo.com/user/repo:v1.0
#1 ERROR: failed to copy after 5 retries
------
 > [internal] pushing foo.com/user/repo:v1.0:
#1 0.000 pushing sha256:1bf960763a14552b30e1e91967966b659f595ea854cf2c2c445f1c529853bcc4 to foo.com/user/repo:v1.0
------
------
 > [internal] pushing foo.com/user/repo:latest:
#0 0.000 pushing sha256:1bf960763a14552b30e1e91967966b659f595ea854cf2c2c445f1c529853bcc4 to foo.com/user/repo:latest
------
ERROR: failed to copy after 5 retries
ERROR: failed to copy after 5 retries
ERROR: failed to copy after 5 retries

It does not seem to be in buildx but containerd: https://github.com/containerd/containerd/blob/5885db62c856e703f11f2195c54efbec5d00a788/content/helpers.go#L206

Bisecting indicates containerd/containerd#6995 is the PR introducing this issue that has been fixed by @jedevc in containerd/containerd#7985 for pushWriter but we also need to propagate the original error for the Copy helper: https://github.com/containerd/containerd/blob/5885db62c856e703f11f2195c54efbec5d00a788/content/helpers.go#L143-L207

@akhilerm Let me know if you want another issue on containerd repo.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions