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
