@fohdeesha Thanks for the thorough explanation. Took me a while to get the network configuration working, but I think I've got it all working nicely now from a stock Ubuntu cloud image.
For those interested:
My cloud init:
#cloud-config
hostname: {name}
users:
- default
ssh_import_id:
- gh:<username>
package_update: true
package_upgrade: true
packages:
- xe-guest-utilities
byobu_by_default: system
runcmd:
- systemctl disable cloud-init
power_state:
delay: "+1"
mode: reboot
message: Rebooting system
timeout: 5
condition: True
My network config:
version: 2
ethernets:
eth0:
addresses: []
dhcp-identifier: mac
dhcp4: true
nameservers:
search:
- my.nameserver.local