Tal Nisan has uploaded a new change for review.

Change subject: webadmin: Change disk alias suggestions to use alias recycling
......................................................................

webadmin: Change disk alias suggestions to use alias recycling

In change 24061, disk alias suggestions was changed not to suggest a disk
alias that is already attached to the VM, this change now also makes sure
that the aliases will be recycled (i.e. if we had alias1 and alias2 and we
deleted alias1, the next suggestion will be alias1)

Change-Id: I8d5b8ba00a144b864208d971def7087182538be2
Bug-Url: https://bugzilla.redhat.com/1022795
Signed-off-by: Tal Nisan <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQuery.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQueryTest.java
2 files changed, 13 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/31/31931/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQuery.java
index 5961744..111476d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQuery.java
@@ -38,7 +38,7 @@
         int i = 0;
         do {
             i++;
-            suggestedDiskName = 
ImagesHandler.getDefaultDiskAlias(vm.getName(), 
Integer.toString(vm.getDiskMapCount() + i));
+            suggestedDiskName = 
ImagesHandler.getDefaultDiskAlias(vm.getName(), Integer.toString(i));
         } while (aliases.contains(suggestedDiskName));
         return suggestedDiskName;
     }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQueryTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQueryTest.java
index 73930fe..1d53e64 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQueryTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetNextAvailableDiskAliasNameByVMIdQueryTest.java
@@ -67,19 +67,24 @@
     }
 
     /**
-     * When removing a disk from VM with n disks the default disk alias will 
be VM_DISK{n} yet this alias is already
-     * taken since we created n disks to begin with, this test asserts that 
the suggested alias returned by this query
-     * will be VM_DISK{n+1}
+     * When removing the first disk from VM with n disks the default disk 
alias should be recycled and take the
+     * disk alias of the disk we removed
      */
     @Test
-    public void testExecuteQueryNotOverlappingExisting() throws Exception {
+    public void testExecuteQueryRecycling() throws Exception {
         mockDAOForQuery();
         vm = mockVmAndReturnFromDAO();
         populateVmDiskMap(vm, 5);
 
-        vm.getDiskMap().remove(vm.getDiskMap().entrySet().iterator().next());
+        String expectedDiskAlias = 
ImagesHandler.getDefaultDiskAlias(vm.getName(), "3");
 
-        String expectedDiskAlias = 
ImagesHandler.getDefaultDiskAlias(vm.getName(), "6");
+        Disk removedDisk = null;
+        for (Disk disk : vm.getDiskMap().values()) {
+            if (disk.getDiskAlias().equals(expectedDiskAlias)) {
+                removedDisk = disk;
+            }
+        }
+        vm.getDiskMap().remove(removedDisk.getId());
 
         getQuery().executeQueryCommand();
         assertEquals(expectedDiskAlias, 
getQuery().getQueryReturnValue().getReturnValue());
@@ -94,7 +99,7 @@
         for (Integer i = 0; i < numOfDisks; i++) {
             DiskImage diskImage = new DiskImage();
             diskImage.setId(Guid.newGuid());
-            
diskImage.setDiskAlias(ImagesHandler.getDefaultDiskAlias(vm.getName(), 
i.toString()));
+            
diskImage.setDiskAlias(ImagesHandler.getDefaultDiskAlias(vm.getName(), 
Integer.toString(i + 1)));
             diskMap.put(diskImage.getId(), diskImage);
         }
     }


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

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

Reply via email to