Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-17147

podman load compressed tar file failed with container-tools:3.0 - RHEL 8.4

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Normal Normal
    • rhel-8.4.0.z
    • rhel-8.8.0
    • podman
    • None
    • None
    • None
    • sst_container_tools
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None

      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

      1. pull an image and save it to a tar file
      1. podman pull quay.io/libpod/busybox
      1. podman save -o busybox.tar quay.io/libpod/busybox

      Copying blob d2421964bad1 done 

      Copying config f0b02e9d09 done 

      Writing manifest to image destination

      Storing signatures

      1.  Remove the image with podman rmi
      1. podman rmi quay.io/libpod/busybox

      Untagged: quay.io/libpod/busybox:latest

      Deleted: f0b02e9d092d905d0d87a8455a1ae3e9bb47b4aa3dc125125ca5cd10d6441c9f

      1.  Use gzip to compress the tar file
      1. gzip busybox.tar
      1.  Load the compressed with podman load
      1. 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.

            rhn-support-jnovy Jindrich Novy
            ypu@redhat.com Yiqiao Pu
            Container Runtime Eng Bot Container Runtime Eng Bot
            Yiqiao Pu Yiqiao Pu
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: