Gilad Chaplik has uploaded a new change for review.

Change subject: core: remove VM from its Affinity Group on change cluster
......................................................................

core: remove VM from its Affinity Group on change cluster

For more information please refer
to: http://www.ovirt.org/Features/VM-Affinity

Change-Id: I0cc4f8ea49b4c79aea4d16239e09d2db8a07bd8a
Bug-Url: https://bugzilla.redhat.com/1036638
Signed-off-by: Gilad Chaplik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVMClusterCommand.java
1 file changed, 13 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/40/22740/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVMClusterCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVMClusterCommand.java
index 27d0f3a..25364d1 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVMClusterCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVMClusterCommand.java
@@ -18,6 +18,7 @@
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import org.ovirt.engine.core.common.businessentities.network.VmNic;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
+import org.ovirt.engine.core.common.scheduling.AffinityGroup;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 import org.ovirt.engine.core.utils.ObjectIdentityChecker;
@@ -198,6 +199,18 @@
 
         vm.setVdsGroupId(getParameters().getClusterId());
         DbFacade.getInstance().getVmStaticDao().update(vm.getStaticData());
+
+        // change vm cluster should remove the vm from all associated affinity 
groups
+        List<AffinityGroup> allAffinityGroupsByVmId =
+                
DbFacade.getInstance().getAffinityGroupDao().getAllAffinityGroupsByVmId(vm.getId());
+        if (!allAffinityGroupsByVmId.isEmpty()) {
+            StringBuilder sb = new StringBuilder();
+            for (AffinityGroup affinityGroup : allAffinityGroupsByVmId) {
+                sb.append(affinityGroup.getName() + " ");
+            }
+            log.infoFormat("Removing VM from associated affinity groups: {0}", 
sb.toString());
+            
DbFacade.getInstance().getAffinityGroupDao().removeVmFromAffinityGroups(vm.getId());
+        }
         setSucceeded(true);
     }
 


-- 
To view, visit http://gerrit.ovirt.org/22740
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0cc4f8ea49b4c79aea4d16239e09d2db8a07bd8a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to