Upgrading from 3.0.4 to 4.0.3 in production


Maybe my Google-fu is failing me, but I’m having a hard time finding any good advice on upgrading from 3.0.4 LTS to 4.0.3 LTS on Debian buster (via snaps).

Is there a page somewhere in the documentation that has advice on how to upgrade, what I should look for, pitfalls, etc?


Our upgrade logic should work from just about any LXD version, we actually still daily test upgrading from 2.0 to current 4.5 in one go.

Unless you’re using clustering where things can get a bit bumpier as all systems need to upgrade at the same time, I would not expect any issue with switching from 3.0.4 to 4.0.3. There are database schema changes and patches which will get applied for sure and while I don’t believe we have any patch that will shutdown running containers, it may be a good idea to plan for downtime during the upgrade and maybe even stop the containers ahead of the upgrade to make any data migration that needs to happen a bit faster.

1 Like

Wow, thanks for the speedy reply!

OK, so it should be a case of just stopping the containers, upgrading to the latest stable channel (4.0/stable) via snap, then rebooting the server maybe?

I guess I should do a backup first, as detailed here? https://linuxcontainers.org/lxd/docs/master/backup

LXD automatically backups the database as part of an upgrade, so you’ll be fine there too.

Perfect, thanks!