-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TaskRun failing with duplicate unique image found #6257
Comments
fix [issue-6257](tektoncd#6257) ignore unknown OS/architecture image entrypoint, because runtime.GOOS and runtime.GOARCH will not be unkonwn Signed-off-by: chengjoey <zchengjoey@gmail.com>
hi @Fabian-K ,This seems to be a problem with the image when building multiple systems with docker buildx. unknown/unknown seems a bit strange. In the process of creating pods, tekton will automatically use the entrypoint of the image itself if cmd and args are not displayed, causing this The root cause of a bug is that there are multiple unknown/unknown platforms and their sha IDs are different from the mirror inspection |
The platform is set to unknown in the example from the docker docs as well: https://docs.docker.com/build/attestations/attestation-storage/#examples This attestation storage format seems to be custom of docker, the attestation is linked back to the platform-specific image via the sha in the I suppose ignoring entries with platform "unknown/unknown" would make sense anyways, regardless of the attestation storage format. @tektoncd/core-maintainers wdyt? |
cc @imjasonh as well |
This sounds right to me. The combine program in plumbing will also need to handle unknown/unknown, probably by always including it in the combined output, rather than ignoring it. |
Adding this for context/future : moby/buildkit#3610 |
fix [issue-6257](tektoncd#6257) ignore unknown OS/architecture image entrypoint, because runtime.GOOS and runtime.GOARCH will not be unkonwn Signed-off-by: chengjoey <zchengjoey@gmail.com>
fix [issue-6257](tektoncd#6257) ignore unknown OS/architecture image entrypoint, because runtime.GOOS and runtime.GOARCH will not be unkonwn Signed-off-by: chengjoey <zchengjoey@gmail.com>
fix [issue-6257](tektoncd#6257) ignore unknown OS/architecture image entrypoint, because runtime.GOOS and runtime.GOARCH will not be unkonwn. all possible GOOS values are defined in src/go/build/syslist.go Signed-off-by: chengjoey <zchengjoey@gmail.com>
fix [issue-6257](#6257) ignore unknown OS/architecture image entrypoint, because runtime.GOOS and runtime.GOARCH will not be unkonwn. all possible GOOS values are defined in src/go/build/syslist.go Signed-off-by: chengjoey <zchengjoey@gmail.com>
Expected Behavior
The following PipelineRun should succeed and print the gomplate version:
Actual Behavior
The PipelineRun is failing, the status of the created TaskRun is
Steps to Reproduce the Problem
Additional Info
v1.23.13
v0.45.0
This does not seem to be an issue with 0.45.0, it also exists in 0.42.0. I noticed that hairyhenderson/gomplate:v3.11.4 is failing, however hairyhenderson/gomplate:v3.11.3 is working fine. The difference between the images seems to be that v3.11.4 has "minimal SLSA Provenance attestation" enabled / was published with that. (hairyhenderson/gomplate#1652 for details).
When inspecting the manifest, for the working image (
docker buildx imagetools inspect hairyhenderson/gomplate:v3.11.3
) it does not include and attestation-manifest.When inspecting the manifest for the affected image (
docker buildx imagetools inspect hairyhenderson/gomplate:v3.11.4
), attestation-manifests are included and the error message from the TaskRun status also reference those entries.I have to admit that I don´t know much about attestation-manifest but this seems to be an issue with tekton not (yet) supporting those images and not with the image itself?
Thanks,
Fabian
The text was updated successfully, but these errors were encountered: