-
Notifications
You must be signed in to change notification settings - Fork 782
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
Buildah reuse gzip layers when "--compression-format zstd" assigned #4613
Comments
@giuseppe @vrothberg @mtrmac PTAL |
Yes; this is currently working as designed. The compression algorithm choice only applies when we compress blobs, and we prefer to reuse blobs rather than to push and compress. (And there are no available options to choose a different behavior, right now.) That will need to change, or at least give callers more options, to allow correctly creating multi-variant Zstd images and the like; and that’s being worked on in the nearer term. |
I think we should leave the issue open until the multi-variant images are done. |
A friendly reminder that this issue had no activity for 30 days. |
@vrothberg @flouthoc @mtrmac @giuseppe any movement on this? |
@Placeboy I believe this will be fixed as a byproduct of this PR containers/image#1875, i was able to reproduce the problem you faced and part of the commit containers/image#1875 does what you want. |
That’s not 100% obvious to me. In the Zstd conversion case, we clearly don’t want to reuse differently-compressed layers. In this case, there’s still a conceptual ambiguity as to whether We can also decide to only implement one of the two, or even to just change the existing option’s semantics to the other alternative, and I don’t feel very strongly about that (although I’m slightly biased in favor of not breaking performance characteristics of existing options). Primarily, let’s recognize that this is a choice we can make, and merging code without consciously deciding to make a choice is still making that choice. |
A friendly reminder that this issue had no activity for 30 days. |
@mtrmac See this note: https://docs.docker.com/build/exporters/#compression
|
A friendly reminder that this issue had no activity for 30 days. |
This will be closed once we wire, |
ForceCompressionFormat allows end users to force selected compression format (set in DestinationCtx.CompressionFormat) which ensures that while copying blobs of other compression algorithms are not reused. Following flag is a frontend wrapper for: containers#2023 Will help in: * containers/buildah#4613 * containers/podman#18660 Signed-off-by: Aditya R <[email protected]>
ForceCompressionFormat allows end users to force selected compression format (set in DestinationCtx.CompressionFormat) which ensures that while copying blobs of other compression algorithms are not reused. Following flag is a frontend wrapper for: containers#2023 Will help in: * containers/buildah#4613 * containers/podman#18660 Signed-off-by: Aditya R <[email protected]>
ForceCompressionFormat allows end users to force selected compression format (set in DestinationCtx.CompressionFormat) which ensures that while copying blobs of other compression algorithms are not reused. Following flag is a frontend wrapper for: containers#2023 Will help in: * containers/buildah#4613 * containers/podman#18660 Signed-off-by: Aditya R <[email protected]>
ForceCompressionFormat allows end users to force selected compression format (set in DestinationCtx.CompressionFormat) which ensures that while copying blobs of other compression algorithms are not reused. Following flag is a frontend wrapper for: containers#2023 Will help in: * containers/buildah#4613 * containers/podman#18660 Signed-off-by: Aditya R <[email protected]>
ForceCompressionFormat allows end users to force selected compression format (set in DestinationCtx.CompressionFormat) which ensures that while copying blobs of other compression algorithms are not reused. Following flag is a frontend wrapper for: containers#2023 Will help in: * containers/buildah#4613 * containers/podman#18660 Signed-off-by: Aditya R <[email protected]>
ForceCompressionFormat allows end users to force selected compression format (set in DestinationCtx.CompressionFormat) which ensures that while copying blobs of other compression algorithms are not reused. Following flag is a frontend wrapper for: containers#2023 Will help in: * containers/buildah#4613 * containers/podman#18660 Signed-off-by: Aditya R <[email protected]>
ForceCompressionFormat allows end users to force selected compression format (set in DestinationCtx.CompressionFormat) which ensures that while copying blobs of other compression algorithms are not reused. Following flag is a frontend wrapper for: containers#2023 Will help in: * containers/buildah#4613 * containers/podman#18660 Signed-off-by: Aditya R <[email protected]>
ForceCompressionFormat allows end users to force selected compression format (set in DestinationCtx.CompressionFormat) which ensures that while copying blobs of other compression algorithms are not reused. Following flag is a frontend wrapper for: containers#2023 Will help in: * containers/buildah#4613 * containers/podman#18660 Signed-off-by: Aditya R <[email protected]>
Adds support for `--force-compression` which allows end-users to force push blobs with the selected compresison in `--compression` option, in order to make sure that `blobs` of other compression on registry are not reused. Is equivalent to: `force-compression` here: https://docs.docker.com/build/exporters/#compression Closes: containers#4613 Also Implements: `--compression-format` and `--compression-level` for `manifest push` just like `podman`'s `manifest push` Signed-off-by: Aditya R <[email protected]>
Adds support for `--force-compression` which allows end-users to force push blobs with the selected compresison in `--compression` option, in order to make sure that `blobs` of other compression on registry are not reused. Is equivalent to: `force-compression` here: https://docs.docker.com/build/exporters/#compression Closes: containers#4613 Also Implements: `--compression-format` and `--compression-level` for `manifest push` just like `podman`'s `manifest push` Signed-off-by: Aditya R <[email protected]>
Adds support for `--force-compression` which allows end-users to force push blobs with the selected compresison in `--compression` option, in order to make sure that `blobs` of other compression on registry are not reused. Is equivalent to: `force-compression` here: https://docs.docker.com/build/exporters/#compression Closes: containers#4613 Also Implements: `--compression-format` and `--compression-level` for `manifest push` just like `podman`'s `manifest push` Signed-off-by: Aditya R <[email protected]>
Adds support for `--force-compression` which allows end-users to force push blobs with the selected compresison in `--compression` option, in order to make sure that `blobs` of other compression on registry are not reused. Is equivalent to: `force-compression` here: https://docs.docker.com/build/exporters/#compression Closes: containers#4613 Also Implements: `--compression-format` and `--compression-level` for `manifest push` just like `podman`'s `manifest push` Signed-off-by: Aditya R <[email protected]>
PR #4973 closes this. |
Adds support for `--force-compression` which allows end-users to force push blobs with the selected compresison in `--compression` option, in order to make sure that `blobs` of other compression on registry are not reused. Is equivalent to: `force-compression` here: https://docs.docker.com/build/exporters/#compression Closes: containers#4613 Also Implements: `--compression-format` and `--compression-level` for `manifest push` just like `podman`'s `manifest push` Signed-off-by: Aditya R <[email protected]>
Description
I pushed my image with flag "--compression-format zstd", but when I checked its manifest I found that it just reused gzip layers.
Steps to reproduce the issue:
Here is my Dockerfile:
Check manifest again now:
Describe the results you expected:
Output of
rpm -q buildah
orapt list buildah
:Output of
buildah version
:Output of
cat /etc/*release
:Output of
uname -a
:Output of
cat /etc/containers/storage.conf
:The text was updated successfully, but these errors were encountered: