From f49265c14cb98f70c30586510aae2ee3c4a9da76 Mon Sep 17 00:00:00 2001 From: Marcus Sorensen Date: Sun, 4 Feb 2024 23:23:45 -0700 Subject: [PATCH] Fix missing code from backport of 4.16 version of dom0 CPU reserve (#374) Co-authored-by: Marcus Sorensen --- .../java/com/cloud/agent/properties/AgentProperties.java | 9 +++++++++ .../kvm/resource/LibvirtComputingResource.java | 3 +-- 2 files changed, 10 insertions(+), 2 deletions(-) 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