-
Notifications
You must be signed in to change notification settings - Fork 56
Description
When deploying a cluster with CAPMOX on Proxmox ARM64 (Orange Pi), the VM fails to start because CAPMOX always attaches the cloud-init ISO to an IDE bus (ide0).
Error from Proxmox:
kvm: -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=101: Bus 'ide.0' not found
TASK ERROR: start failed: QEMU exited with code 1
On ARM64 Proxmox, IDE devices are not supported.
If I manually delete the IDE CD-ROM in the Proxmox web UI and re-create it as SCSI with user-data-XXX.iso, the VM starts correctly and the cluster initializes.
Workaround tested:
In version v0.7.3 I was able to patch the source:
// internal/inject/inject.go
- const CloudInitISODevice = "ide0"
+ const CloudInitISODevice = "scsi0"
After recompiling CAPMOX, VMs started successfully.
However, after upgrading to v0.7.4, applying the same change and rebuilding still results in CAPMOX creating the cloud-init ISO on ide0.
Steps to reproduce:
1. Use Proxmox ARM64 host (Orange Pi).
2. Deploy a cluster with CAPMOX.
3. VM creation fails with the above Bus 'ide.0' not found error.
Expected behavior:
CAPMOX should allow configuring the bus type for the cloud-init ISO (e.g., scsi0 instead of hardcoded ide0) so that it works on ARM64 environments.
Environment:
• Proxmox VE: 8.x on ARM64
• CAPMOX version: v0.7.3 (patched works), v0.7.4 (fails even after patch)
• Host: Orange Pi (ARM64)
Possible solutions:
• Make CloudInitISODevice configurable instead of hardcoded to ide0.
• Default to scsi0 for ARM64.
• Detect architecture and choose an appropriate bus type.