From be5df8d9edad3e513e8ddb812a4968ddaa6211c0 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Thu, 15 Oct 2020 13:57:59 +0200 Subject: [PATCH 1/2] kvm: fix wrong VM CPU usage (#4381) --- .../hypervisor/kvm/resource/LibvirtComputingResource.java | 4 +--- 1 file changed, 1 insertion(+), 3 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 b468b13c1bb..fd95a8ccbe8 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 @@ -75,7 +75,6 @@ import org.libvirt.DomainSnapshot; import org.libvirt.LibvirtException; import org.libvirt.MemoryStatistic; import org.libvirt.Network; -import org.libvirt.NodeInfo; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -3627,8 +3626,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv elapsedTime = now.getTimeInMillis() - oldStats._timestamp.getTimeInMillis(); double utilization = (info.cpuTime - oldStats._usedTime) / ((double)elapsedTime * 1000000); - final NodeInfo node = conn.nodeInfo(); - utilization = utilization / node.cpus; + utilization = utilization / info.nrVirtCpu; if (utilization > 0) { stats.setCPUUtilization(utilization * 100); } From f7a3701c7a2fc49ccd2105e600b01cb985fb8127 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Thu, 15 Oct 2020 19:54:59 +0200 Subject: [PATCH 2/2] server: fix issue that vm guest os type is reset after updatetemplate (#4377) --- .../src/main/java/com/cloud/template/TemplateManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java index 749f272bf36..a651cff7b3e 100755 --- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java @@ -2063,6 +2063,7 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, ex.addProxyObject(String.valueOf(id), "templateId"); throw ex; } + long oldGuestOSId = template.getGuestOSId(); verifyTemplateId(id); @@ -2119,7 +2120,6 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, } if (guestOSId != null) { - long oldGuestOSId = template.getGuestOSId(); GuestOSVO guestOS = _guestOSDao.findById(guestOSId); if (guestOS == null) {