Daniel Erez has uploaded a new change for review.

Change subject: core,webadmin: Edit SD - applicable only from SPM (#846765)
......................................................................

core,webadmin: Edit SD - applicable only from SPM (#846765)

https://bugzilla.redhat.com/846765

* UI: Editing a storage domain - only SPM should be displayed.
* ConnectAllHostsToLunCommand: 'ConnectVdsToLun' shouldn't bypass SPM.

Change-Id: Ie5a87c07197e1297c30ef346caea3293304b4452
Signed-off-by: Daniel Erez <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
3 files changed, 18 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/82/7882/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java
index 4920436..c86930f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java
@@ -122,9 +122,6 @@
         // all vdss in pool except spm (already connected)
         Map<String, List<Guid>> resultMap = new HashMap<String, List<Guid>>();
         for (VDS vds : getAllRunningVdssInPool()) {
-            if (vds.getspm_status() == VdsSpmStatus.SPM)
-                continue;
-
             // try to connect vds to luns and getDeviceList in order to 
refresh them
             for (LUNs lun : luns) {
                 if (!connectStorageToLunByVdsId(vds, lun)) {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
index 47b9cee..b5f1a5c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
@@ -351,7 +351,7 @@
 
         boolean isStorageActive = model.isStorageActive();
         model.getName().setIsChangable(isStorageActive);
-        model.getHost().setIsChangable(isStorageActive);
+        model.getHost().setIsChangable(isStorageActive && 
storage.getstorage_type().isFileDomain());
         model.getAvailableStorageItems().setIsChangable(isStorageActive);
         model.setIsChangable(isStorageActive);
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
index d634fc5..2000838 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
@@ -2,6 +2,7 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -576,36 +577,34 @@
         VDS oldSelectedItem = (VDS) getHost().getSelectedItem();
         VDS selectedItem = null;
 
-        getHost().setItems(hosts);
+        // On Edit - only SPM is available.
+        if (getStorage() != null) {
+            hosts = Collections.singletonList(getSPM(hosts));
+        }
 
         // Try to select previously selected host.
-        if (oldSelectedItem != null)
-        {
+        if (oldSelectedItem != null) {
             selectedItem = Linq.FirstOrDefault(hosts, new 
Linq.HostPredicate(oldSelectedItem.getId()));
         }
 
-        // Try to select an SPM host when edit storage.
-        if (selectedItem == null && getStorage() != null)
-        {
-            for (VDS host : hosts)
-            {
-                if (host.getspm_status() == VdsSpmStatus.SPM)
-                {
-                    selectedItem = host;
-                    break;
-                }
-            }
-        }
-
         // Select a default - first host in the list.
-        if (selectedItem == null)
-        {
+        if (selectedItem == null) {
             selectedItem = Linq.FirstOrDefault(hosts);
         }
 
         getHost().setSelectedItem(selectedItem);
     }
 
+    private VDS getSPM(Iterable<VDS> hosts) {
+        for (VDS host : hosts) {
+            if (host.getspm_status() == VdsSpmStatus.SPM) {
+                return host;
+            }
+        }
+
+        return null;
+    }
+
     void UpdateFormat()
     {
         storage_pool dataCenter = (storage_pool) 
getDataCenter().getSelectedItem();


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

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

Reply via email to