Juju 2.9 RC6 Release Notes

The Juju team is pleased to announce Juju 2.9rc6!

This is primarily a bug fix release.

Juju 2.9rc6 fixes the following issues in Juju 2.9rc5:

  • LP # 1910989 - Juju injecting unwanted metadata in Resources deployed by K8s Charm
  • LP # 1904619 - lxd profile failure during upgrade-charm with more than 1 unit on a machine
  • LP # 1915844 - export-bundle does not export charmhub charms appropriately, leading to an unusable bundle
  • LP # 1901069 - centos: juju.worker.proxyupdater error writing apt proxy config file: open /etc/apt/apt.conf.d/95-juju-proxy-settings: no such file or directory
  • LP # 1915320 - juju 2.9 cannot deploy kubeflow-lite bundle
  • LP # 1914074 - Inconsistency between juju bootstrap and juju deploy when dealing with Kubernetes configuration flags
  • LP # 1914619 - Failed agent stuck in a loop

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

Bundles with cross model offers now update existing offers

It’s now possible to deploy a bundle containing offers multiple times. Juju will detect when an offer already exists and update its details instead of emitting an offer already exists error.

juju list-operations now supports batched results

When listing operations, ie the results of running actions or execing scripts on machines/units, the number of results returned is limited to 50 by default. Using the offset argument, the next batch of results may be requested. Use --limit to adjust the number of results per batch.

$ juju operations --offset=12 --limit-4

Displaying operation results 13 to 16.
Run the command again with --offset=16 --limit=4 to see the next batch.

 Id  Status     Started              Finished             Task IDs  Summary
101  completed  2015-02-14T06:06:06                       2,3       operation 101
103  running                         2014-02-14T06:06:06  4         operation 103
105  pending                                              6         operation 105
110  error                                                          operation 110

juju ssh/scp to leader

There’s now support for the <unit>/leader syntax (which is currently also supported for juju run) to the ssh, scp, debug-hook(s) and debug-code client commands.

To ensure that the client can also support this feature when targeting older controllers, leader unit resolution is performed client-side using the output of the Status API call (filtered by the application name).

NOTE: given that leader resolution happens at the client, there is still the potential for a race where the leader might change while we are trying to connect to the previous leader. However, leaders are generally stable so, a) this is unlikely to happen and b) it can still happen with the current way of manually ssh’ing to the leader (run juju status, find leader, run juju ssh for the leader).

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 --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:

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.

4 Likes

Amazing work!