Issue
podman load compressed tar file failed with container-tools:4.0. After use gzip to zip the tar file, podman load will failed to load the file again.
Please provide the package NVR for which bug is seen:
podman-2:4.0.2-20.module+el8.8.0+18201+6ad7332c.x86_64
How reproducible:
100%
Steps to reproduce
pull an image and save it to a tar file
podman pull quay.io/libpod/busybox
podman save -o busybox.tar quay.io/libpod/busybox
Copying blob d2421964bad1 done
Copying config f0b02e9d09 done
Writing manifest to image destination
Storing signatures
Remove the image with podman rmi
podman rmi quay.io/libpod/busybox
Untagged: quay.io/libpod/busybox:latest
Deleted: f0b02e9d092d905d0d87a8455a1ae3e9bb47b4aa3dc125125ca5cd10d6441c9f
Use gzip to compress the tar file
gzip busybox.tar
Load the compressed with podman load
podman load -i busybox.tar.gz
Error: payload does not match any of the supported image formats:
oci: initializing source oci:busybox.tar.gz:: open busybox.tar.gz/index.json: not a directory
oci-archive: loading index: open /var/tmp/oci1593842613/index.json: no such file or directory
docker-archive: loading tar component manifest.json: archive/tar: invalid tar header
dir: open busybox.tar.gz/manifest.json: not a directory
Expected results
The file can be load.
Actual results
podman load can not handle the .gz file correctly.
Additional info:
This works in RHEL 8.7 as it will not be triggered if the build system use a 1.18 golang. The golang version updated to 1.19 since RHEL 8.8 so the bug exposed. There is an upstream issue for it:
https://github.com/containers/podman/issues/15944
And it is fixed in the rhel8 stream.