OK, thanks for the logs. Could you re-attach those running via sudo (or as root)? The default user on SLES does not have permissions to read the journal. What I see so far looks like networking did not come up after cloud-init-local.service completes and writes out a network config. 2019-09-11 18:00:15,242 - stages.py[INFO]: Applying network configuration from ds bringup=False: {'ethernets': {'eth0': {'set-name': 'eth0', 'match': {'macaddress': u'00:0d:3a:6e:6f:8f'}, 'dhcp4': True}}, 'version': 2} This results in the following files being written: % cat test_azure_sles/etc/sysconfig/network/ifcfg-eth0 # Created by cloud-init on instance boot automatically, do not edit. # BOOTPROTO=dhcp DEVICE=eth0 HWADDR=00:0d:3a:6e:6f:8f NM_CONTROLLED=no ONBOOT=yes STARTMODE=auto TYPE=Ethernet USERCTL=no Upstream cloud-init on SLES does not generate/update /etc/resolv.conf but in the logs the cloud-init in does: 2019-09-11 18:00:15,246 - util.py[DEBUG]: Writing to /etc/sysconfig/network/ifcfg-eth0 - wb: [644] 191 bytes 2019-09-11 18:00:15,247 - util.py[DEBUG]: Reading from /etc/resolv.conf (quiet=False) 2019-09-11 18:00:15,247 - util.py[DEBUG]: Read 795 bytes from /etc/resolv.conf 2019-09-11 18:00:15,247 - util.py[DEBUG]: Writing to /etc/resolv.conf - wb: [644] 866 bytes At first, I thought maybe it was missing this commit: % git show b74ebca563a21332b29482c8029e7908f60225a4 commit b74ebca563a21332b29482c8029e7908f60225a4 Author: Robert Schweikert