Juju 2.9.5 Release Notes

The Juju team is proud to release Juju 2.9.5 (and 2.9.6 candidate). We aim to be your preferred tool for writing operators, software that manages software, whether your hosting infrastructure is Kubernetes, in the cloud or on-premises.

This release includes important fixes

  • LP #1918680 - controller migration when dealing with large deployments
  • LP #1899793 - bootstrap fails with TLS handshake timeout
  • LP #1929908 - bundle deploys on an existing model causes all units to run config-changed even with no changes
  • LP #1930649 - sidecar charms don’t record the cloud service info in the juju model
  • LP #1931721 - juju ssh/scp to leader for subordinates
  • LP #1931570 - pebble-specific events now allows debug-code
  • LP #1927732 - upgrade from 2.8 results in applications with no leader

Additional bugs fixed can be found on the [milestone page](https://launchpad.net/juju/+milestone/2.9.5).

Known Issues

Model upgrades with sidecar charms

Models which contain k8s sidecar charms cannot be upgraded from 2.9.0. This will not be an issue from this 2.9.6 release onwards, but any such workloads running on 2.9.0 will need to be redeployed.

How do I upgrade?

There are three binaries that make up a Juju deployment - the client, the server and the agents. To upgrade a running system:

Upgrade the client

Make sure you have the version of the Juju CLI that you want running across the system (controller and agents in any deployed models). If you installed the Juju snap, it will automatically be updated daily from the channel you selected, but you might want to sudo snap switch juju --channel=2.8/stable for example, to get a particular version. To get the latest binary from your channel:

snap refresh juju 

Upgrading the Juju client through other channels

Check version

Make sure that you’re using the Juju version you want.

juju version

Backing up

The controller state can be saved to allow for recovery in case the upgrade process encounters a serious error.

juju create-backup

Upgrade a Juju server

You can see which servers your client knows about, and their versions, with this command:

juju controllers
Controller  ...  Version
azure*      ...  2.8.3  
jaas        ...  2.7.6  

You can instruct a server to upgrade itself to the latest version:

juju upgrade-controller <controller>

Upgrade deployed agents

Each running model includes a set of Juju agents which manage the communication between your charms and the Juju server. Your model agents remain at the same version until you ask to upgrade them.

juju upgrade-model <model>

The 2.9.6 candidate release contains an important fix

  • LP #1929364 - IP address sometimes not set or incorrect on pebble_ready event

Using the candidate release


juju bootstrap <cloud> --config agent-stream=proposed

Upgrading a controller:

juju upgrade-controller <controller> --agent-stream=proposed

Upgrading model agents is done as usual.

Further instructions

For detailed information about the upgrade process please see:

Feedback Appreciated!

Let us know how you’re using Juju! Please ask questions on discourse.charmhub.io or tweet us @juju_devops with the hashtag #juju_devops.


Hey, guys! I’m new to discussions and the portal, how do I find out more about this item

It’ll be worthwhile to track this bug for more information.