From 37d2b8537c454cdafdaf240dba37a4e1767afe2e Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Wed, 19 Feb 2020 08:42:20 +0100 Subject: [PATCH] kvm: Enable virtio drivers based on guest os display name (#3879) When we add new guest os, sometimes we missed the records in guest_os_hypervisor. However, the guest disk model (virtio/ide) is determined by record in the table. It causes the issue that some new guest os(eg Debian 8/9) uses e1000 instead of virtio nic, and ide disk instead of virtio disk. To fix the issue permanantly, pass the guest os name in guest_os if the record for kvm is not found in guest_os_hypervisor. Related commit:7ac9f00eeeb4cd37ec39efeba066e799b581b1a0 --- server/src/main/java/com/cloud/hypervisor/KVMGuru.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/hypervisor/KVMGuru.java b/server/src/main/java/com/cloud/hypervisor/KVMGuru.java index 2b84ff9b04d..cf29a1a55a9 100644 --- a/server/src/main/java/com/cloud/hypervisor/KVMGuru.java +++ b/server/src/main/java/com/cloud/hypervisor/KVMGuru.java @@ -132,7 +132,7 @@ public class KVMGuru extends HypervisorGuruBase implements HypervisorGuru { guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); } if (guestOsMapping == null || host == null) { - to.setPlatformEmulator("Other"); + to.setPlatformEmulator(guestOS.getDisplayName() == null ? "Other" : guestOS.getDisplayName()); } else { to.setPlatformEmulator(guestOsMapping.getGuestOsName()); }