From Fedora Project Wiki

Description

This test case ensures that the zstd:chunked compression is properly configured and functions correctly in Podman 5.2.

Setup

  1. Install the pre-release version of Fedora with Podman 5.2 on a bare metal system.
  2. Dockerhub account

How to test

  1. Configure zstd:chunked as the default format in containers.conf, edit compression_format = "zstd:chunked" and uncomment the line.
  2. Write your own containerfile or use this[1]
  3. Write an HTML file if you are using the above gist[2]
  4. Build a container image using the podman build -t my-fedora-container . command.
  5. Run podman run -d -p 8080:80 my-fedora-container and check localhost:8080
  6. Tag the image podman tag my-fedora-container docker.io/<YOUR_USERNAME>/my-fedora-container:latest
  7. Login from CLI podman login docker.io
  8. Push the built image to a registry podman push docker.io/<YOUR_USERNAME>/my-fedora-container:latest
  9. Run the image with an older version of Podman or Docker to verify compatibility.
  10. Update the container image with an additional package.
  11. Squash the image using podman build --squash-all .
  12. Push the updated image to the registry.
  13. Remove the image from local storage podman rmi -a
  14. Pull the image from the registry.

Expected Results

The following must be true to consider this a successful test run:

  1. zstd:chunked is correctly configured in containers.conf.
  2. Container image builds successfully and is pushed to the registry without errors.
  3. The image runs correctly with an older version of Podman or Docker.
  4. The container image is updated and squashed without errors.
  5. The squashed image is pushed to the registry successfully.
  6. The image is removed from local storage and re-pulled from the registry.
  7. Significant savings on pull size are observed due to zstd:chunked compression.

Optional

Optionally, test the performance impact of zstd:chunked compression during various stages (build, push, pull) and compare it to other compression formats.