This bug was fixed in the package cloud-init - 0.7.8-49-g9e904bb- 0ubuntu1~16.04.2
--------------- cloud-init (0.7.8-49-g9e904bb-0ubuntu1~16.04.2) xenial-proposed; urgency=medium * cherry-pick 18203bf: disk_setup: Use sectors as unit when formatting MBR disks with sfdisk. (LP: #1460715) * cherry-pick 6e92c5f: net/cmdline: Consider ip= or ip6= on command line not only ip= (LP: #1639930) * cherry-pick 8c6878a: tests: fix assumptions that expected no eth0 in system. (LP: #1644043) * cherry-pick 2d2ec70: OpenStack: extend physical types to include hyperv, hw_veb, vhost_user. (LP: #1642679) -- Scott Moser <smo...@ubuntu.com> Thu, 01 Dec 2016 16:57:39 -0500 ** Changed in: cloud-init (Ubuntu Xenial) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of नेपाली भाषा समायोजकहरुको समूह, which is subscribed to Xenial. Matching subscriptions: Ubuntu 16.04 Bugs https://bugs.launchpad.net/bugs/1460715 Title: MBR disk setup fails because sfdisk no longer accepts M as a valid unit Status in cloud-init: Fix Committed Status in Ubuntu Image: Invalid 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: In Progress Bug description: === Begin SRU Template === [Impact] Cloud-init has function to partition disks on devices. Creating partitions on a disk no longer works with sfdisk as recent versions of sfdisk no accept the unit 'M' as input, this function is broken. [Test Case] 1. Launch an instance with provided user-data On Azure, this will work: #cloud-config disk_setup: ephemeral0: table_type: mbr layout: [66, [33, 82]] overwrite: True fs_setup: - device: ephemeral0.1 filesystem: ext4 - device: ephemeral0.2 filesystem: swap mounts: - ["ephemeral0.1", "/mnt2"] - ["ephemeral0.2", "none", "swap", "sw", "0", "0"] On a typical kvm openstack use: #cloud-config disk_setup: /dev/vdb: table_type: mbr layout: [66, [33, 82]] overwrite: True fs_setup: - device: /dev/vdb1 filesystem: ext4 - device: /dev/vdb2 filesystem: swap mounts: - ["/dev/vdb1", "/mnt2"] - ["/dev/vdb2", "none", "swap", "sw", "0", "0"] 2. Add proposed, update, and reboot as fresh instance. # enable proposed echo deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc)-proposed main | sudo tee /etc/apt/sources.list.d/proposed.list sudo apt-get -qy update && sudo apt-get -qy install cloud-init </dev/null # clear out previous state in cloud-init sudo rm -Rf /var/lib/cloud /var/log/cloud-init* # wipe the partition table and filesystem from the disk sudo dd if=/dev/zero of=/dev/[sv]db bs=1M count=10 # remove cloud-init written entries in /etc/fstab to mimic clean first boot sudo sed -i '/cloudconfig/d' /etc/fstab sudo reboot 3. login to system and look around. The target disk should be partitioned with 2 partitions. $ grep [sv]db /proc/partitions 253 16 41943040 vdb 253 17 27682406 vdb1 253 18 14259200 vdb2 There should entries in /etc/fstab for the configured devices $ cat /etc/fstab LABEL=cloudimg-rootfs / ext4 defaults 0 0 LABEL=UEFI /boot/efi vfat defaults 0 0 /dev/vdb1 /mnt2 auto defaults,nofail,x-systemd.requires=cloud-init.service,comment=cloudconfig 0 2 /dev/vdb2 none swap sw,comment=cloudconfig 0 0 A 'mount -a' will mount the necessary devices. Note, these should ideally be already mounted, but an as-yet unidentified issue (to be fixed in bug 1642383) means they are not mounted on first boot. $ mount -a $ df -h /mnt2 Filesystem Size Used Avail Use% Mounted on /dev/vdb1 26G 45M 25G 1% /mnt2 There should be swap used. $ free total used free shared buff/cache available Mem: 2047792 73984 1804508 3252 169300 1825896 Swap: 14259196 0 14259196 $ grep [vs]db2 /proc/swaps /dev/vdb2 partition 14259196 0 -1 [Regression Potential] Change from using Megabytes to Sectors could have caused math errors, most likely with sector sizes other than 512. Partitioning with sfdisk was broken previously, so it wont be worse. === End SRU Template === Specifically, we get the following output in cc_disk_setup.exec_mkpart_mbr: sfdisk: --Linux option is unnecessary and deprecated sfdisk: unsupported unit 'M' and the manpage says: -u, --unit S Deprecated option. Only the sector unit is supported. So we'll need to shift to using sectors. Related bugs: * bug 1642383: Unable to configure swap space on ephemeral disk in Azure To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-init/+bug/1460715/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~group.of.nepali.translators Post to : group.of.nepali.translators@lists.launchpad.net Unsubscribe : https://launchpad.net/~group.of.nepali.translators More help : https://help.launchpad.net/ListHelp