The Juju team is pleased to announce Juju 2.9rc7!
This is primarily a bug fix release.
Juju 2.9rc7 fixes the following issues in Juju 2.9rc6:
- LP # 1918486 - Juju 2.9 doesn’t work with Juju 2.8 Kubernetes credentials
Additional bugs fixed can be found on the 2.9 milestone page.
K8s sidecar charms and Pebble support
This release adds preliminary support for “sidecar” charms, a new approach to Kubernetes charms in which the charm container runs in the same pod as the workload container (instead of in a separate pod). Included with this is a feature preview of Pebble, a lightweight process supervisor for use with sidecar charms.
You can try out the demonstration snappass-test sidecar charm by following the instructions in the README.
More details about this change in this post!
Kube Config Bootstrap Support
It is now possible to bootstrap to Kubernetes clusters defined in the users local Kubernetes config files. You can the list of available clusters by typing juju clouds
and then bootstrapping with juju bootstrap <cloud>
Hirsute support
Hirsute controllers and workloads are supported.
--force
is currently needed because hirsute
is not yet official released.
eg
juju bootstrap lxd --bootstrap-series=hirsute --force --config image-stream=daily
Known Issues:
- Pebble/sidecar charms: environment variables specified in the layer config aren’t passed to the process being started. This will be fixed in 2.9rc8.
- Pebble/sidecar charms: the Pebble layer configuration still uses the term “default: start/stop” in this release. This will be updated to “startup: enabled/disabled” in 2.9rc8, which will require updating layer configuration in charm code in sidecar charms.
How do I install Juju?
The best way to get a specific release of Juju is to install the snap from the appropriate channel. snap info juju
will give you a list of the current channels and the versions published in them. For the latest stable release of Juju:
sudo snap install juju --classic --channel=2.9/candidate
The Juju CLI is available for a variety of platforms, including Windows and macOS. Refer to the installation documentation for details.
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.9/candidate
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
What to do if Juju reports an old 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>
How to upgrade the 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>
How to upgrade your model(s)
Further instructions
For detailed information about the upgrade process please see:
- https://discourse.jujucharms.com/t/controller-backups/1106
- https://discourse.jujucharms.com/t/upgrading-models/1154
- https://discourse.jujucharms.com/t/notes-on-upgrading-juju-software/1153
- https://discourse.jujucharms.com/t/troubleshooting-model-upgrades/1186
Feedback Appreciated!
Let us know how you’re using Juju! Please ask questions on discourse.charmhub.io, tweet us @juju_devops with the hashtag #juju_devops, and chat with us at #juju on Freenode.