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

Reply via email to