Skip to content

Commit 53cab79

Browse files
committed
Set bus=ide to cdroms when using disks from url=
To make it consistent with file= Fixes: Error defining libvirt domain: virError(Code=67, Domain=10, Message='unsupported configuration: disk type 'virtio' of 'vda' does not support ejectable media')
1 parent c573bc1 commit 53cab79

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

libvirt/domain.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,16 @@ func setDisks(d *schema.ResourceData, domainDef *libvirtxml.Domain, virConn *lib
500500

501501
if strings.HasSuffix(url.Path, ".iso") {
502502
disk.Device = "cdrom"
503+
disk.Target = &libvirtxml.DomainDiskTarget{
504+
Dev: fmt.Sprintf("hd%s", diskLetterForIndex(numOfISOs)),
505+
Bus: "ide",
506+
}
507+
disk.Driver = &libvirtxml.DomainDiskDriver{
508+
Name: "qemu",
509+
}
510+
numOfISOs++
503511
}
512+
504513
if !strings.HasSuffix(url.Path, ".qcow2") {
505514
disk.Driver.Type = "raw"
506515
}
@@ -525,6 +534,10 @@ func setDisks(d *schema.ResourceData, domainDef *libvirtxml.Domain, virConn *lib
525534

526535
numOfISOs++
527536
}
537+
538+
if !strings.HasSuffix(file.(string), ".qcow2") {
539+
disk.Driver.Type = "raw"
540+
}
528541
}
529542

530543
domainDef.Devices.Disks = append(domainDef.Devices.Disks, disk)

0 commit comments

Comments
 (0)