Tal Nisan has uploaded a new change for review.

Change subject: webadmin: Fix disk allocation on new VM/Template
......................................................................

webadmin: Fix disk allocation on new VM/Template

When creating a new template from VM or a new VM/pool from template
the disk allocation table selected the first storage domain as the
default storage domain for the operation and that caused all the disks
in the template/VM to be created on this storage domain regardless to
the storage domain the original disks reside on

Change-Id: I0a2f71c4f18ccb52362272edf56853e2fde9643f
Bug-Url: https://bugzilla.redhat.com/927342
Signed-off-by: Tal Nisan <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java
1 file changed, 16 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/15576/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java
index 54edc16..2a80117 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/DisksAllocationModel.java
@@ -24,12 +24,12 @@
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.DiskModel;
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
-import org.ovirt.engine.ui.uicompat.UIConstants;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
 import org.ovirt.engine.ui.uicompat.IEventListener;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
+import org.ovirt.engine.ui.uicompat.UIConstants;
 
 public class DisksAllocationModel extends EntityModel
 {
@@ -56,9 +56,21 @@
     }
 
     private void registerToEvents() {
-        for (DiskModel disk : disks) {
-            
disk.getStorageDomain().getSelectedItemChangedEvent().removeListener(quota_storageEventListener);
-            
disk.getStorageDomain().getSelectedItemChangedEvent().addListener(quota_storageEventListener);
+        for (final DiskModel diskModel : disks) {
+            
diskModel.getStorageDomain().getSelectedItemChangedEvent().removeListener(quota_storageEventListener);
+            
diskModel.getStorageDomain().getSelectedItemChangedEvent().addListener(quota_storageEventListener);
+            
diskModel.getStorageDomain().getItemsChangedEvent().addListener(new 
IEventListener() {
+                @Override
+                public void eventRaised(Event ev, Object sender, EventArgs 
args) {
+                    DiskImage disk = (DiskImage) diskModel.getDisk();
+                    if (diskModel.getStorageDomain().getItems() != null && 
disk.getStorageIds() != null
+                            && !disk.getStorageIds().isEmpty()) {
+                        diskModel.getStorageDomain()
+                                
.setSelectedItem(Linq.firstOrDefault(diskModel.getStorageDomain().getItems(),
+                                        new 
Linq.StoragePredicate(disk.getStorageIds().iterator().next())));
+                    }
+                }
+            });
         }
     }
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0a2f71c4f18ccb52362272edf56853e2fde9643f
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