← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1677376] Re: growing partitions does not work when booted without initramfs

 

** Changed in: cloud-init
       Status: Fix Committed => Fix Released

-- 
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/1677376

Title:
  growing partitions does not work when booted without initramfs

Status in cloud-init:
  Fix Released
Status in cloud-init package in Ubuntu:
  Fix Released
Status in cloud-init source package in Xenial:
  Fix Released
Status in cloud-init source package in Yakkety:
  Fix Released

Bug description:
  [SRU Justification]
  When booted without an initramfs, the root device will be /dev/root, not a
  named device. There is partial support for this when resizing filesystems,
  but not for growing partitions, without which it doesn't do much good.

  A system boots significantly slower with an initramfs than without,
  and we care about boot speed; a user should not have to have to boot
  with an initramfs to take advantage of root partition resizing.

  [Test case]
  Because there are not yet any official Ubuntu images that boot without initramfs, the test case is somewhat opaque.  Here is a test case that should work with public branches, though I will be doing validation in GCE using a private branch.
  1. Build livecd-rootfs from lp:~vorlon/livecd-rootfs/minimizing/ and upload it to a ppa.
  2. bzr branch lp:launchpad-buildd
  3. run the following setup commands:
  export BUILDID=cloud-init-test
  export CHROOT_ROOT=$HOME/build-$BUILDID/chroot-autobuild
  wget http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-root.tar.xz -O /tmp/root.tar.xz
  mkdir -p $CHROOT_ROOT/build
  tar -C $CHROOT_ROOT -x -f /tmp/root.tar.xz
  rm $CHROOT_ROOT/etc/resolv.conf
  launchpad-buildd/mount-chroot $BUILDID
  launchpad-buildd/update-debian-chroot $BUILDID
  4. Run a build without -proposed enabled:
  launchpad-buildd/buildlivefs --arch amd64 --project ubuntu-cpc --subproject minimize --series <release> --build-id $BUILDID --image-target=none
  5. Boot the resulting image ($HOME/build-$BUILDID/chroot-autobuild/build/binary/boot/disk.ext4) in an openstack environment.
  6. Verify that the image boots but does not expand the root partition.
  7. Run a build again with -proposed enabled:
  launchpad-buildd/buildlivefs --arch amd64 --project ubuntu-cpc --subproject minimize --series <release> --build-id $BUILDID --image-target=none --proposed
  8. Boot the resulting image in an openstack environment.
  9. Verify that the image boots, and that this time the root partition is expanded to use the full disk.

  [Regression potential]
  Users with existing initramfsless images that are configured with the default of resizing the root partition may be surprised when this starts to work.  However, this only applies to first boot of an image, so only newly-mastered images would be affected, so this should be caught by any image CI before the affected users put such an image into production if it has serious impact for them.

  Related bugs:
   * bug 1684869: growing root partition does not always work with root=PARTUUID=
   * bug 1685291: RFC: virtio and virtio-scsi should be built in

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


References