Bug 1797599
Summary: | podman cannot support load tarball which the name with colon but docker can support this | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | kevin <welin> |
Component: | podman | Assignee: | Jindrich Novy <jnovy> |
Status: | CLOSED ERRATA | QA Contact: | Martin Jenner <mjenner> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.8 | CC: | bbaude, dwalsh, jligon, jnovy, lsm5, mheon, tsweeney, umohnani, weshen |
Target Milestone: | rc | Keywords: | Extras |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | podman-1.6.4-7.el7_8 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-04-01 00:25:22 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
kevin
2020-02-03 13:38:27 UTC
I’m afraid this a known limitation; the : character is special the internal implementation of the docker-archive: transport. You can use (podman load < registry:2.tar.gz), which makes the file name irrelevant to podman, at the cost of making an extra on-disk copy in /var/tmp, rename the input, or use a symlink. I guess podman could create a temporary symlink automatically. I have found the extra on-disk copy in /var/tmp after I load the image successully using (podman load < registry:2.tar.gz) cd /var/tmp/ [root@localhost tmp]# ls docker-tar065395217 docker-tar267917452 docker-tar724534814 docker-tar214226193 docker-tar306480357 docker-tar854366455 docker-tar216811232 docker-tar708259437 docker-tar860970637 how to avoid this issue? Thanks for the report, that’s a straightforward bug (in both Podman and Buildah): https://github.com/containers/libpod/blob/537352cc3ee60373b41481a7f48e65b1978ea5f7/libpod/image/pull.go#L125 does not have a matching tarSource.Close(). This only happens if the input is compressed, so, as a possible _temporary_ workaround, you can decompress the image yourself (which will avoid creating the /var/tmp/docker-tar* copies, so it won’t require extra disk space — it could even be faster, because the content will be decompressed only once), and then delete the decompressed version manually. But we should just fix at least that part. Setting this PR to POST and sending it to Jindrich to package once the PR's merge in. Thanks Miloslav. which version fir podman the bug will be fixed? Matt Heon, can you answer Kevin as to which version of Podman this will be in? At the earliest, Podman 1.8.0, but I'm guessing 1.8.1 or 1.9.0 whichever release comes after 1.8.0. But Matt's the person that will know for sure. 1.8.0 final, probably releasing tomorrow upstream, should include a fix for the tar issue. I don't believe a fix for the issue of `:` in filenames is presently planned, the workaround of redirecting it into STDIN seems to work well enough. Have any plan to give the feature of podman save multiple images into one tarball? It has been talked about, but we need community members to step up to do the work, hint, hint. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:1227 |