This also affects .ova cloud-image deployments on ESXi/vSphere, not surprising since it's similar to what John describes in comment 15. I think this is caused by the kernel parameter console=ttyS0 and the underlying VM having no serial port. This should not fail cloud-init and a similar bug was fixed in #1573095.
Commit b794d426b9ab43ea9d6371477466070d86e10668 introduces a stdout fallback when /dev/console does not exist. How about doing that fallback also when writing fails?
This also affects .ova cloud-image deployments on ESXi/vSphere, not surprising since it's similar to what John describes in comment 15. I think this is caused by the kernel parameter console=ttyS0 and the underlying VM having no serial port. This should not fail cloud-init and a similar bug was fixed in #1573095. a9d637147746607 0d86e10668 introduces a stdout fallback when /dev/console does not exist. How about doing that fallback also when writing fails?
Commit b794d426b9ab43e
$ dmesg | grep console /boot/vmlinuz- 5.4.0-72- generic root=LABEL= cloudimg- rootfs ro console=tty1 console=ttyS0 /boot/vmlinuz- 5.4.0-72- generic root=LABEL= cloudimg- rootfs ro console=tty1 console=ttyS0
[ 0.000000] Command line: BOOT_IMAGE=
[ 0.047833] Kernel command line: BOOT_IMAGE=
[ 0.106603] printk: console [tty1] enabled
[ 0.119391] printk: console [ttyS0] enabled
[ 3.883073] systemd[1]: Starting Set the console keyboard layout...
[ 4.031904] systemd[1]: Finished Set the console keyboard layout.