Maor Lipchuk has uploaded a new change for review. Change subject: core[WIP]: Add query to get Storage Domains for targets ......................................................................
core[WIP]: Add query to get Storage Domains for targets Adding a query for importing block domain WIP: Currently returns a mock of all the domains, and all the targets retrieved from the GUI Change-Id: Ib7606d294afc3f56148f2c591259f6564bb9aa1b Signed-off-by: Maor Lipchuk <mlipc...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainsAndTargetsQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdsAndIqnQueryParameters.java 3 files changed, 93 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/29028/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainsAndTargetsQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainsAndTargetsQuery.java new file mode 100644 index 0000000..180283f --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainsAndTargetsQuery.java @@ -0,0 +1,59 @@ +package org.ovirt.engine.core.bll; + +import java.util.ArrayList; +import java.util.List; + +import org.ovirt.engine.core.common.businessentities.LUNs; +import org.ovirt.engine.core.common.businessentities.SANState; +import org.ovirt.engine.core.common.businessentities.StorageDomain; +import org.ovirt.engine.core.common.businessentities.StorageDomainStatic; +import org.ovirt.engine.core.common.businessentities.StorageServerConnections; +import org.ovirt.engine.core.common.queries.VdsAndIqnQueryParameters; +import org.ovirt.engine.core.common.utils.Pair; +import org.ovirt.engine.core.common.vdscommands.GetVGInfoVDSCommandParameters; +import org.ovirt.engine.core.common.vdscommands.HSMGetStorageDomainInfoVDSCommandParameters; +import org.ovirt.engine.core.common.vdscommands.VDSCommandType; +import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; + +public class GetStorageDomainsAndTargetsQuery<P extends VdsAndIqnQueryParameters> extends QueriesCommandBase<P> { + public GetStorageDomainsAndTargetsQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + List<StorageDomain> storageDomainList = new ArrayList<>(); + List<StorageServerConnections> succeededStorageServerConnections = new ArrayList<>(); + if (getParameters().getStorageServerConnections() != null) { + for (StorageServerConnections storageConnection : getParameters().getStorageServerConnections()) { + VDSReturnValue returnValue = + Backend.getInstance() + .getResourceManager() + .RunVdsCommand(VDSCommandType.GetVGInfo, + new GetVGInfoVDSCommandParameters(getParameters().getVdsId(), + storageConnection.getconnection())); + if (returnValue.getSucceeded()) { + @SuppressWarnings("unchecked") + final ArrayList<LUNs> luns = (ArrayList<LUNs>) returnValue.getReturnValue(); + LUNs lun = luns.get(0); + @SuppressWarnings("unchecked") + Pair<StorageDomainStatic, SANState> domainFromIrs = + (Pair<StorageDomainStatic, SANState>) Backend.getInstance() + .getResourceManager() + .RunVdsCommand(VDSCommandType.HSMGetStorageDomainInfo, + new HSMGetStorageDomainInfoVDSCommandParameters(getParameters().getVdsId(), + lun.getStorageDomainId())) + .getReturnValue(); + succeededStorageServerConnections.add(storageConnection); + } + } + // TODO: Mock, it should be removed after we will get all Storage Domains. + storageDomainList = getDbFacade().getStorageDomainDao().getAll(); + } + Pair<List<StorageDomain>, List<StorageServerConnections>> succeededStorageServerConnectionsAndStorageDomains = + new Pair<>(); + succeededStorageServerConnectionsAndStorageDomains.setFirst(storageDomainList); + succeededStorageServerConnectionsAndStorageDomains.setSecond(succeededStorageServerConnections); + getQueryReturnValue().setReturnValue(succeededStorageServerConnectionsAndStorageDomains); + } +} 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 1bd530a..c1b924a 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 @@ -11,6 +11,7 @@ GetAllVmsForUser(VdcQueryAuthType.User), GetUnregisteredVms, GetUnregisteredVmTemplates, + GetStorageDomainsAndTargets, GetVmsRunningOnOrMigratingToVds, GetVmsByStorageDomain, GetVmsByInstanceTypeId, diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdsAndIqnQueryParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdsAndIqnQueryParameters.java new file mode 100644 index 0000000..08781dc --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdsAndIqnQueryParameters.java @@ -0,0 +1,33 @@ +package org.ovirt.engine.core.common.queries; + +import java.util.List; + +import org.ovirt.engine.core.common.businessentities.StorageServerConnections; +import org.ovirt.engine.core.compat.Guid; + +public class VdsAndIqnQueryParameters extends VdcQueryParametersBase { + private static final long serialVersionUID = 896685699678878292L; + + private List<StorageServerConnections> storageServerConnections; + private Guid vdsId; + + public VdsAndIqnQueryParameters() { + } + + public List<StorageServerConnections> getStorageServerConnections() { + return storageServerConnections; + } + + public void setStorageServerConnections(List<StorageServerConnections> storageServerConnections) { + this.storageServerConnections = storageServerConnections; + } + + public Guid getVdsId() { + return vdsId; + } + + public void setVdsId(Guid vdsId) { + this.vdsId = vdsId; + } + +} -- To view, visit http://gerrit.ovirt.org/29028 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib7606d294afc3f56148f2c591259f6564bb9aa1b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Maor Lipchuk <mlipc...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches