Description
This test case ensures that migration of the Podman database from BoltDB to SQLite occurs properly.
Setup
Before installing Podman 5.8, it is necessary to verify that migration is necessary. Ensure that Podman is installed and the boltdb database backend is in use by running podman info --format \{\{.Host.DatabaseBackend\}\}. If the output of this command is not "boltdb", migration is not necessary and cannot be tested.
How to test
- Before upgrading, make a note of all containers, pods, and volumes present on the system with
podman ps -a,podman pod ps, andpodman volume ls. - Install Podman 5.8 with DNF -
dnf upgrade podmanor similar. - At this point, either restart the system, or run
podman system migrate --migrate-db. If the system was restarted, run any Podman command once to perform an automatic migration. - Run
podman info --format \{\{.Host.DatabaseBackend\}\}again. The output should now be "sqlite". - Ensure all your containers, pods, and volumes are still present with
podman ps -a,podman pod ps, andpodman volume list. - Ensure that you can still start and stop containers and pods with the
podman startandpodman stopcommands (and their pod equivalents). - Ensure that you can still create and remove containers with
podman runandpodman rm.
Expected Results
- The migration command completes without error and with exit code 0
- Running
podman infoafter migration succeeds without error and with exit code 0, and shows that the database backend is now "sqlite" - All core Podman functionality - creating, removing, starting, stopping, etc - remains functional.
Optional
The migration affects containers, pods, and volumes. Running any workflows on these that you have after the migration and ensuring they are still fully functional would be valuable.
