A little over a month ago Juju 1.23 hit the prime time and brought with it a flurry of bug fixes and new features. Below are a highlight of the exciting new things Juju can do as of 1.23, or feel free to dig into the release notes for all the details.

Support for Google Compute Engine

As of this release Juju adds native support for Google’s Compute Engine (GCE). Adding GCE to the already growing number of supported substrates in Juju and enabling access of over 200 workloads for GCE users. If you’re interested in using Juju with GCE the docs have already been updated to reflect how to get started.

Refined backup management and restoration

This release also increased the robustness of Juju’s backup feature which allows operators to snapshot, backup, and now restore the model of Juju’s state servers. This introduces a new juju backup command which does the backup, downloading, uploading, and restoring of state server backups.

Improved Proxy Support for Restrictive Networks

Juju has supported restrictive environments and proxies for enterprise deployments for some time. This is an improvement which continues to make Juju easy to use in public clouds, private clouds, and bare metal. In addition to fixing several bugs around proxy support Juju will now also properly propagate proxy settings (http-proxy, https-proxy, ftp-proxy, apt-http-proxy, apt-https-proxy, apt-ftp-proxy, and no-proxy) to all machines, and Juju agents for external connectivity. The juju run command also uses proxy settings when defined, as well as debug-hooks and all hooks the a charm runs. You can specify one or more proxy settings via environment variables (http_proxy, https_proxy, etc.) or inside your environments.yaml. Other related proxies are configured as needed (e.g. you can specify just http-proxy, and that will also be used for https, ftp, and apt proxies).

Juju charm actions

A new facet of the Juju Model was added in the 1.23 release, the ability to model tasks against a service by encapsulating it as an action. Check out the

documentation on charm actions.

Actions allow charm authors to run specific things on services depending on what you define an action to do. For example check out this video of Marco using Juju actions to implement a benchmarking tool.



You can find some examples of Juju actions in the rally charm, the mongodb charm, the nova-compute charm, and the etcd charm.

Block destructive operations

Juju now makes it much easier for people to work in multi-user environments. So instead of leaving a sticky note on your coworker’s monitor to “Please don’t destroy test-lab-environment-2!” you can just:

juju block destroy-environment “Don’t destroy this without talking to Joe Foobar”

So when anyone tries to run juju destroy-environment they’ll get that message and the command will fail. You can even disable any change to environment, which will lock down any changes to scale, configuration, or services deployed.

Support for SystemD and Vivid

Juju now supports systemd-based systems such as Ubuntu Vivid. Charm authors are encouraged to start looking at using systemd for service management in preparation for the next upcoming LTS release of Ubuntu and it’s charms.

A look to the future

With 1.23.2 out now and stable we look towards 1.24 which is now up to a beta5 release. In 1.23 experimental support for leader election and addressability of LXC and KVM machines deployed across multiple machines, with 1.24 we’ll see these become stable features as well as several other in progress items from storage, to status, and user management.