Description
This test case ensures that parallel image pulls in Podman work correctly. As part of Podman 5.8 the storage backend locking model was reworked to allow a much more efficient layer adding so we like to get some more testing for it. You can find more information about the change here: https://blog.podman.io/2025/12/accelerating-parallel-layer-creation/
Setup
Ensure podman 5.8 is installed, choose a few remote container image of your choice as testimage, bigger images are recommended so they take a bit longer to pull.
The storage driver should be overlay, you can see your driver with podman info --format \{\{.Store.GraphDriverName\}\}.
Note when using another driver you can still test that the pulls work but the new improvements only apply to overlay.
How to test
Run at least two podman pull process in parallel to pull two different images, either by using podman pull IMAGE1 2>/dev/null & podman pull IMAGE2 or by running podman pull commands in two different terminal windows at the same time.
You can also run more than two commands in parallel to stress the system even more.
Once all the pull commands completed make sure they are successful and podman images displays your images. Then try to run a container with it to check that it actually works.
Expected Results
All pull commands should complete successfully and the resulting image can be used to run a container of it.
Optional
If wanted, the same test can be done with podman 5.7 and the measure the command execution times with podman v5.7 and v5.8 and there should be a noticeable speed up in v5.8. In the worst case it may not be faster but it definitely should never be slower than before. If do this I recommend a local registry setup to avoid the hitting network as bottleneck.
