Daniel Erez has uploaded a new change for review.

Change subject: core: lsm for disk based on template
......................................................................

core: lsm for disk based on template

Fetch DiskImage using get() instead of getAncestor()
(getAncestor() returns template's disk when applicable)

Change-Id: I42747d9d5d7f55e457c4b2f9d05b1c7b02dffb3d
Bug-Url: https://bugzilla.redhat.com/896439
Signed-off-by: Daniel Erez <de...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java
2 files changed, 26 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/99/11299/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java
index 7e347b3..e834503 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveDisksCommand.java
@@ -87,7 +87,7 @@
      */
     private boolean updateParameters() {
         for (MoveDiskParameters moveDiskParameters : 
getParameters().getParametersList()) {
-            DiskImage diskImage = 
getDiskImageDao().getAncestor(moveDiskParameters.getImageId());
+            DiskImage diskImage = 
getDiskImageDao().get(moveDiskParameters.getImageId());
             if (diskImage == null) {
                 return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_DISK_NOT_EXIST);
             }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java
index 1b50082..c7983e4 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/MoveDisksCommandTest.java
@@ -33,6 +33,7 @@
 public class MoveDisksCommandTest {
 
     private final Guid diskImageId = Guid.NewGuid();
+    private final Guid templateDiskImageId = Guid.NewGuid();
     private final Guid srcStorageId = Guid.NewGuid();
     private final Guid dstStorageId = Guid.NewGuid();
 
@@ -126,6 +127,17 @@
     }
 
     @Test
+    public void liveMigrateDiskBasedOnTemplate() {
+        command.getParameters().setParametersList(createMoveDisksParameters());
+
+        initDiskImageBasedOnTemplate(diskImageId);
+        initVm(VMStatus.Up, Guid.NewGuid(), diskImageId);
+
+        assertTrue(command.canDoAction());
+        assertFalse(command.getLiveMigrateDisksParametersList().isEmpty());
+    }
+
+    @Test
     public void moveDiskAndLiveMigrateDisk() {
         Guid diskImageId1 = Guid.NewGuid();
         Guid diskImageId2 = Guid.NewGuid();
@@ -156,9 +168,21 @@
     }
 
     private void initDiskImage(Guid diskImageId) {
+        DiskImage diskImage = mockDiskImage(diskImageId);
+        when(diskImageDao.get(diskImageId)).thenReturn(diskImage);
+    }
+
+    private void initDiskImageBasedOnTemplate(Guid diskImageId) {
+        DiskImage diskImage = mockDiskImage(diskImageId);
+        diskImage.setParentId(templateDiskImageId);
+        when(diskImageDao.get(diskImageId)).thenReturn(diskImage);
+    }
+
+    private DiskImage mockDiskImage(Guid diskImageId) {
         DiskImage diskImage = new DiskImage();
         diskImage.setId(diskImageId);
-        when(diskImageDao.getAncestor(diskImageId)).thenReturn(diskImage);
+
+        return diskImage;
     }
 
     /** Mock DAOs */


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

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

Reply via email to