kvm: don't always force scsi controller for aarch64 VMs (#5802)

* kvm: don't force scsi controller for aarch64 VMs

This would allow use of virtio disk controller with Ceph, etc or as
defined in the VM's root disk controller setting, rather than always
enforce SCSI.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

* remove test that doesn't apply now

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

* address review comment

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Rohit Yadav 2021-12-30 15:19:32 +05:30 committed by GitHub
parent 9a5a0738b0
commit 6728b696cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 9 deletions

View File

@ -3715,10 +3715,6 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
return null;
}
if (_guestCpuArch != null && _guestCpuArch.equals("aarch64")) {
return DiskDef.DiskBus.SCSI;
}
String rootDiskController = details.get(VmDetailConstants.ROOT_DISK_CONTROLLER);
if (StringUtils.isNotBlank(rootDiskController)) {
s_logger.debug("Passed custom disk controller for ROOT disk " + rootDiskController);
@ -3752,10 +3748,6 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
}
private DiskDef.DiskBus getGuestDiskModel(final String platformEmulator, boolean isUefiEnabled) {
if (_guestCpuArch != null && _guestCpuArch.equals("aarch64")) {
return DiskDef.DiskBus.SCSI;
}
if (platformEmulator == null) {
return DiskDef.DiskBus.IDE;
} else if (platformEmulator.startsWith("Other PV Virtio-SCSI")) {
@ -3766,6 +3758,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
return DiskDef.DiskBus.VIRTIO;
} else if (isUefiEnabled && org.apache.commons.lang3.StringUtils.startsWithAny(platformEmulator, "Windows", "Other")) {
return DiskDef.DiskBus.SATA;
} else if (_guestCpuArch != null && _guestCpuArch.equals("aarch64")) {
return DiskDef.DiskBus.SCSI;
} else {
return DiskDef.DiskBus.IDE;
}

View File

@ -420,7 +420,7 @@ public class LibvirtComputingResourceTest {
public void testCreateDevicesWithSCSIDisk() {
VirtualMachineTO to = createDefaultVM(false);
to.setDetails(new HashMap<>());
libvirtComputingResourceSpy._guestCpuArch = "aarch64";
to.setPlatformEmulator("Other PV Virtio-SCSI");
GuestDef guest = new GuestDef();
guest.setGuestType(GuestType.KVM);