Upgrade/migrate from juju 3.6 to 4.0

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

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.

1 Like

This is super relevant, please do share this in as much detail as you can.

From major pains to detailed step be step and pre-flight checks, everything is very interesting. We’ve been working on more seamless upgrate-to process via JIMM, but even non-jimm experience is very interesting.

Thanks for sharing :raising_hands:

Tagging @alesstimec who can give you more details on ins and outs of the improved JIMM upgrade experience, if that is going to be relevant for you.