Skip to content

Proxmox support #1040

@lukasmrtvy

Description

@lukasmrtvy

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureA feature requestplatform/new-platformlinked to new platform addition (cloud provider, image type, architecture, etc.)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions