You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2021/06/09 05:45:23 UTC
[cloudstack] branch 4.15 updated: kvm: Fix of some UEFI related
issues (#5072)
This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch 4.15
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.15 by this push:
new b0f2112 kvm: Fix of some UEFI related issues (#5072)
b0f2112 is described below
commit b0f2112dc2b0d1ced917924f60900d3c17574ca2
Author: slavkap <51...@users.noreply.github.com>
AuthorDate: Wed Jun 9 08:45:07 2021 +0300
kvm: Fix of some UEFI related issues (#5072)
* Fix of some UEFI related issues
1 - fix of attach/detach ISO of VM with UEFI boot type
2 - if OS type of an ISO is categorized as "Other" the bus type of the disk
will be set to "sata"
* Simplify the validation of OS types
---
.../hypervisor/kvm/resource/LibvirtComputingResource.java | 13 ++++---------
.../main/java/com/cloud/template/TemplateManagerImpl.java | 4 ++--
2 files changed, 6 insertions(+), 11 deletions(-)
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 82dd51f..a7d5ee3 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
@@ -3448,17 +3448,12 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
return DiskDef.DiskBus.IDE;
} else if (platformEmulator.startsWith("Other PV Virtio-SCSI")) {
return DiskDef.DiskBus.SCSI;
- } else if (isUefiEnabled && platformEmulator.startsWith("Windows")) {
- return DiskDef.DiskBus.SATA;
} else if (platformEmulator.contains("Ubuntu") ||
- platformEmulator.startsWith("Fedora") ||
- platformEmulator.startsWith("CentOS") ||
- platformEmulator.startsWith("Red Hat Enterprise Linux") ||
- platformEmulator.startsWith("Debian GNU/Linux") ||
- platformEmulator.startsWith("FreeBSD") ||
- platformEmulator.startsWith("Oracle") ||
- platformEmulator.startsWith("Other PV")) {
+ org.apache.commons.lang3.StringUtils.startsWithAny(platformEmulator,
+ "Fedora", "CentOS", "Red Hat Enterprise Linux", "Debian GNU/Linux", "FreeBSD", "Oracle", "Other PV")) {
return DiskDef.DiskBus.VIRTIO;
+ } else if (isUefiEnabled && org.apache.commons.lang3.StringUtils.startsWithAny(platformEmulator, "Windows", "Other")) {
+ return DiskDef.DiskBus.SATA;
} else {
return DiskDef.DiskBus.IDE;
}
diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java
index 956c456..3ca0807 100755
--- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java
+++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java
@@ -1302,10 +1302,10 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager,
Command cmd = null;
if (attach) {
- cmd = new AttachCommand(disk, vmName);
+ cmd = new AttachCommand(disk, vmName, vmTO.getDetails());
((AttachCommand)cmd).setForced(forced);
} else {
- cmd = new DettachCommand(disk, vmName);
+ cmd = new DettachCommand(disk, vmName, vmTO.getDetails());
((DettachCommand)cmd).setForced(forced);
}
Answer a = _agentMgr.easySend(vm.getHostId(), cmd);