Juju 2.9 RC 1 Release Notes

The Juju team is pleased to announce Juju 2.9rc1!

Juju 2.9 offers much finer granularity of control for workloads on Kubernetes, with a new class of Kubernetes operator that places the charm as a sidecar to the workload. Sidecar charms gain direct access to low-level workload details with file monitoring, local socket communication and process management now possible. Charms using this approach become StatefulSets.

Juju 2.9rc1 fixes the following issues in 2.9b1:

  • LP # 1892029 - make juju-reboot work on centos
  • LP # 1890167 - txn watcher sync error
  • LP # 1899536 - error upgrading from 2.7 to 2.8: cannot get all link layer devices
  • LP # 1898718 - reboot breaks microk8s deployments
  • LP # 1895040 - upgrading to a charm with a peer relation gives “unknown relation”
  • LP # 1897743 - start hook called after charm upgrade, no reboot
  • LP # 1895598 - continuous rotation of K8s charm units
  • LP # 1900937 - destroy k8s controller hangs
  • LP # 1901439 - Juju destroy kubernetes model hangs on “destroying” forever
  • LP # 1898966 - juju allows leadership code to run on non-leader

Additional bugs fixed can be found on the 2.9 milestone page.

Known Issues:

None.

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

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:

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:

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.

2 Likes

Make a few tweaks to this draft Ian, it still needs work but it’s a better template for future release announcements now.

Thanks for the feedback, which we’ll use to update the template we use to seed future release notes.

A lot of the new k8s stuff was mentioned in the 2.9 beta1 release notes . The 2.9.0 final release notes will be polished to contain a cohesive description of all the new features. For rc1, we concentrated on highlighting what was new over the beta.