← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1556260] [NEW] cloud-init fails to grow multipath disk

 

Public bug reported:

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.py[DEBUG]: No 'growpart' entry in cfg.  Using default: {'ignore_growroot_disabled': False, 'mode': 'auto', 'devices': ['/']}
 - util.py[DEBUG]: Running command ['growpart', '--help'] with allowed return codes [0] (shell=False, capture=True)
 - util.py[DEBUG]: Reading from /proc/1005/mountinfo (quiet=False)
- util.py[DEBUG]: Read 1121 bytes from /proc/1005/mountinfo
- util.py[DEBUG]: resize_devices took 0.003 seconds
 - cc_growpart.py[DEBUG]: '/' SKIPPED: device_part_info(/dev/disk/by-label/cloudimg-rootfs) failed: /dev/disk/by-label/cloudimg-rootfs not a partition
====================================

upon checking seems like  cc_growpart.py script is relying on
"/sys/class/block/device-name/partition" file to check number of
partitions.

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.

** Affects: cloud-init
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1556260

Title:
  cloud-init fails to grow multipath disk

Status in cloud-init:
  New

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.py[DEBUG]: No 'growpart' entry in cfg.  Using default: {'ignore_growroot_disabled': False, 'mode': 'auto', 'devices': ['/']}
   - util.py[DEBUG]: Running command ['growpart', '--help'] with allowed return codes [0] (shell=False, capture=True)
   - util.py[DEBUG]: Reading from /proc/1005/mountinfo (quiet=False)
  - util.py[DEBUG]: Read 1121 bytes from /proc/1005/mountinfo
  - util.py[DEBUG]: resize_devices took 0.003 seconds
   - cc_growpart.py[DEBUG]: '/' SKIPPED: device_part_info(/dev/disk/by-label/cloudimg-rootfs) failed: /dev/disk/by-label/cloudimg-rootfs not a partition
  ====================================

  upon checking seems like  cc_growpart.py script is relying on
  "/sys/class/block/device-name/partition" file to check number of
  partitions.

  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1556260/+subscriptions


Follow ups