Sergey Gotliv has uploaded a new change for review.

Change subject: engine: Only iSCSI storage connections are viable for iSCSI Bond
......................................................................

engine: Only iSCSI storage connections are viable for iSCSI Bond

iSCSI Bond is the new managed entity introduced in 3.4 in order to
configure iSCSI multipathing. This entity is configured based on iSCSI
storage connections therefore only connections of that type should be
presented to the user when it configures the iSCSI Bond in UI.

Change-Id: Iae30db6aa0c5d2989e9e31566d6555d70259799e
Signed-off-by: Sergey Gotliv <[email protected]>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetConnectionsByDataCenterAndStorageTypeQuery.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetConnectionsByDataCenterAndStorageTypeParameters.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.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/datacenters/DataCenterListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java
6 files changed, 54 insertions(+), 9 deletions(-)


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

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetConnectionsByDataCenterAndStorageTypeQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetConnectionsByDataCenterAndStorageTypeQuery.java
new file mode 100644
index 0000000..0a0d7a6
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetConnectionsByDataCenterAndStorageTypeQuery.java
@@ -0,0 +1,19 @@
+package org.ovirt.engine.core.bll.storage;
+
+import org.ovirt.engine.core.bll.QueriesCommandBase;
+import 
org.ovirt.engine.core.common.queries.GetConnectionsByDataCenterAndStorageTypeParameters;
+
+public class GetConnectionsByDataCenterAndStorageTypeQuery<P extends 
GetConnectionsByDataCenterAndStorageTypeParameters>
+        extends QueriesCommandBase<P> {
+
+    public GetConnectionsByDataCenterAndStorageTypeQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        getQueryReturnValue().setReturnValue(
+                getDbFacade().getStorageServerConnectionDao()
+                        
.getConnectableStorageConnectionsByStorageType(getParameters().getId(), 
getParameters().getStorageType()));
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetConnectionsByDataCenterAndStorageTypeParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetConnectionsByDataCenterAndStorageTypeParameters.java
new file mode 100644
index 0000000..0bab7b6
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetConnectionsByDataCenterAndStorageTypeParameters.java
@@ -0,0 +1,22 @@
+package org.ovirt.engine.core.common.queries;
+
+import org.ovirt.engine.core.common.businessentities.StorageType;
+import org.ovirt.engine.core.compat.Guid;
+
+public class GetConnectionsByDataCenterAndStorageTypeParameters extends 
IdQueryParameters {
+
+    private static final long serialVersionUID = 3630182261969029480L;
+
+    private StorageType storageType;
+
+    public GetConnectionsByDataCenterAndStorageTypeParameters() {}
+
+    public GetConnectionsByDataCenterAndStorageTypeParameters(Guid 
dataCenterId, StorageType storageType) {
+        super(dataCenterId);
+        this.storageType = storageType;
+    }
+
+    public StorageType getStorageType() {
+        return storageType;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index da459ca..cbc567d 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -210,7 +210,7 @@
     GetStorageServerConnectionsForDomain,
     GetStoragePoolById(VdcQueryAuthType.User),
     GetStorageDomainsByConnection,
-    GetConnectableStorageServerConnectionsByStoragePoolId,
+    GetConnectionsByDataCenterAndStorageType,
     GetStorageDomainsByStoragePoolId(VdcQueryAuthType.User),
     GetStorageDomainsByImageId,
     GetVgList,
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 1843b8a..56376e6 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
@@ -88,6 +88,7 @@
 import org.ovirt.engine.core.common.queries.GetAllProvidersParameters;
 import org.ovirt.engine.core.common.queries.GetAllServerCpuListParameters;
 import org.ovirt.engine.core.common.queries.GetConfigurationValueParameters;
+import 
org.ovirt.engine.core.common.queries.GetConnectionsByDataCenterAndStorageTypeParameters;
 import 
org.ovirt.engine.core.common.queries.GetDataCentersWithPermittedActionOnClustersParameters;
 import org.ovirt.engine.core.common.queries.GetDomainListParameters;
 import 
org.ovirt.engine.core.common.queries.GetEntitiesWithPermittedActionParameters;
@@ -2509,16 +2510,18 @@
         
Frontend.getInstance().runQuery(VdcQueryType.GetNetworksByDataCenterId, params, 
aQuery);
     }
 
-    public static void getAllDataCenterStorageConnections(AsyncQuery aQuery, 
Guid storagePoolId) {
+    public static void 
getStorageConnectionsByDataCenterIdAndStorageType(AsyncQuery aQuery,
+                                                                         Guid 
storagePoolId,
+                                                                         
StorageType storageType) {
         aQuery.converterCallback = new IAsyncConverter() {
             @Override
             public Object Convert(Object source, AsyncQuery _asyncQuery)
             {
-                return source != null ? (ArrayList<StorageServerConnections>) 
source : new ArrayList<StorageServerConnections>();
+                return source;
             }
         };
-        IdQueryParameters params = new IdQueryParameters(storagePoolId);
-        
Frontend.getInstance().runQuery(VdcQueryType.GetConnectableStorageServerConnectionsByStoragePoolId,
 params, aQuery);
+        GetConnectionsByDataCenterAndStorageTypeParameters params = new 
GetConnectionsByDataCenterAndStorageTypeParameters(storagePoolId, storageType);
+        
Frontend.getInstance().runQuery(VdcQueryType.GetConnectionsByDataCenterAndStorageType,
 params, aQuery);
     }
 
     public static void getRedirectServletReportsPage(AsyncQuery aQuery) {
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 87ac887..3043522 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
@@ -908,7 +908,7 @@
     }
 
     private void updateIscsiBondListAvailability(StoragePool storagePool) {
-        AsyncDataProvider.getAllDataCenterStorageConnections(new 
AsyncQuery(this, new INewAsyncCallback() {
+        
AsyncDataProvider.getStorageConnectionsByDataCenterIdAndStorageType(new 
AsyncQuery(this, new INewAsyncCallback() {
 
             @Override
             public void onSuccess(Object model, Object returnValue) {
@@ -925,7 +925,7 @@
 
                 iscsiBondListModel.setIsAvailable(hasIscsiStorage);
             }
-        }), storagePool.getId());
+        }), storagePool.getId(), StorageType.ISCSI);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java
index 5297b7e..8457dbc 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/IscsiBondModel.java
@@ -13,6 +13,7 @@
 import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.IscsiBond;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
+import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
@@ -88,7 +89,7 @@
     }
 
     private void initializeStorageTargetsList() {
-        AsyncDataProvider.getAllDataCenterStorageConnections(new 
AsyncQuery(this, new INewAsyncCallback() {
+        
AsyncDataProvider.getStorageConnectionsByDataCenterIdAndStorageType(new 
AsyncQuery(this, new INewAsyncCallback() {
             @Override
             public void onSuccess(Object target, Object returnValue) {
                 ArrayList<StorageServerConnections> selected = new 
ArrayList<StorageServerConnections>();
@@ -106,7 +107,7 @@
                 model.getStorageTargets().setItems(conns);
                 model.getStorageTargets().setSelectedItems(selected);
             }
-        }), getStoragePool().getId());
+        }), getStoragePool().getId(), StorageType.ISCSI);
     }
 
     @Override


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

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

Reply via email to