Roy Golan has uploaded a new change for review.

Change subject: core: fix updating running VM details
......................................................................

core: fix updating running VM details

- add images and interfaces to the allowed fields to be changed while
  VM is running. Since those entities are relational they are not
  update-able anyway throw update command but rather through updating
  interfaces or images directly.

Change-Id: Ia19d18336ab24512ffa9260f5bad9f2567f71a9c
Signed-off-by: Roy Golan <rgo...@redhat.com>
bug-url: https://bugzilla.redhat.com/show_bug.cgi?id=858610
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/VmHandlerTest.java
2 files changed, 47 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/43/8343/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
index b98cab0..35a7bbd 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
@@ -82,12 +82,15 @@
                 "dedicated_vm_for_vds", "default_display_type", "priority", 
"default_boot_sequence", "initrd_url",
                 "kernel_url", "kernel_params", "migrationSupport", 
"minAllocatedMem", "quotaId", "quotaName",
                 "quotaEnforcementType", "cpuPinning",
-                "vmPayload", "balloonEnabled"});
+                "vmPayload", "balloonEnabled",
+                "images", // images list is relational entity - ignore value 
changes
+                "interfaces" // interfaces is relational entity - ignore value 
changes
+        });
         mUpdateVmsStatic.AddFields(
                 Arrays.asList(new Enum<?>[] { VMStatus.Down }),
                 Arrays.asList(new String[] { "vds_group_id", "time_zone", 
"is_stateless", "nice_level", "mem_size_mb",
                         "num_of_sockets", "cpu_per_socket", "iso_path", 
"userDefinedProperties",
-                        "predefinedProperties", "customProperties", "images", 
"interfaces" }));
+                        "predefinedProperties", "customProperties" }));
     }
 
     /**
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/VmHandlerTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/VmHandlerTest.java
index 843694d..58f2603 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/VmHandlerTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/VmHandlerTest.java
@@ -1,6 +1,8 @@
+package org.ovirt.engine.core.bll;
+
 /**
  * TODO:
- * Commented out test class in order to cancel dependency on PowerMock
+ * Commented out test most of the class in order to cancel dependency on 
PowerMock
  * This should be revisited.
  */
 
@@ -48,6 +50,45 @@
 //import org.powermock.core.classloader.annotations.PrepareForTest;
 //import org.powermock.modules.junit4.PowerMockRunner;
 //
+
+
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.ovirt.engine.core.common.businessentities.VMStatus;
+import org.ovirt.engine.core.common.businessentities.VmNetworkInterface;
+import org.ovirt.engine.core.common.businessentities.VmStatic;
+import org.ovirt.engine.core.utils.RandomUtils;
+
+/** A test case for the {@link VmHandler} class. */
+public class VmHandlerTest {
+
+    @Before
+    public void setUp() {
+        VmHandler.Init();
+    }
+
+    @Test
+    public void testUpdateFieldsNameInStatusUp() {
+        VmStatic src = new VmStatic();
+        src.setvm_name(RandomUtils.instance().nextString(10));
+        src.setInterfaces(new ArrayList<VmNetworkInterface>(2));
+
+        VmStatic dest = new VmStatic();
+        dest.setvm_name(RandomUtils.instance().nextString(10));
+
+        System.out.println(VmHandler.mUpdateVmsStatic.IsUpdateValid(src, dest, 
VMStatus.Up));
+
+        assertTrue("Update should be valid for different names",
+                VmHandler.mUpdateVmsStatic.IsUpdateValid(src, dest));
+    }
+
+}
+
 //@PrepareForTest({ DbFacade.class, TransactionSupport.class, Config.class, 
Backend.class })
 //@RunWith(PowerMockRunner.class)
 //public class VmHandlerTest {


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

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

Reply via email to