A freshly build Ubuntu 17.10 image that's configured to boot without initramfs by passing root=PARTUUID=<uuid> on the kernel commandline comes up degraded because cloud-init fails to resize the root partition.
Oct 20 00:07:30 ubuntu cloud-init[493]: 2017-10-20 00:07:30,656 - util.py[WARNING]: Failed to resize filesystem (cmd=('resize2fs', '/dev/root'))
Oct 20 00:07:30 ubuntu cloud-init[493]: 2017-10-20 00:07:30,662 - util.py[WARNING]: Running module resizefs (<module 'cloudinit.config.cc_resizefs' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_resizefs.py'>) failed
Looking at the code, I see that there are two separate implementations of rootdev_from_cmdline, one in cloudinit/util.py and one in cloudinit/config/cc_resizefs.py; and the second does not handle partuuid.
A freshly build Ubuntu 17.10 image that's configured to boot without initramfs by passing root=PARTUUID= <uuid> on the kernel commandline comes up degraded because cloud-init fails to resize the root partition.
Oct 20 00:07:30 ubuntu cloud-init[493]: 2017-10-20 00:07:30,656 - util.py[WARNING]: Failed to resize filesystem (cmd=('resize2fs', '/dev/root')) config. cc_resizefs' from '/usr/lib/ python3/ dist-packages/ cloudinit/ config/ cc_resizefs. py'>) failed
Oct 20 00:07:30 ubuntu cloud-init[493]: 2017-10-20 00:07:30,662 - util.py[WARNING]: Running module resizefs (<module 'cloudinit.
Looking at the code, I see that there are two separate implementations of rootdev_ from_cmdline, one in cloudinit/util.py and one in cloudinit/ config/ cc_resizefs. py; and the second does not handle partuuid.
>>> from cloudinit.util import rootdev_ from_cmdline from_cmdline( 'BOOT_IMAGE= /boot/vmlinuz- 4.4.0-1007- kvm root=PARTUUID= f122607f- 3631-4411- bd34-de4bed76e0 f7 ro console=tty1 console=ttyS0 systemd. log_level= debug') by-partuuid/ f122607f- 3631-4411- bd34-de4bed76e0 f7' config. cc_resizefs import rootdev_ from_cmdline from_cmdline( 'OT_IMAGE= /boot/vmlinuz- 4.4.0-1007- kvm root=PARTUUID= f122607f- 3631-4411- bd34-de4bed76e0 f7 ro console=tty1 console=ttyS0 systemd. log_level= debug') f122607f- 3631-4411- bd34-de4bed76e0 f7'
>>> rootdev_
'/dev/disk/
>>> from cloudinit.
>>> rootdev_
'/dev/PARTUUID=
>>>
This is related to bug #1684869; I'm not sure if it's the same bug reintroduced or if was never fixed properly on trunk (17.1).