I'm encountering difficulties fetching a specific #cloud-config file based on the SMBIOS UUID during the installation of Ubuntu 22.04 virtual machines using autoinstall. I have a general #cloud-config file located at http:///jammy/cloud-init-bios/user-data that needs to be included by every instance. Additionally, I want to provide a specific #cloud-config file for each instance based on their SMBIOS UUID.
I've attempted to configure the netboot process with the following configuration in my pxelinux.cfg/default file, using the example supplied by cloud-init.
LABEL ubuntu-jammy-autoinstall
MENU label Install Ubuntu Jammy - autoinstall
KERNEL ::jammy/vmlinuz
INITRD ::jammy/initrd
APPEND root=/dev/ram0 ramdisk_size=1500000 ip=dhcp fsck.mode=skip url=http://<server-ip>/tftp/images/ubuntu-22.04.2.iso autoinstall -smbios type=1,serial=ds=nocloud-net;s=http://<server-ip>/tftp/meta/__dmi.system-uuid__/ cloud-config-url=http://<server-ip>/jammy/cloud-init-bios/user-data
After trying to launch the autoinstaller the client machine seems to skip the sourcefrom line, which should be /tftp/meta/ae166f1a-841a-468d-b0b9-7ddee880f42b/meta-data and go straight to the cloud-config-url.
The logs on my pxeboot server:
pxeboot01:80 192.168.10.200 - - [05/Jul/2023:10:28:29 +0200] "GET /tftp/images/ubuntu-22.04.2.iso HTTP/1.1" 200 1975972118 "-" "Wget"
pxeboot01:80 192.168.10.200 - - [05/Jul/2023:10:29:09 +0200] "GET /tftp/jammy/cloud-init-bios/user-data HTTP/1.1" 200 2121 "-" "Cloud-Init/22.4.2-0ubuntu0~22.04.1"
pxeboot01:80 192.168.10.200 - - [05/Jul/2023:10:29:11 +0200] "GET /tftp/jammy/cloud-init-bios/user-data HTTP/1.1" 200 2121 "-" "Cloud-Init/22.4.2-0ubuntu0~22.04.1"
When I don't specify the cloud-init-url (only sourcefrom) the installer just fails and falls back into the language selection screen. logs on the client machine don't specify the machine ever doing something with the uuid.