diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 9684b7e2245..60d8e0865b2 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -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; } diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java index c744299b345..4106cc05799 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java @@ -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);