AZs and placement

Martin Packman martin.packman at canonical.com
Fri Dec 16 13:39:06 UTC 2016


There have been a couple of reports of Juju struggling with
availability zones recently. This isn't new code, it was introduced in
1.20, but with 2.0 it appears that we're not surfacing errors from
improper zone selection[1], which is a particular issue when we also
seem to not be selecting a valid zone[2]. This is seen with both
Openstack (datacenterd) and vSphere.

We don't have a global option to say only use a particular AZ, so the
only way at present to do this right is specify a zone placement for
every unit. I did find how to do that spelled out in the
documentation, though it's not completely intuitive:

<https://jujucharms.com/docs/stable/charms-deploying#deploying-to-specific-machines-and-containers>

$ juju deploy an-application -n 3 --to zone=$ZONE,zone=$ZONE,zone=$ZONE

Note that a placement directive is needed per unit.

Also, of note, we have only just fixed a bug[3] that prevented
combining constraints and placement directives in bundles. So,
currently care is required if creating a bundle that needs to specify
a zone for everything.

Martin


[1] "Openstack provider error not surfaced on bootstrap"
<https://bugs.launchpad.net/juju/+bug/1649990>
[2] "inconsistent results when fetching availability zones while
bootstrapping with vsphere as provider"
<https://bugs.launchpad.net/juju/+bug/1650422>
[3] "Juju ignores constraints set in the bundle and deploys KVMs with
default values"
<https://bugs.launchpad.net/juju/+bug/1626597>



More information about the Juju-dev mailing list