Proxmox does not support ignition, but one can probably trigger loading cloud-init from a static ignition file ( /var/lib/vz/snippets/ignition-run-cloud-init.json ). Passing ignition via -fw_cfg isn't solution, its just not possible for non root users, see https://forum.proxmox.com/threads/fedora-core-os-ignition-root-pam-api-tokens-restricted-from-using-qemu-args.108886/ for more info.
Trying this ( via root user in proxmox ):
qm create 9005 --name flatcar3510.2.1-qemu-template --memory 1024 --net0 virtio,bridge=vmbr0
qm importdisk 9005 flatcar_production_qemu_image.img local-lvm
qm set 9005 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9005-disk-0
qm set 9005 --ide2 local-lvm:cloudinit
qm set 9005 --boot c --bootdisk scsi0
qm set 9005 --serial0 socket --vga serial0
qm set 9005 --args '-fw_cfg name=opt/org.flatcar-linux/config,file="/var/lib/vz/snippets/ignition-run-cloud-init.json"'
qm template 9005
cat /var/lib/vz/snippets/ignition-run-cloud-init.json
{
"ignition": { "version": "2.2.0" },
"systemd": {
"units": [{
"name": "run-cloud-init.service",
"enabled": true,
"contents": "[Service]\nType=oneshot\nExecStartPre=mkdir /media/iso\nExecStartPre=mount /dev/sr0 /media/iso\nExecStart=/usr/bin/coreos-cloudinit -from-configdrive /media/iso\n\n[Install]\nWantedBy=default.target"
}]
}
}
, but the VM cloned from this template does not fetch cloud-init settings set directly on VM via WebUI.
Debug:
/usr/bin/coreos-cloudinit -from-configdrive /media/iso
2023/05/24 19:28:34 Checking availability of "cloud-drive"
2023/05/24 19:28:34 Fetching user-data from datasource of type "cloud-drive"
2023/05/24 19:28:34 Attempting to read from "/media/iso/openstack/latest/user_data"
2023/05/24 19:28:34 Fetching meta-data from datasource of type "cloud-drive"
2023/05/24 19:28:34 Attempting to read from "/media/iso/openstack/latest/meta_data.json"
2023/05/24 19:28:34 Merging cloud-config from meta-data and user-data
2023/05/24 19:28:34 Ensuring runtime unit file "etcd.service" is unmasked
2023/05/24 19:28:34 Ensuring runtime unit file "etcd2.service" is unmasked
2023/05/24 19:28:34 Ensuring runtime unit file "fleet.service" is unmasked
2023/05/24 19:28:34 Ensuring runtime unit file "locksmithd.service" is unmasked
ls /media/iso/
meta-data network-config user-data vendor-data
Thanks
Proxmox does not support ignition, but one can probably trigger loading cloud-init from a static ignition file (
/var/lib/vz/snippets/ignition-run-cloud-init.json). Passing ignition via -fw_cfg isn't solution, its just not possible for non root users, see https://forum.proxmox.com/threads/fedora-core-os-ignition-root-pam-api-tokens-restricted-from-using-qemu-args.108886/ for more info.Trying this ( via root user in proxmox ):
, but the VM cloned from this template does not fetch cloud-init settings set directly on VM via WebUI.
Debug:
Thanks