cloud-init fails to grow disk on physical servers with multipath.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Expired
|
Medium
|
Unassigned | ||
cloud-init (Ubuntu) |
Triaged
|
Medium
|
Unassigned |
Bug Description
for provisioning ubuntu trusty on baremetal, cloud-init fails to grow root partition, below is the error.
physical server is HP bl460c blade , booting from SAN and using multipath ,
=======
- cc_growpart.
- util.py[DEBUG]: Running command ['growpart', '--help'] with allowed return codes [0] (shell=False, capture=True)
- util.py[DEBUG]: Reading from /proc/1005/
- util.py[DEBUG]: Read 1121 bytes from /proc/1005/
- util.py[DEBUG]: resize_devices took 0.003 seconds
- cc_growpart.
=======
upon checking seems like cc_growpart.py script is relying on "/sys/class/
but for dm multipath devices , there is no such "partition" attribute exists, hence script error out saying "not a partition".
I do not have any solution for now, but trying to find how to map multipath device like /dev/dm-1 to it's real scsi disk /dev/sda1 .. if that's figured out then we can put some logic to say if base name is dm-x then find mapped sdx and use that device to find a partition etc.
is this just me or someone else also has this issue with cloud-init failing on multipath disks.
summary: |
- cloud-init fails to grow multipath disk + cloud-init fails to grow disk on physical servers with multipath. |
affects: | centos → cloud-init (Ubuntu) |
Changed in cloud-init (Ubuntu): | |
importance: | Undecided → Medium |
Changed in cloud-init (Ubuntu): | |
status: | New → Triaged |
You're probably right. I've not tried this with multipath, but growpart also does not work with "complex" disks (ie, lvm also does not work).