[Openstack] CentOS 6.5 cloud-init growpart/resizefs does not work on first boot.

sylecn sylecn at gmail.com
Wed Aug 6 02:35:01 UTC 2014


Hi stackers,

I have come across this problem of growpart/resizefs not working with
CentOS 6.5 Cloud image on first boot.

Here is the relevant config in cloud.cfg
==============================

growpart:
  mode: auto
  devices: ["/"]
resize_rootfs: True
resize_rootfs_tmp: /dev

cloud_init_modules:
 - bootcmd
 - write-files
 - growpart
 - resizefs

Here is the relevant log on first boot:
============================
[CLOUDINIT] helpers.py[DEBUG]: Running config-growpart using lock
(<cloudinit.helpers.DummyLock object at 0x1ed06d0>)
[CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '--help'] with
allowed return codes [0] (shell=False, capture=True)
[CLOUDINIT] util.py[DEBUG]: Reading from /proc/1108/mountinfo (quiet=False)
[CLOUDINIT] util.py[DEBUG]: Read 521 bytes from /proc/1108/mountinfo
[CLOUDINIT] util.py[DEBUG]: Reading from /sys/class/block/vda1/partition
(quiet=False)
[CLOUDINIT] util.py[DEBUG]: Read 2 bytes from
/sys/class/block/vda1/partition
[CLOUDINIT] util.py[DEBUG]: Reading from
/sys/devices/pci0000:00/0000:00:05.0/virtio2/block/vda/dev (quiet=False)
[CLOUDINIT] util.py[DEBUG]: Read 6 bytes from
/sys/devices/pci0000:00/0000:00:05.0/virtio2/block/vda/dev
[CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '--dry-run',
'/dev/vda', '1'] with allowed return codes [0] (shell=False, capture=True)
[CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '/dev/vda', '1']
with allowed return codes [0] (shell=False, capture=True)
[CLOUDINIT] util.py[DEBUG]: resize_devices took 0.076 seconds
[CLOUDINIT] cc_growpart.py[DEBUG]: '/' NOCHANGE: no change necessary
(/dev/vda, 1)
[CLOUDINIT] helpers.py[DEBUG]: Running config-resizefs using lock
(<cloudinit.helpers.DummyLock object at 0x1ed08d0>)
[CLOUDINIT] util.py[DEBUG]: Reading from /proc/1108/mountinfo (quiet=False)
[CLOUDINIT] util.py[DEBUG]: Read 521 bytes from /proc/1108/mountinfo
[CLOUDINIT] cc_resizefs.py[DEBUG]: resize_info: dev=/dev/vda1 mnt_point=/
path=/
[CLOUDINIT] cc_resizefs.py[DEBUG]: Resizing / (ext4) using resize2fs
/dev/vda1
[CLOUDINIT] util.py[DEBUG]: Running command ('resize2fs', '/dev/vda1') with
allowed return codes [0] (shell=False, capture=True)
[CLOUDINIT] util.py[DEBUG]: Resizing took 0.004 seconds

In the base image, I have upgraded cloud-init to 0.7.4-1.el6, and installed
cloud-utils, cloud-initramfs-tools. After the first *reboot*,
growpart/resizefs does their job and the root file system is grown to disk
size.

After a reboot, the relevant cloud-init logs:
===================================
cc_growpart.py[DEBUG]: '/' NOCHANGE: no change necessary (/dev/vda, 1)
util.py[DEBUG]: Resizing took 13.776 seconds
cc_resizefs.py[DEBUG]: Resized root filesystem (type=ext4, val=True)

I wish the growpart/resizefs happen on first boot, what can I do?


-- 
*YY Inc. is hiring* openstack and python developers. Interested? Check
http://soa.game.yy.com/jobs.html

--
Thanks,
Yuanle
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140806/4a4c42be/attachment.html>


More information about the Openstack mailing list