Juju devel 1.21-beta2 is released

Curtis Hovey-Canonical curtis at canonical.com
Fri Nov 14 21:46:13 UTC 2014

juju-core 1.21-beta2

A new development release of Juju, juju-core 1.21-beta2, is now available.
This release replaces 1.21-beta1.

Getting Juju

juju-core 1.21-beta2 is available for utopic and backported to earlier
series in the following PPA:


The devel packages in this archive use the devel simple-streams.
You must configure the 'agent-stream' option in your
environments.yaml to use the matching juju agents.

    agent-stream: devel

Upgrading from stable releases to development releases is not
supported. You can upgrade test environments to development releases
to test new features and fixes, but it is not advised to upgrade
production environments to 1.21-beta2.

Notable Changes

  * Rebooting units from charm hooks

Rebooting units from charm hooks

There are several cases where a charm needs to reboot a machine, such as
after a kernel upgrade, or to upgrade the entire system. The charm may
not be able to complete the hook until the machine is rebooted.

The 'juju-reboot' command allows charm authors schedule a reboot from
inside a charm hook. The reboot will only happen if the hook completes
without error. You can schedule a reboot like so:


The '--now' option can be passed to block hook execution. The
'juju-reboot' command will hang until the unit agent stops the hook and
re-queues it for next run. This will allow you to create multi-step
install hooks.

Charm authors must wrap calls to 'juju-reboot' th ensure it is
actually necessary, otherwise The charm risks entering a reboot loop.
The preferred work-flow is to check if the feature/charm is in the
desired state, and reboot when needed. This bash example assumes that
"$FEATURE_IS_INSTALLED" variable was defined by a check for the feature,
then 'juju-reboot' is called if the variable is false:

    if [[ $FEATURE_IS_INSTALLED  == "false" ]]
        juju-reboot --now

The 'juju-reboot' command can be called from any hook. It can also be called
using the 'juju run' command.

Resolved issues

* Failed to destroy-environment when node is in commissioning or new
  Lp 1381619

* Unit-get public-address on ec2 returns split horizon dns
  Lp 1308374

* Juju tries to use lxcbr0 when local provider is configured with kvm
  Lp 1307677

* Add juju_machine_id to the hooks environment
  Lp 1359714

* Openstack provider, instance-state doesn't change on instance
  Lp 1382709

* Debug-log uses internal names for filtering
  Lp 1320543

* Tools linking issue 1.21beta1 for collocated services
  Lp 1391645

* Config-get error inside config-changed: "settings not found"
  Lp 1301996

* Bootstrap on multi-zone maas leaves 'allocated' nodes in all zones
  Lp 1392411

* Open-stack provider breaks swift with standard config
  Lp 1312217


We encourage everyone to subscribe the mailing list at
juju-dev at lists.canonical.com, or join us on #juju-dev on freenode.

Curtis Hovey
Canonical Cloud Development and Operations

More information about the Juju mailing list