-
Story
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
False
-
-
False
-
rhel-container-tools
-
-
[2595568351] Upstream Reporter: Radostin Stoyanov
Upstream issue status: Open
Upstream description:
Issue Description
When migrating a container from one VM to another with the latest version of Podman, container restore fails with the following error:
Error: creating container storage: reading image "01086e2bbcfab816ef337fa91d8b71862e2ded41c96261ed8a5bb605f92eb9c1": locating image with ID "01086e2bbcfab816ef337fa91d8b71862e2ded41c96261ed8a5bb605f92eb9c1": image not knownThis error occurs because the rootfsImageID value stored in the config.dump file in the checkpoint does not match the rootfsImageID value generated on the new VM.
In the following example, we can see that running podman pull results in 3417cee3cb7fa02b251c6157dd3d940172383b796b65aed93f3d82d490839270 on srv1 and 01086e2bbcfab816ef337fa91d8b71862e2ded41c96261ed8a5bb605f92eb9c1 on srv2:
[root@srv1 ~]# podman pull quay.io/radostin/iperf3:latest Trying to pull quay.io/radostin/iperf3:latest... Getting image source signatures Copying blob 4bfe8d9702cf done 2.7MiB / 2.7MiB (skipped: 224.0b = 0.01%) Copying blob f7406d2490fe done 29.8MiB / 29.8MiB (skipped: 1.9KiB = 0.01%) Copying config 3417cee3cb done | Writing manifest to image destination 3417cee3cb7fa02b251c6157dd3d940172383b796b65aed93f3d82d490839270[root@srv2 ~]# podman pull quay.io/radostin/iperf3:latest Trying to pull quay.io/radostin/iperf3:latest... Getting image source signatures Copying blob 4bfe8d9702cf done 2.7MiB / 2.7MiB (skipped: 224.0b = 0.01%) Copying blob f7406d2490fe done 29.8MiB / 29.8MiB (skipped: 1.9KiB = 0.01%) Copying config 3417cee3cb done | Writing manifest to image destination 01086e2bbcfab816ef337fa91d8b71862e2ded41c96261ed8a5bb605f92eb9c1This checksum mismatch causes container restore to fail. This can be confirmed by manually editing the rootfsImageID value in config.dump as shown in this video.
Steps to reproduce the issue
Steps to reproduce the issue using two VMs (A and B):
- Run a container in A, and create a container checkpoint
podman run -d --name looper busybox /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done' podman container checkpoint -l --export=/tmp/chkpt.tar.gz
- Transfer the checkpoint from A to B (e.g., using NFS or scp)
- Restore container from checkpoint in B
podman container restore --import=/tmp/chkpt.tar.gzDescribe the results you received
Restore fails with the error message above.
Describe the results you expected
Restore should complete successfully.
podman info output
Podman installed as follows on Fedora Rawhide:
dnf copr enable -y rhcontainerbot/podman-next dnf --repo='copr*' update -y dnf install -y podmanPodman in a container
No
Privileged Or Rootless
Privileged
Upstream Latest Release
Yes
Additional environment details
Additional environment details
Additional information
No response
Upstream URL: https://github.com/containers/podman/issues/24307
- links to