juju does not support --to <zone> placement directive in bundles
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Joseph Phillips |
Bug Description
While it is possible to do something like
juju deploy cs:xenial/ceph-osd --to az1
via CLI, there is no such placement directive like zone:<azname> for bundles, therefore, one cannot say “9 units, 3 into every AZ”.
https:/
Likewise, it is not possible to add a machine to a specific AZ using a bundle.
The use-case for that is making sure that a container placement directive refers to a machine in a certain AZ, e.g.:
applications:
ceph-mon:
num_units: 3
# ...
# not sure if ceph mons will be in the right AZ
to:
- lxd:0
- lxd:1
- lxd:2
It would also be nice to have:
applications:
ceph-mon:
num_units: 3
# ..
to:
- lxd:zone1
- lxd:zone2
- lxd:zone3
Something like this is also not supported:
machines:
0:
zone: <az-name>
See also: https:/
Changed in juju: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 2.5-beta1 |
description: | updated |
summary: |
- juju does not support --to <zone> placement directive + juju does not support --to <zone> placement directive in bundles |
description: | updated |
Changed in juju: | |
assignee: | nobody → Richard Harding (rharding) |
tags: | added: 4010 |
Changed in juju: | |
milestone: | 2.5-beta1 → 2.5-beta2 |
Changed in juju: | |
status: | Triaged → In Progress |
assignee: | Richard Harding (rharding) → Joseph Phillips (manadart) |
no longer affects: | juju/2.4 |
Changed in juju: | |
milestone: | 2.5-beta2 → 2.5-beta3 |
Changed in juju: | |
milestone: | 2.5-beta3 → 2.5-rc1 |
tags: | added: canonical-bootstack |
Changed in juju: | |
status: | Fix Committed → Fix Released |
Added field-high due to relevance for ongoing MAAS and OpenStack Juju provider deployments.
The workaround is usage of manual machine allocation to a given zone(s):
for i in {0..5} ; do juju add-machine zone=az1 ; done
for i in {0..5} ; do juju add-machine zone=az2 ; done
for i in {0..5} ; do juju add-machine zone=az3 ; done
# add units to machines according to their <number> :<availability zone> allocation
juju deploy --map-machines= existing <bundle>