diff --git a/agent/src/main/java/com/cloud/agent/properties/AgentProperties.java b/agent/src/main/java/com/cloud/agent/properties/AgentProperties.java index 75248fb01bf..610c5be759f 100644 --- a/agent/src/main/java/com/cloud/agent/properties/AgentProperties.java +++ b/agent/src/main/java/com/cloud/agent/properties/AgentProperties.java @@ -502,6 +502,15 @@ public class AgentProperties{ */ public static final Property HOST_RESERVED_MEM_MB = new Property<>("host.reserved.mem.mb", 1024); + /** + * How many host CPUs to reserve for non-allocation.
+ * This can be used to set aside CPU cores on the host for other tasks, such as running hyperconverged storage
+ * processes, etc. + * Data type: Integer.
+ * Default value: 0 + */ + public static final Property HOST_RESERVED_CPU_CORE_COUNT = new Property<>("host.reserved.cpu.count", 0); + /** * The model of Watchdog timer to present to the Guest.
* For all models refer to the libvirt documentation.
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 fe4ef5821ed..0f32fae934a 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 @@ -1064,8 +1064,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv // Reserve 1GB unless admin overrides _dom0MinMem = ByteScaleUtils.mebibytesToBytes(AgentPropertiesFileHandler.getPropertyValue(AgentProperties.HOST_RESERVED_MEM_MB)); - value = (String)params.get("host.reserved.cpu.count"); - _dom0MinCpuCores = NumbersUtil.parseInt(value, 0); + _dom0MinCpuCores = AgentPropertiesFileHandler.getPropertyValue(AgentProperties.HOST_RESERVED_CPU_CORE_COUNT); // Support overcommit memory for host if host uses ZSWAP, KSM and other memory // compressing technologies