Amit Aviram has uploaded a new change for review.

Change subject: webadmin: Disabling unsupported storage types when adding a 
domain.
......................................................................

webadmin: Disabling unsupported storage types when adding a domain.

Some storage types are unsupported for low DC versions. still,
these storages are currently available for choosing when creating
a new domain in a DC.

This patch adds a limitation in the StorageModel for the available
storage types to choose from in the new domain window.

Change-Id: I5fcc131454e0722fbf8d6e84607a71381e1d04fb
Bug-Url: https://bugzilla.redhat.com/1136789
Signed-off-by: Amit Aviram <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/NewEditStorageModelBehavior.java
3 files changed, 19 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/38544/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
index 95628d9..7691fda 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
@@ -134,6 +134,8 @@
     IscsiMultipathingSupported,
     BootMenuSupported(ConfigAuthType.User),
     MixedDomainTypesInDataCenter,
+    GlusterFsStorageEnabled,
+    PosixStorageEnabled,
     VirtIoRngDeviceSupported(ConfigAuthType.User),
     ClusterRequiredRngSourcesDefault(ConfigAuthType.User),
     SpiceFileTransferToggleSupported(ConfigAuthType.User),
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index aed9124..86a591a 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -2795,6 +2795,18 @@
         cachedConfigValues.clear();
     }
 
+    public boolean isStorageTypeFitsDC(StorageType type, Version 
compatibilityVersion) {
+        switch (type) {
+            case GLUSTERFS:
+                return (Boolean) 
getConfigValuePreConverted(ConfigurationValues.GlusterFsStorageEnabled , 
compatibilityVersion.toString());
+            case POSIXFS:
+                return (Boolean) 
getConfigValuePreConverted(ConfigurationValues.PosixStorageEnabled , 
compatibilityVersion.toString());
+        }
+
+        // Every other type fits all DC versions.
+        return true;
+    }
+
     private static class TemplateConverter implements IAsyncConverter {
 
         @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/NewEditStorageModelBehavior.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/NewEditStorageModelBehavior.java
index 33b07f6..9f0f5a3 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/NewEditStorageModelBehavior.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/NewEditStorageModelBehavior.java
@@ -87,6 +87,11 @@
     }
 
     private void checkCanItemBeSelected(final IStorageModel item, StoragePool 
dataCenter, boolean isNoExportOrIsoStorageAttached) {
+        if 
(!AsyncDataProvider.getInstance().isStorageTypeFitsDC(item.getType(), 
dataCenter.getCompatibilityVersion())) {
+            updateItemSelectability(item, false);
+            return;
+        }
+
         boolean isExistingStorage = getModel().getStorage() != null &&
                 item.getType() == getModel().getStorage().getStorageType();
 


-- 
To view, visit https://gerrit.ovirt.org/38544
To unsubscribe, visit https://gerrit.ovirt.org/settings

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

Reply via email to