Omer Frenkel has uploaded a new change for review.

Change subject: core: always send numa node for vm
......................................................................

core: always send numa node for vm

in case user didn't specify numa config for a vm,
send default numa configuration for the vm,
using the host's first numa node.

this is done in clusters that support numa and for hosts that has a numa
node.

this is needed for up coming hot-plug memory for vms,
that require at least one numa node in the guest.

Change-Id: I9c7b0938bb0ab45883d637b594de61cd8695963a
Signed-off-by: Omer Frenkel <ofren...@redhat.com>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
1 file changed, 18 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/81/40481/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
index 18097bd..d263f17 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
@@ -32,9 +32,9 @@
 import org.ovirt.engine.core.common.businessentities.network.VnicProfile;
 import org.ovirt.engine.core.common.businessentities.qos.StorageQos;
 import org.ovirt.engine.core.common.businessentities.storage.Disk;
-import org.ovirt.engine.core.common.businessentities.storage.DiskStorageType;
 import org.ovirt.engine.core.common.businessentities.storage.DiskImage;
 import org.ovirt.engine.core.common.businessentities.storage.DiskInterface;
+import org.ovirt.engine.core.common.businessentities.storage.DiskStorageType;
 import org.ovirt.engine.core.common.businessentities.storage.LunDisk;
 import org.ovirt.engine.core.common.businessentities.storage.PropagateErrors;
 import org.ovirt.engine.core.common.businessentities.storage.VolumeFormat;
@@ -1185,14 +1185,26 @@
      */
     private void addNumaSetting(final String compatibilityVersion) {
         if (Boolean.TRUE.equals(Config.<Boolean> 
getValue(ConfigValues.CpuPinningEnabled,
-                        compatibilityVersion))) {
+                compatibilityVersion))) {
             List<VmNumaNode> vmNumaNodes = 
DbFacade.getInstance().getVmNumaNodeDAO().getAllVmNumaNodeByVmId(vm.getId());
-            if (vmNumaNodes.isEmpty()) {
-                return;
-            }
-            NumaTuneMode numaTune = vm.getNumaTuneMode();
             List<VdsNumaNode> totalVdsNumaNodes = 
DbFacade.getInstance().getVdsNumaNodeDAO()
                     .getAllVdsNumaNodeByVdsId(vdsId);
+            if (totalVdsNumaNodes.isEmpty()) {
+                log.warn("No NUMA nodes found for host {} for vm {} {}",  
vdsId, vm.getName(), vm.getId());
+                return;
+            }
+
+            // if user didn't set specific NUMA conf
+            // create a default one with the first numa node of the host
+            if (vmNumaNodes.isEmpty()) {
+                VmNumaNode vmNode = new VmNumaNode();
+                vmNode.setIndex(totalVdsNumaNodes.get(0).getIndex());
+                vmNode.setMemTotal(vm.getMemSizeMb());
+                vmNode.setCpuIds(totalVdsNumaNodes.get(0).getCpuIds());
+                vmNumaNodes.add(vmNode);
+            }
+            NumaTuneMode numaTune = vm.getNumaTuneMode();
+
             if (numaTune != null) {
                 Map<String, Object> numaTuneSetting =
                         NumaSettingFactory.buildVmNumatuneSetting(numaTune, 
vmNumaNodes, totalVdsNumaNodes);


-- 
To view, visit https://gerrit.ovirt.org/40481
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9c7b0938bb0ab45883d637b594de61cd8695963a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Omer Frenkel <ofren...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to