** Description changed:

+ === 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
+    sudo apt-get -qy update && sudo apt-get -qy install cloud-init
+    sudo rm -Rf /var/lib/cloud /var/log/cloud-init* 
+    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
+  * bug 1642383: Unable to configure swap space on ephemeral disk in Azure

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1460715

Title:
  MBR disk setup fails because sfdisk no longer accepts M as a valid
  unit

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to