Starting this thread to prepare for an upgrade from Juju 3.6 to juju 4.
I am planning to make an initial dry-run and I am looking for the best availble documentation before I start setting up a test migration and test the process in a safe setup.
This is the current documentation I’ve found: Upgrade your Juju deployment from 3.6 to 4.0 - Juju documentation
Below is our scenario:
The 3.6 setup
- Running a number of controllers of juju 3.6
- Both in Juju controller cluster setup and single nodes.
- Controllers are running on both manual clouds and aws.
- One controller models is still in an error state due to this bug: metrics-endpoint-relation-created on every unit fail in cluster mode · Issue #112 · juju/juju-controller · GitHub (still happening on charm revision: 315, 2026-Jul-14)
- We make use of many juju advanced features, such as secrets, cross-controller/cross-model relations, identity-url:s, manual clouds, storage, etc.
Concerns, from previous experiences: 2.9 to 3.6
- Upgrading from 2.9 to 3.6 was scary. We ended up having to work with bugs and tricky challenges to complete that migration, many times dependent on Canonical developers.
- We encountered mid-migration problems. That rendered us in a split environment for a long time. That placed a significant stress on the operations.
- Since we can’t easily redeploy some of our models, we need to figure out a way to get out of a split environment situation.
- It is hard to dry-run the migration, because it was almost impossible to recreate the full problem-space for a production environment.
- The new dqlite database for 4.0 seems to require a s3 compatible storage in conjunction to the controller. Do I need to have a highly available ceph storage available before migration?
Why upgrade?
- Juju has been very good to us - we want to make sure we are on the most upgraded/maintained version of Juju.
- We would likte to work with Juju via proper API:s. This has not worked out for us with 3.6.
- The inability to interact with Juju via API:s prevents us from writing supplementary code to assist us in the daily operations. Such as inventory querying, automation tools, AI driven operations etc. We hope Juju 4.0 can remedy some of that.
I hope I can share my experiences here over time and perhaps collect valuable insights in this thread.