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