-
Notifications
You must be signed in to change notification settings - Fork 246
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
podman push --compression-format=zstd:chunked generates invalid OCI images #1771
Comments
Note that actually only after I finished writing this investigation I have found this issue which seems to deal with some similar concerns: containers/podman#20611 So maybe my issue is just a duplicate of this known issue. |
@giuseppe PTAL |
I'll give it a try but this should be fixed with: containers/image#1980 |
Ok thanks. As soon as this is vendored into podman and released into a quay.io/podman/upstream image, I can test as well the full flow on my side, with pushing to a registry and re-pulling back on docker side. Note that in another scenario where I would like to adopt zstd:chunked, I would like to build images via buildx (connecting to a real docker daemon, as this is the only thing I have in Jenkins environment for now), export it to an oci-archive via buildx, then push it to a registry and re-compressing it on the fly to zstd:chunked via skopeo. And so far my attempt to create zstd:chunked image this way via skopeo instead of podman failed similarly, so I hope your fix will apply to skopeo too ;) |
it seems still broken with the current version, taking a look now |
Flush the entire input tarball to the output in the zstd:chunked stream writer. This is needed to include any trailing zeros that affect the uncompressed digest. Closes: containers#1771 Signed-off-by: Giuseppe Scrivano <[email protected]>
opened a PR: #1772 |
Flush the entire input tarball to the output in the zstd:chunked stream writer. This is needed to include any trailing zeros that affect the uncompressed digest. Closes: containers#1771 Signed-off-by: Giuseppe Scrivano <[email protected]>
Issue Description
It seems that --compression-format=zstd:chunked generates invalid OCI images. When pushed in a registry, and then pull by docker, docker complains with "layers from manifest don't match image configuration".
Steps to reproduce the issue
Here is how to reproduce using the very latest podman upstream image:
From what I understood of zstd:chunked, the idea was that the metadata would be added as annotation in the OCI image config, rather than inside hidden tar metadata (ie unlinke estargz). But it seems the generated tarball in the end is not the same.
I am not sure if I shall continue the investigation myself from there or if you want to continue on your side ;) But it seems there is some unexpected behavior with zstd:chunked compression.
Describe the results you received
The generated layer tarball in zstd:chunked is not correct, while it is for gzip/zstd.
Describe the results you expected
The generated layer tarball in should be the same for all compression, including zstd:chunked.
podman info output
Tried with the latest `quay.io/podman/upstream`.
Podman in a container
No
Privileged Or Rootless
None
Upstream Latest Release
Yes
Additional environment details
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: