Sergey Gotliv has uploaded a new change for review.

Change subject: engine: Disable iSCSI multipathing for datacenters < 3.4
......................................................................

engine: Disable iSCSI multipathing for datacenters < 3.4

VDSM introduced a few bug fixes in 3.4 to support configuration of iSCSI
multipathing, therefore this feature is allowed for 3.4 and up
datacenters.

Change-Id: I623cd917ca0871a9d3d09c2d30ec2dfc114d383e
Signed-off-by: Sergey Gotliv <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
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/models/datacenters/DataCenterListModel.java
M packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
5 files changed, 42 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/62/25962/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
index ee4ee3e..d0ced6d 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java
@@ -296,4 +296,13 @@
     public static boolean ovfStoreOnAnyDomain(Version version) {
         return supportedInConfig(ConfigValues.OvfStoreOnAnyDomain, version);
     }
+
+    /**
+     * @param version
+     *          Compatibility version to check for.
+     * @return  <code>true</code> if iSCSI multipathing is supported for the 
given version.
+     */
+    public static boolean isIscsiMultipathingSupported(Version version) {
+        return supportedInConfig(ConfigValues.IscsiMultipathingSupported, 
version);
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
index 889b559..7677b6c 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
@@ -1678,5 +1678,9 @@
     @DefaultValueAttribute("2")
     StorageDomainOvfStoreCount,
 
+    @TypeConverterAttribute(Boolean.class)
+    @DefaultValueAttribute("true")
+    IscsiMultipathingSupported,
+
     Invalid;
 }
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 45bd4ad..fb46f72 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
@@ -118,7 +118,8 @@
     IsMigrationSupported(ConfigAuthType.User),
     IsMemorySnapshotSupported(ConfigAuthType.User),
     IsSuspendSupported(ConfigAuthType.User),
-    SerialNumberPolicySupported;
+    SerialNumberPolicySupported,
+    IscsiMultipathingSupported;
 
     public static enum ConfigAuthType {
         Admin,
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
index 815d1da..2b1976c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
@@ -22,6 +22,7 @@
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.interfaces.SearchType;
 import org.ovirt.engine.core.common.mode.ApplicationMode;
+import org.ovirt.engine.core.common.queries.ConfigurationValues;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.SearchParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
@@ -907,24 +908,31 @@
     }
 
     private void updateIscsiBondListAvailability(StoragePool storagePool) {
-        
AsyncDataProvider.getStorageConnectionsByDataCenterIdAndStorageType(new 
AsyncQuery(this, new INewAsyncCallback() {
+        boolean iscsiBondSupported = (Boolean) 
AsyncDataProvider.getConfigValuePreConverted(
+                ConfigurationValues.IscsiMultipathingSupported,
+                storagePool.getcompatibility_version().getValue()
+        );
 
-            @Override
-            public void onSuccess(Object model, Object returnValue) {
-                boolean hasIscsiStorage = false;
+        if (iscsiBondSupported) {
+            
AsyncDataProvider.getStorageConnectionsByDataCenterIdAndStorageType(new 
AsyncQuery(this, new INewAsyncCallback() {
 
-                ArrayList<StorageServerConnections> connections = 
(ArrayList<StorageServerConnections>) returnValue;
+                @Override
+                public void onSuccess(Object model, Object returnValue) {
+                    boolean hasIscsiStorage = false;
 
-                for (StorageServerConnections connection : connections) {
-                    if (connection.getstorage_type() == StorageType.ISCSI) {
-                        hasIscsiStorage = true;
-                        break;
+                    ArrayList<StorageServerConnections> connections = 
(ArrayList<StorageServerConnections>) returnValue;
+
+                    for (StorageServerConnections connection : connections) {
+                        if (connection.getstorage_type() == StorageType.ISCSI) 
{
+                            hasIscsiStorage = true;
+                            break;
+                        }
                     }
-                }
 
-                iscsiBondListModel.setIsAvailable(hasIscsiStorage);
-            }
-        }), storagePool.getId(), StorageType.ISCSI);
+                    iscsiBondListModel.setIsAvailable(hasIscsiStorage);
+                }
+            }), storagePool.getId(), StorageType.ISCSI);
+        }
     }
 
     @Override
diff --git a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql 
b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
index e623f56..04b5948 100644
--- a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
+++ b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
@@ -233,12 +233,18 @@
 select fn_db_add_config_value('SerialNumberPolicySupported','false','3.2');
 select fn_db_add_config_value('SerialNumberPolicySupported','false','3.3');
 select fn_db_add_config_value('SerialNumberPolicySupported','false','3.4');
+
 select fn_db_add_config_value('OvfStoreOnAnyDomain','false','3.0');
 select fn_db_add_config_value('OvfStoreOnAnyDomain','false','3.1');
 select fn_db_add_config_value('OvfStoreOnAnyDomain','false','3.2');
 select fn_db_add_config_value('OvfStoreOnAnyDomain','false','3.3');
 select fn_db_add_config_value('OvfStoreOnAnyDomain','false','3.4');
 
+select fn_db_add_config_value('IscsiMultipathingSupported','false','3.0');
+select fn_db_add_config_value('IscsiMultipathingSupported','false','3.1');
+select fn_db_add_config_value('IscsiMultipathingSupported','false','3.2');
+select fn_db_add_config_value('IscsiMultipathingSupported','false','3.3');
+
 -- by default use no proxy
 select fn_db_add_config_value('SpiceProxyDefault','','general');
 


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

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

Reply via email to