juju stuck attaching storage to OSD
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Ian Booth | ||
2.3 |
Won't Fix
|
Undecided
|
Unassigned | ||
2.4 |
Fix Released
|
High
|
Ian Booth |
Bug Description
When deploying bundle with storage support for ceph OSD. OSD units are stuck in an infinite pending state:
ceph-osd/0 waiting allocating 3 100.80.61.4 agent initializing
ceph-osd/1 waiting allocating 4 100.80.61.10 agent initializing
ceph-osd/2 waiting allocating 5 100.80.41.8 agent initializing
ceph-osd/3 waiting allocating 6 100.80.61.6 agent initializing
ceph-osd/4 waiting allocating 7 100.80.41.2 agent initializing
ceph-osd/5 waiting allocating 8 100.80.31.1 agent initializing
ceph-osd/6 waiting allocating 9 100.80.41.6 agent initializing
ceph-osd/7 waiting allocating 10 100.80.51.2 agent initializing
ceph-osd/8 waiting allocating 11 100.80.51.4 agent initializing
ceph-osd/9 waiting allocating 12 100.80.61.1 agent initializing
ceph-osd/10* waiting allocating 13 100.80.41.1 agent initializing
ceph-osd/11 waiting allocating 14 100.80.51.3
I can see that storage attachment is pending in ceph-osd/0 unit logs:
2018-06-20 00:54:18 DEBUG juju.worker.
2018-06-20 00:54:18 DEBUG juju.worker.
2018-06-20 00:54:18 DEBUG juju.worker.
2018-06-20 00:54:18 DEBUG juju.worker.
2018-06-20 00:54:18 DEBUG juju.worker.
2018-06-20 00:58:23 DEBUG juju.worker.
Storage pools are created:
deployer@
Name Provider Attrs
loop loop
maas maas
rootfs rootfs
rotary maas tags=rotary
ssd maas tags=ssd
tmpfs tmpfs
According to unit ceph-osd/0 log above storage-
deployer@
osd-devices/0:
kind: block
life: alive
status:
current: attached
since: 19 Jun 2018 23:09:56Z
persistent: false
attachments:
units:
ceph-osd/0:
machine: "3"
life: alive
All storage devices are attached:
deployer@
[Storage]
Unit Id Type Pool Provider id Size Status Message
ceph-osd/0 osd-devices/0 block rotary volume-0 1.5TiB attached
ceph-osd/0 osd-devices/1 block rotary volume-1 1.5TiB attached
ceph-osd/0 osd-devices/2 block rotary volume-2 1.5TiB attached
ceph-osd/0 osd-journals/3 block ssd volume-3 1.5TiB attached
ceph-osd/1 osd-devices/4 block rotary volume-4 1.5TiB attached
...
Reproduce steps:
- juju create-storage-pool ssd maas tags=ssd
- juju create-storage-pool rotary maas tags=rotary
- juju deploy =bundle.yaml
Relevant bundle part:
ceph-osd:
charm: ../charms/ceph-osd
num_units: *ceph-osd-count
constraints: tags=storage-all
storage:
osd-devices: rotary,3
osd-journals: ssd,1
bindings:
"": *oam-space
public: *ceph-public-space
cluster: *ceph-cluster-space
options:
osd-devices: *osd-devices
osd-journal: *osd-journal
source: *source
customize
autotune: true
aa-
key: *key
Software version:
~$ juju version
juju 2.3.7-xenial-amd64
~$ juju status
Model Controller Cloud/Region Version SLA
openstack foundations-maas foundations-maas 2.3.8.1 unsupported
MAAS:
2.3.3 6498-ge4db91d-
Attached:
- output of maas node read for machine 3 hosting ceph-osd/0
- machine log and unit log from machine 3 hosting ceph-osd/0
Changed in juju: | |
status: | New → Incomplete |
Changed in juju: | |
importance: | Undecided → High |
Changed in juju: | |
status: | Confirmed → Fix Committed |
Changed in juju: | |
milestone: | 2.5-beta2 → 2.5-beta3 |
Changed in juju: | |
status: | Fix Committed → Fix Released |
The symptoms seem to indicate that Juju has not recorded the block volumes as being provisioned. This is a prerequisite for running the attached hooks.
Could you please attach the machine-0.log file with debug level logging (ie we need to see the controller logs). This will allow inspection of the storage provisioning operations.