Podman 5.7 & BoltDB to SQLite migration

Work in progress on a fix: Add migration code for BoltDB to SQLite by mheon · Pull Request #27660 · containers/podman · GitHub

Noteworthy: this will land in Podman 5.8 in February. It will be removed in Podman 6.0 later in spring, as the codepaths for BoltDB will be entirely gone. Thus, any upgrades from 5.x to 6.0 will need to make a stop at 5.8 to make use of the upgrade functionality.

Our ability to test complicated migration scenarios is also limited. I don’t think there’s a risk of data loss as written but the migration may not be perfect.

I think we should announce this in as many places as possible. I don’t know if there are any plans, but I can try to help with testing and organizing a test week for the migration if that would be useful as well.

to clarify:
when running

root@xxx ~ (master) # podman system reset
WARN[0000] The deprecated BoltDB database driver is in use. This driver will be removed in the upcoming Podman 6.0 release in mid 2026. It is advised that you migrate to SQLite to avoid issues when this occurs. Set SUPPRESS_BOLTDB_WARNING environment variable to remove this message.
WARNING! This will remove:
        - all containers
        - all pods
        - all images
        - all networks
        - all build cache
        - all machines
        - all volumes
        - the graphRoot directory: "/xxx/containers"
        - the runRoot directory: "/var/run/containers/storage"
Are you sure you want to continue? [y/N] n

now, my understanding from the above is, the images are not actually affected by the migration (is that correct ?)
which tends to mean that podman system reset is a little overkill in the current situation, right ?
better wait for the migration tool then iiuc…

You could distribute the following information…
Change proposal:

First hand info about migration options:

I am sorry, but this proposed “migration” from BoltDB into sqlite is insanely unfriendly to any podman users. Can you share how that database can be accessed and read contents of them? This is not acceptable way to migrate even on Fedora. This would be much bigger issue for later RHEL upgrades. Telling users to delete their every data is non-sense. Okay, I do not need running containers images. I might even download again images. But I see no good reason why to download every image again.

Please, work on a bit on more user friendly migration. This is not it!

Did you read the two links posted above?

A reset is not required. There will be an automatic migration. All you have to do is upgrading podman to v5.8 and do a reboot. That’s actually quite user-friendly.

Could that migration code be extracted into a standalone package for longevity?

Just to clarify, if podman volume ls says i have no volumes (because all of my actual volumes are mounted with podman -v …), does that mean i’m safe? Also, some of my boxes are not on 5.7 yet so i don’t get this warning. How can i check what database format these boxes use? (i suspect they use SQLite since they’ŗe not that old, but i’d like to be sure.)

podman info --format \{\{.Host.DatabaseBackend\}\} for your current user and the same command with the sudo prefix for root.