On checking the logs I have what looks like the issue:
[ 11.362319] cloud-init[404]: Cloud-init v. 21.2-3-g899bfaa9-0ubuntu2~20.04.1 running 'init-local' at Fri, 11 Feb 2022 11:34:54 +0000. Up 11.33 seconds.
[ 11.907849] cloud-init[404]: 2022-02-11 11:34:54,987 - util.py[WARNING]: failed stage init-local
[ 11.915165] cloud-init[404]: failed run of stage init-local
[ 11.916227] cloud-init[404]: ------------------------------------------------------------
[ 11.917820] cloud-init[404]: Traceback (most recent call last):
[ 11.918709] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 652, in status_wrapper
[ 11.920231] cloud-init[404]: ret = functor(name, args)
[ 11.921127] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 361, in main_init
[ 11.922608] cloud-init[404]: init.apply_network_config(bring_up=bool(mode != sources.DSMODE_LOCAL))
[ 11.923969] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 744, in apply_network_config
[ 11.925987] cloud-init[404]: return self.distro.apply_network_config(netcfg, bring_up=bring_up)
[ 11.927315] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/distros/__init__.py", line 210, in apply_network_config
[ 11.928971] cloud-init[404]: dev_names = self._write_network_config(netconfig)
[ 11.930276] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/distros/debian.py", line 116, in _write_network_config
[ 11.932021] cloud-init[404]: return self._supported_write_network_config(netconfig)
[ 11.933394] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/distros/__init__.py", line 122, in _supported_write_network_config
[ 11.935177] cloud-init[404]: renderer.render_network_config(network_config)
[ 11.936240] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/net/renderer.py", line 54, in render_network_config
[ 11.937853] cloud-init[404]: return self.render_network_state(
[ 11.938761] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/net/netplan.py", line 236, in render_network_state
[ 11.940368] cloud-init[404]: self._netplan_generate(run=self._postcmds)
[ 11.941368] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/net/netplan.py", line 243, in _netplan_generate
[ 11.942958] cloud-init[404]: subp.subp(self.NETPLAN_GENERATE, capture=True)
[ 11.944114] cloud-init[404]: File "/usr/lib/python3/dist-packages/cloudinit/subp.py", line 293, in subp
[ 11.945542] cloud-init[404]: raise ProcessExecutionError(stdout=out, stderr=err,
[ 11.946643] cloud-init[404]: cloudinit.subp.ProcessExecutionError: Unexpected error while running command.
[ 11.948013] cloud-init[404]: Command: ['netplan', 'generate']
[ 11.948892] cloud-init[404]: Exit code: 1
[ 11.949511] cloud-init[404]: Reason: -
[ 11.950124] cloud-init[404]: Stdout:
[ 11.950738] cloud-init[404]: Stderr: Traceback (most recent call last):
[ 11.951695] cloud-init[404]: File "/usr/sbin/netplan", line 20, in <module>
[ 11.952808] cloud-init[404]: from netplan import Netplan
[ 11.953782] cloud-init[404]: File "/usr/share/netplan/netplan/__init__.py", line 18, in <module>
[ 11.955123] cloud-init[404]: from netplan.cli.core import Netplan
[ 11.956206] cloud-init[404]: File "/usr/share/netplan/netplan/cli/core.py", line 24, in <module>
[ 11.957557] cloud-init[404]: import netplan.cli.utils as utils
[ 11.958552] cloud-init[404]: File "/usr/share/netplan/netplan/cli/utils.py", line 26, in <module>
[ 11.959914] cloud-init[404]: import netifaces
[ 11.960736] cloud-init[404]: ModuleNotFoundError: No module named 'netifaces'
[ 11.961989] cloud-init[404]: ------------------------------------------------------------
[[0;1;31mFAILED[0m] Failed to start [0;1;39mInitial cloud-init job (pre-networking)[0m.
See 'systemctl status cloud-init-local.service' for details.
A simple reboot corrects the problem but as I need to launch this via a Launch Config for an autoscaling group I cannot reboot to get this working.
Anyone have any ideas?