Support for MAAS storage binding in bundles
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Triaged
|
High
|
Unassigned |
Bug Description
Now that bug 1674148 and bug 1677001 are fixed, I've tried using storage binding in the bundle:
series: xenial
machines:
"0":
constraints: tags=compute
zone: az1
series: xenial
services:
ceph-osd:
charm: cs:xenial/ceph-osd
num_units: 1
storage:
osd-devices: sata,3
osd-journals: ssd,1
bindings:
"": oam-space
public: oam-space
cluster: oam-space
options:
osd-reformat: 'yes'
source: distro
to:
- '0'
But this results in error:
ERROR cannot deploy bundle: cannot add unit for application "ceph-osd": adding new machine to host unit "ceph-osd/0": cannot assign unit "ceph-osd/0" to machine 0: "maas" storage provider does not support dynamic storage (not supported)
Whole process:
ubuntu@maas:~$ juju create-storage-pool sata maas tags=rotary
ubuntu@maas:~$ juju create-storage-pool ssd maas tags=ssd
ubuntu@maas:~$ juju deploy storage.yaml
Deploying charm "cs:ceph-osd-241"
ERROR cannot deploy bundle: cannot add unit for application "ceph-osd": adding new machine to host unit "ceph-osd/0": cannot assign unit "ceph-osd/0" to machine 0: "maas" storage provider does not support dynamic storage (not supported)
tags: | added: bundles new-york |
Changed in juju: | |
milestone: | none → 2.3-beta2 |
Changed in juju: | |
milestone: | 2.3-beta2 → none |
tags: | added: cpe-onsite |
tags: | added: uosci |
tags: | added: sts |
tags: | added: lxd-cloud |
The problem here is that the bundle deployment code splits an application deployment into "juju add-machine" and "juju deploy application --to <machine> --storage foo". Because MAAS storage is "static" (i.e. tied to the machine), this doesn't work.
Bundle deployments should not split apart the operations unless necessary (e.g. the bundle specifies machine placement).