Ramesh N has uploaded a new change for review. Change subject: gluster: bll command to list storage devices ......................................................................
gluster: bll command to list storage devices BLL command to list all the storage devices in the given host. Change-Id: Ie1bb0481bd2b34654c28c5990441d1f6f5302ec2 Signed-off-by: Ramesh Nachimuthu <[email protected]> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetStorageDevicesQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java 3 files changed, 58 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/14/35314/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetStorageDevicesQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetStorageDevicesQuery.java new file mode 100644 index 0000000..7e93ea2 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetStorageDevicesQuery.java @@ -0,0 +1,55 @@ +package org.ovirt.engine.core.bll.gluster; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.ovirt.engine.core.bll.Backend; +import org.ovirt.engine.core.bll.QueriesCommandBase; +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.gluster.StorageDeviceInfo; +import org.ovirt.engine.core.common.interfaces.VDSBrokerFrontend; +import org.ovirt.engine.core.common.queries.VdsIdParametersBase; +import org.ovirt.engine.core.common.vdscommands.VDSCommandType; +import org.ovirt.engine.core.common.vdscommands.VdsIdVDSCommandParametersBase; + +public class GetStorageDevicesQuery<P extends VdsIdParametersBase> extends QueriesCommandBase<P> { + + Set<String> excludedTypes = new HashSet<String>(Arrays.asList("LVM_PV", "LVM_LV")); + private static final String ORGIN_PRIMORDIAL = "Primordial"; + + public GetStorageDevicesQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + VDS vds = getDbFacade().getVdsDao().get(getParameters().getVdsId()); + // Get Device List + VDSBrokerFrontend vdsBrokerFrontend = getVdsBroker(); + VdsIdVDSCommandParametersBase parameters = new VdsIdVDSCommandParametersBase( + getParameters().getVdsId()); + List<StorageDeviceInfo> storageDevices = (List<StorageDeviceInfo>) vdsBrokerFrontend.RunVdsCommand( + VDSCommandType.GetStorageDeviceList, parameters).getReturnValue(); + getQueryReturnValue().setReturnValue(filterUnUsedDisks(storageDevices)); + + } + + private List<StorageDeviceInfo> filterUnUsedDisks(List<StorageDeviceInfo> allDisks) { + List<StorageDeviceInfo> unUsedDisks = new ArrayList<StorageDeviceInfo>(); + for (StorageDeviceInfo disk : allDisks) { + if (disk.getFileSystem().isEmpty() && disk.getPartitions().isEmpty() + && !excludedTypes.contains(disk.getType()) && ORGIN_PRIMORDIAL.equals(disk.getOrigin())) { + unUsedDisks.add(disk); + } + } + return unUsedDisks; + } + + protected VDSBrokerFrontend getVdsBroker() { + return Backend.getInstance().getResourceManager(); + } +} + diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java index 0fca89b..0e18b0a 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java @@ -381,6 +381,8 @@ USER_FORCE_SELECTED_SPM_STOP_FAILED(4096, AuditLogSeverity.ERROR), GLUSTER_GEOREP_SESSION_DELETED_FROM_CLI(4097, AuditLogSeverity.WARNING), GLUSTER_GEOREP_SESSION_DETECTED_FROM_CLI(4098, AuditLogSeverity.WARNING), + GET_STORAGE_DEVICES(4099), + GET_STORAGE_DEVICES_FAILED(4100, AuditLogSeverity.ERROR), USER_FORCE_SELECTED_SPM(159), USER_VDS_RESTART(41), USER_FAILED_VDS_RESTART(107, AuditLogSeverity.ERROR), 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 a35fde4..d901b1a 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 @@ -334,6 +334,7 @@ GetGlusterVolumeGeoRepSessions, GetGlusterVolumeRemoveBricksStatus, GetGlusterVolumeByTaskId, + GetStorageDevices, GetDefaultConfigurationVersion(VdcQueryAuthType.User), OsRepository(VdcQueryAuthType.User), -- To view, visit http://gerrit.ovirt.org/35314 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie1bb0481bd2b34654c28c5990441d1f6f5302ec2 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ramesh N <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
