From a7f3e1ec97975fea6ce17533d5bf5fa5a73b8acc Mon Sep 17 00:00:00 2001 From: Edison Su Date: Sat, 17 Aug 2013 00:18:56 -0700 Subject: [PATCH] CLOUDSTACK-4300: possible fix: cputune feature is only available after 0.9.0, so start vm can fail on rhel 6.1 --- .../resource/LibvirtComputingResource.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index bab591a6b59..a156ae651b3 100755 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -3382,23 +3382,25 @@ ServerResource { cmd.setModel(_guestCpuModel); vm.addComp(cmd); - CpuTuneDef ctd = new CpuTuneDef(); - /** - A 4.0.X/4.1.X management server doesn't send the correct JSON - command for getMinSpeed, it only sends a 'speed' field. + if (_hypervisorLibvirtVersion >= 9000) { + CpuTuneDef ctd = new CpuTuneDef(); + /** + A 4.0.X/4.1.X management server doesn't send the correct JSON + command for getMinSpeed, it only sends a 'speed' field. - So if getMinSpeed() returns null we fall back to getSpeed(). + So if getMinSpeed() returns null we fall back to getSpeed(). - This way a >4.1 agent can work communicate a <=4.1 management server + This way a >4.1 agent can work communicate a <=4.1 management server - This change is due to the overcommit feature in 4.2 - */ - if (vmTO.getMinSpeed() != null) { - ctd.setShares(vmTO.getCpus() * vmTO.getMinSpeed()); - } else { - ctd.setShares(vmTO.getCpus() * vmTO.getSpeed()); + This change is due to the overcommit feature in 4.2 + */ + if (vmTO.getMinSpeed() != null) { + ctd.setShares(vmTO.getCpus() * vmTO.getMinSpeed()); + } else { + ctd.setShares(vmTO.getCpus() * vmTO.getSpeed()); + } + vm.addComp(ctd); } - vm.addComp(ctd); FeaturesDef features = new FeaturesDef(); features.addFeatures("pae");