I couldn't find the right pages with a google search for the following error while booting a virtual machine on ganeti:
Boot failed: Could not read from CDROM (code 0003)
The virtual machine was started to boot from a cdrom like this:
gnt-instance start -H kvm:boot_order=cdrom -H cdrom_image_path=/boot/systemrescuecd-x86-4.0.0.iso $INSTANCE
The problem is that ganeti by default uses the same value for
cdrom_disk_type than what's set for
disk_type. This means if you set
disk_type=paravirtual, then you'll get the following as a parameter to kvm:
-drive file=/boot/systemrescuecd-x86-4.0.0.iso,format=raw,media=cdrom,if=virtio
and this fails to boot because of the
if=virtio part. It seems the kvm bios can't boot from virtio cdrom. The best way to fix this is to change
cdrom_disk_type from default to
scsi or
ide:
gnt-cluster modify -H kvm:cdrom_disk_type=scsi