← Back to team overview

yahoo-eng-team team mailing list archive

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

 

This bug was fixed in the package cloud-init - 0.7.9-90-g61eb03fe-
0ubuntu1~16.04.1

---------------
cloud-init (0.7.9-90-g61eb03fe-0ubuntu1~16.04.1) xenial-proposed; urgency=medium

  * debian/cloud-init.templates: add Bigstep to list of sources. (LP: #1676460)
  * New upstream snapshot.
    - OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946)
    - Fix bug that resulted in an attempt to rename bonds or vlans.
      (LP: #1669860)
    - tests: update OpenNebula and Digital Ocean to not rely on host
      interfaces.
    - net: in netplan renderer delete known image-builtin content.
      (LP: #1675576)
    - doc: correct grammar in capabilities.rst [David Tagatac]
    - ds-identify: fix detecting of maas datasource. (LP: #1677710)
    - netplan: remove debugging prints, add debug logging [Ryan Harper]
    - ds-identify: do not write None twice to datasource_list.
    - support resizing partition and rootfs on system booted without
      initramfs.  [Steve Langasek] (LP: #1677376)
    - apt_configure: run only when needed. (LP: #1675185)
    - OpenStack: identify OpenStack by product 'OpenStack Compute'.
      (LP: #1675349)
    - GCE: Search GCE in ds-identify, consider serial number in check.
      (LP: #1674861)
    - Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325)
    - Fix filesystem creation when using "partition: auto"
      [Jonathan Ballet] (LP: #1634678)
    - ConfigDrive: support reading config drive data from /config-drive.
      (LP: #1673411)
    - ds-identify: fix detection of Bigstep datasource. (LP: #1674766)
    - test: add running of pylint [Joshua Powers]
    - ds-identify: fix bug where filename expansion was left on.
    - advertise network config v2 support (NETWORK_CONFIG_V2) in features.
    - Bigstep: fix bug when executing in python3. [root]
    - Fix unit test when running in a system deployed with cloud-init.
    - Bounce network interface for Azure when using the built-in path.
      [Brent Baude] (LP: #1674685)
    - cloudinit.net: add network config v2 parsing and rendering [Ryan Harper]
    - net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317)
    - net: add renderers for automatically selecting the renderer.
    - doc: fix config drive doc with regard to unpartitioned disks.
      (LP: #1673818)
    - test: Adding integratiron test for password as list [Joshua Powers]
    - render_network_state: switch arguments around, do not require target
    - support 'loopback' as a device type.
    - Integration Testing: improve testcase subclassing [Wesley Wiedenmeier]
    - gitignore: adding doc/rtd_html [Joshua Powers]
    - doc: add instructions for running integration tests via tox.
      [Joshua Powers]
    - test: avoid differences in 'date' output due to daylight savings.
    - Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837)
    - Add feature flags to cloudinit.version. [Wesley Wiedenmeier]
    - tox: add a citest environment
    - Support chpasswd/list being a list in addition to a string.
      [Sergio Lystopad] (LP: #1665694)
    - doc: Fix configuration example for cc_set_passwords module.
      [Sergio Lystopad] (LP: #1665773)
    - net: support both ipv4 and ipv6 gateways in sysconfig.
      [Lars Kellogg-Stedman] (LP: #1669504)
    - net: do not raise exception for > 3 nameservers
      [Lars Kellogg-Stedman] (LP: #1670052)

 -- Scott Moser <smoser@xxxxxxxxxx>  Mon, 03 Apr 2017 11:52:56 -0400

** Changed in: cloud-init (Ubuntu Xenial)
       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 Committed
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=

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


References