mirror of
https://github.com/containers/podman.git
synced 2026-03-28 19:43:40 -04:00
Cache cleanups only happen if there is a cache miss, and we need to pull a new image For quay.io/podman/machine-os, we remove all old images from the cache dir. This means we will delete any file that exists in the cache dir; this should be safe to do since the machine pull code should be the only thing touching this cache dir. OCI machine images will always have a different manifest, and won’t be updated with the same manifest, so if the version moves on, there isn’t a reason to keep the old version in the cache, it really doesn’t change. For Fedora (WSL), we use the cache, so we go through the cache dir and remove any old cached images, on a cache miss. We also switch to using ~/.local/share/containers/podman/machine/wsl/cache as the cache dir rather than ~/.local/share/containers/podman/machine/wsl. Both these behaviors existed in v4.9, but are now added back into 5.x. For generic files pulled from a URL or a non-default OCI image, we shouldn’t actually cache, so we delete the pulled file immediately after creating a machine image. This restores the behavior from v4.9. For generic files from a local path, the original file will never be cleaned up Unsure how to test, so: [NO NEW TESTS NEEDED] Signed-off-by: Ashley Cui <acui@redhat.com>
Working README for running the machine tests
Note: you must not have any machines defined before running tests
Linux
QEMU
make localmachine
Microsoft Windows
HyperV
- Open a powershell as admin
- $env:CONTAINERS_MACHINE_PROVIDER="hyperv"
./winmake localmachine
Note: To run specific test files, add the test files to the end of the winmake command:
./winmake localmachine "basic_test.go start_test.go"
WSL
- Open a powershell as a regular user
- Build and copy win-sshproxy into bin/
./winmake localmachine
Note: To run specific test files, add the test files to the end of the winmake command:
./winmake localmachine "basic_test.go start_test.go"
MacOS
Apple Hypervisor
make podman-remotemake localmachine(AddFOCUS_FILE=basic_test.goto only run basic test)