From Fedora Project Wiki

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

  1. Before upgrading, make a note of all containers, pods, and volumes present on the system with podman ps -a, podman pod ps, and podman volume ls.
  2. Install Podman 5.8 with DNF - dnf upgrade podman or similar.
  3. 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.
  4. Run podman info --format \{\{.Host.DatabaseBackend\}\} again. The output should now be "sqlite".
  5. Ensure all your containers, pods, and volumes are still present with podman ps -a, podman pod ps, and podman volume list.
  6. Ensure that you can still start and stop containers and pods with the podman start and podman stop commands (and their pod equivalents).
  7. Ensure that you can still create and remove containers with podman run and podman rm.

Expected Results

  1. The migration command completes without error and with exit code 0
  2. Running podman info after migration succeeds without error and with exit code 0, and shows that the database backend is now "sqlite"
  3. 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.