summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.client
diff options
context:
space:
mode:
Diffstat (limited to 'src/com.gluster.storage.management.client')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java33
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java94
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java3
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java6
4 files changed, 101 insertions, 35 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java
new file mode 100644
index 00000000..ad258797
--- /dev/null
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java
@@ -0,0 +1,33 @@
+package com.gluster.storage.management.client;
+
+import java.util.List;
+
+import com.gluster.storage.management.core.constants.RESTConstants;
+import com.gluster.storage.management.core.model.Alert;
+import com.gluster.storage.management.core.model.AlertListResponse;
+
+public class AlertsClient extends AbstractClient {
+
+ public AlertsClient(String securityToken) {
+ super(securityToken);
+ }
+
+ @Override
+ public String getResourceName() {
+ return RESTConstants.RESOURCE_PATH_ALERTS;
+ }
+
+ @SuppressWarnings("rawtypes")
+ private Object fetchAllAlerts(Class responseClass) {
+ return fetchResource( responseClass );
+ }
+
+ public List<Alert> getAllAlerts() {
+ AlertListResponse response = (AlertListResponse) fetchAllAlerts(AlertListResponse.class);
+ return response.getAlerts();
+ }
+}
+
+
+
+
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
index de0112db..ee3d418d 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
@@ -24,25 +24,24 @@ import java.util.Date;
import java.util.List;
import com.gluster.storage.management.core.model.Cluster;
+import com.gluster.storage.management.core.model.ClusterListener;
import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.model.Disk.DISK_STATUS;
-import com.gluster.storage.management.core.model.Event.EVENT_TYPE;
import com.gluster.storage.management.core.model.Entity;
import com.gluster.storage.management.core.model.Event;
+import com.gluster.storage.management.core.model.Event.EVENT_TYPE;
import com.gluster.storage.management.core.model.GlusterDataModel;
import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
-import com.gluster.storage.management.core.model.ClusterListener;
import com.gluster.storage.management.core.model.LogMessage;
import com.gluster.storage.management.core.model.NetworkInterface;
-import com.gluster.storage.management.core.model.RunningTask;
import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.RunningTaskStatus;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.TRANSPORT_TYPE;
import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
+import com.gluster.storage.management.core.model.VolumeListResponse;
+import com.gluster.storage.management.client.VolumesClient;
public class GlusterDataModelManager {
// private Server discoveredServer1, discoveredServer2, discoveredServer3, discoveredServer4, discoveredServer5;
@@ -107,20 +106,25 @@ public class GlusterDataModelManager {
public void initializeModel(String securityToken) {
setSecurityToken(securityToken);
- // Create the dummy data model for demo
- model = new GlusterDataModel("Clusters");
- Cluster cluster = new Cluster("Home", model);
-
+ Cluster cluster = model.getCluster();
+ VolumesClient volumeClient = new VolumesClient(securityToken);
+
initializeGlusterServers(cluster);
- initializeVolumes(cluster);
+
+ // initializeVolumes(cluster);
+ VolumeListResponse response = volumeClient.getAllVolumes();
+ cluster.setVolumes( response.getVolumes());
+
initializeAutoDiscoveredServers(cluster);
initializeDisks();
- addDisksToVolumes();
- addVolumeOptions();
+ // addDisksToVolumes();
+ // addVolumeOptions();
createDummyLogMessages();
initializeRunningTasks(cluster);
+
+ initializeAlerts(cluster);
model.addCluster(cluster);
}
@@ -201,24 +205,24 @@ public class GlusterDataModelManager {
}
private void addDisksToVolumes() {
- volume1.addDisk(s1da);
+ volume1.addDisk("server1:sda");
- volume2.addDisk(s2da);
- volume2.addDisk(s1db);
- volume2.addDisk(s3da);
- volume2.addDisk(s4da);
+ volume2.addDisk("server2:sda");
+ volume2.addDisk("server1:sdb");
+ volume2.addDisk("server3:sda");
+ volume2.addDisk("server4:sda");
- volume3.addDisk(s2db);
- volume3.addDisk(s4da);
- volume3.addDisk(s5da);
+ volume3.addDisk("server2:sdb");
+ volume3.addDisk("server4:sda");
+ volume3.addDisk("server5:sda");
- volume4.addDisk(s1da);
- volume4.addDisk(s3da);
- volume4.addDisk(s4da);
- volume4.addDisk(s5db);
+ volume4.addDisk("server1:sda");
+ volume4.addDisk("server3:sda");
+ volume4.addDisk("server4:sda");
+ volume4.addDisk("server5:sdb");
- volume5.addDisk(s2da);
- volume5.addDisk(s5db);
+ volume5.addDisk("server2:sda");
+ volume5.addDisk("server5:sdb");
}
private void initializeGlusterServers(Cluster cluster) {
@@ -247,6 +251,10 @@ public class GlusterDataModelManager {
public void initializeRunningTasks(Cluster cluster) {
cluster.setRunningTasks(new RunningTaskClient(securityToken).getRunningTasks());
}
+
+ public void initializeAlerts(Cluster cluster) {
+ cluster.setAlerts(new AlertsClient(securityToken).getAllAlerts());
+ }
public List<LogMessage> createDummyLogMessages() {
addMessagesForDisk(logMessages, s1da);
@@ -264,20 +272,42 @@ public class GlusterDataModelManager {
public static List<LogMessage> getDummyLogMessages() {
return logMessages;
}
+
+ public Disk getVolumeDisk(String volumeDisk) {
+ List<Disk> allDisks = getReadyDisksOfAllServers();
+ String brickInfo[] = volumeDisk.split(":");
+ for( Disk disk: allDisks) {
+ if (disk.getServerName() == brickInfo[0] && disk.getName() == brickInfo[1]) {
+ return disk;
+ }
+ }
+ return null;
+ }
public List<Disk> getReadyDisksOfVolume(Volume volume) {
+ /* TODO: review the logic
+
List<Disk> disks = new ArrayList<Disk>();
for (Disk disk : volume.getDisks()) {
if (disk.isReady()) {
disks.add(disk);
}
}
- return disks;
+ */
+ Disk disk = null;
+ List<Disk> volumeDisks = new ArrayList<Disk>();
+ for (String volumeDisk : volume.getDisks() ) {
+ disk = getVolumeDisk(volumeDisk);
+ if (disk != null && disk.isReady()) {
+ volumeDisks.add(disk);
+ }
+ }
+ return volumeDisks;
}
public List<Disk> getReadyDisksOfAllVolumes() {
List<Disk> disks = new ArrayList<Disk>();
- for (Volume volume : ((Cluster) model.getChildren().get(0)).getVolumes()) {
+ for (Volume volume : model.getCluster().getVolumes()) {
disks.addAll(getReadyDisksOfVolume(volume));
}
return disks;
@@ -290,7 +320,7 @@ public class GlusterDataModelManager {
public List<Disk> getReadyDisksOfAllServersExcluding(List<Disk> excludeDisks) {
List<Disk> disks = new ArrayList<Disk>();
- for (Server server : ((Cluster) model.getChildren().get(0)).getServers()) {
+ for (Server server : model.getCluster().getServers()) {
for (Disk disk : server.getDisks()) {
if (disk.isReady() && !excludeDisks.contains(disk)) {
disks.add(disk);
@@ -309,7 +339,7 @@ public class GlusterDataModelManager {
}
public void addGlusterServer(GlusterServer server) {
- Cluster cluster = (Cluster)model.getChildren().get(0);
+ Cluster cluster = model.getCluster();
cluster.addServer(server);
for(ClusterListener listener : listeners) {
@@ -318,7 +348,7 @@ public class GlusterDataModelManager {
}
public void removeDiscoveredServer(Server server) {
- Cluster cluster = (Cluster)model.getChildren().get(0);
+ Cluster cluster = model.getCluster();
cluster.removeDiscoveredServer(server);
for(ClusterListener listener : listeners) {
@@ -334,7 +364,7 @@ public class GlusterDataModelManager {
}
public void addVolume(Volume volume) {
- Cluster cluster = (Cluster)model.getChildren().get(0);
+ Cluster cluster = model.getCluster();
cluster.addVolume(volume);
for(ClusterListener listener : listeners) {
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java
index 9309cdc8..ff728be0 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java
@@ -8,7 +8,6 @@ import com.gluster.storage.management.core.model.RunningTask;
import com.gluster.storage.management.core.model.RunningTaskListResponse;
public class RunningTaskClient extends AbstractClient {
- private static final String RESOURCE_NAME = RESTConstants.RESOURCE_PATH_RUNNING_TASKS;
public RunningTaskClient(String securityToken) {
super(securityToken);
@@ -16,7 +15,7 @@ public class RunningTaskClient extends AbstractClient {
@Override
public String getResourceName() {
- return RESOURCE_NAME;
+ return RESTConstants.RESOURCE_PATH_RUNNING_TASKS;
}
@SuppressWarnings("rawtypes")
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
index 03e83a31..28f23c1b 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
@@ -29,6 +29,7 @@ import com.gluster.storage.management.core.model.Disk.DISK_STATUS;
import com.gluster.storage.management.core.model.GenericResponse;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.core.model.VolumeListResponse;
import com.sun.jersey.api.representation.Form;
public class VolumesClient extends AbstractClient {
@@ -66,7 +67,10 @@ public class VolumesClient extends AbstractClient {
public Status stopVolume(String volumeName) {
return performOperation(volumeName, RESTConstants.FORM_PARAM_VALUE_STOP);
}
-
+
+ public VolumeListResponse getAllVolumes() {
+ return (VolumeListResponse) fetchResource(VolumeListResponse.class);
+ }
public static void main(String[] args) {
UsersClient usersClient = new UsersClient();