summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.client
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-05-20 15:10:54 +0530
committerDhandapani <dhandapani@gluster.com>2011-05-20 15:10:54 +0530
commitdfc27f51da469160e50e20d8ff59e714b5942546 (patch)
tree7e85da4a3b24f150fde36ada059269ddd969e635 /src/com.gluster.storage.management.client
parentee1867b0fbf7b66f82082c20c2d06238a2c6a6b9 (diff)
Story #77: Change "Disk" in volume context to "Brick"
Diffstat (limited to 'src/com.gluster.storage.management.client')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java45
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java66
2 files changed, 64 insertions, 47 deletions
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 41d76e58..0051d427 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
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Map.Entry;
import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
+import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Cluster;
import com.gluster.storage.management.core.model.ClusterListener;
import com.gluster.storage.management.core.model.Disk;
@@ -106,7 +107,7 @@ public class GlusterDataModelManager {
private void addDiscoveredServer(List<Server> servers, Entity parent, String name, int numOfCPUs, double cpuUsage,
double totalMemory, double memoryInUse, double totalDiskSpace, double diskSpaceInUse) {
Server server = new Server(name, parent, numOfCPUs, cpuUsage, totalMemory, memoryInUse);
- server.addDisk(new Disk(server, "sda", totalDiskSpace, diskSpaceInUse, DISK_STATUS.READY));
+ server.addDisk(new Disk(server, "sda", "/export/md1", totalDiskSpace, diskSpaceInUse, DISK_STATUS.READY));
addNetworkInterface(server, "eth0");
servers.add(server);
@@ -172,21 +173,21 @@ public class GlusterDataModelManager {
}
private void initializeDisks() {
- s1da = new Disk(server1, "sda", 100d, 80d, DISK_STATUS.READY);
- s1db = new Disk(server1, "sdb", 100d, 67.83, DISK_STATUS.READY);
+ s1da = new Disk(server1, "sda", "/export/md0", 100d, 80d, DISK_STATUS.READY);
+ s1db = new Disk(server1, "sdb", "/export/md1", 100d, 67.83, DISK_STATUS.READY);
- s2da = new Disk(server2, "sda", 200d, 157.12, DISK_STATUS.READY);
- s2db = new Disk(server2, "sdb", 200d, 182.27, DISK_STATUS.READY);
- s2dc = new Disk(server2, "sdc", 200d, -1d, DISK_STATUS.UNINITIALIZED);
- s2dd = new Disk(server2, "sdd", 200d, 124.89, DISK_STATUS.READY);
+ s2da = new Disk(server2, "sda", "/export/md0", 200d, 157.12, DISK_STATUS.READY);
+ s2db = new Disk(server2, "sdb", "/export/md1", 200d, 182.27, DISK_STATUS.READY);
+ s2dc = new Disk(server2, "sdc", "/export/md0", 200d, -1d, DISK_STATUS.UNINITIALIZED);
+ s2dd = new Disk(server2, "sdd", "/export/md1", 200d, 124.89, DISK_STATUS.READY);
// disk name unavailable since server is offline
- s3da = new Disk(server3, "NA", -1d, -1d, DISK_STATUS.OFFLINE);
+ s3da = new Disk(server3, "NA", "NA", -1d, -1d, DISK_STATUS.OFFLINE);
- s4da = new Disk(server4, "sda", 100d, 85.39, DISK_STATUS.READY);
+ s4da = new Disk(server4, "sda", "/export/md0", 100d, 85.39, DISK_STATUS.READY);
- s5da = new Disk(server5, "sda", 100d, 92.83, DISK_STATUS.READY);
- s5db = new Disk(server5, "sdb", 200d, 185.69, DISK_STATUS.READY);
+ s5da = new Disk(server5, "sda", "/export/md1", 100d, 92.83, DISK_STATUS.READY);
+ s5db = new Disk(server5, "sdb", "/export/md1", 200d, 185.69, DISK_STATUS.READY);
}
private void addDisksToServers() {
@@ -307,7 +308,27 @@ public class GlusterDataModelManager {
}
return volumeDisks;
}
-
+
+
+ public List<Brick> getOnlineBricks(Volume volume) {
+ List<Brick> onlineBricks = new ArrayList<Brick>();
+ for(Brick brick : volume.getBricks()) {
+ if (isOnlineDisk(brick.getDiskName())) {
+ onlineBricks.add(brick);
+ }
+ }
+ return onlineBricks;
+ }
+
+ public boolean isOnlineDisk(String diskName) {
+ for( Disk disk : getReadyDisksOfAllServers() ) {
+ if (disk.getName().equals(diskName) && disk.isReady()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public List<Disk> getReadyDisksOfAllVolumes() {
List<Disk> disks = new ArrayList<Disk>();
for (Volume volume : model.getCluster().getVolumes()) {
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 c0ce8620..b407296e 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
@@ -92,7 +92,7 @@ public class VolumesClient extends AbstractClient {
}
public Status deleteVolume(Volume volume, boolean deleteOption) {
- MultivaluedMap<String, String> queryParams = prepareGetDeleteVolumeQueryParams(volume.getName(), deleteOption);
+ MultivaluedMap<String, String> queryParams = prepareGetDeleteVolumeQueryParams(volume.getName(), deleteOption);
return (Status) deleteSubResource(volume.getName(), Status.class, queryParams);
}
@@ -100,17 +100,11 @@ public class VolumesClient extends AbstractClient {
return ((VolumeOptionInfoListResponse) fetchSubResource(RESTConstants.SUBRESOURCE_DEFAULT_OPTIONS,
VolumeOptionInfoListResponse.class));
}
-
- public Status addDisks(String volumeName, List<Disk> diskList) {
- String disks = StringUtil.ListToString( GlusterCoreUtil.getQualifiedDiskNames(diskList), ",");
- Form form = new Form();
- form.add(RESTConstants.QUERY_PARAM_DISKS, disks);
- return (Status) postRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
- }
- public Status addDisks(String volumeName, String disks) {
+ public Status addDisks(String volumeName, List<String> brickList) {
+ String bricks = StringUtil.ListToString(brickList, ",");
Form form = new Form();
- form.add(RESTConstants.QUERY_PARAM_DISKS, disks);
+ form.add(RESTConstants.QUERY_PARAM_DISKS, bricks);
return (Status) postRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
}
@@ -133,25 +127,28 @@ public class VolumesClient extends AbstractClient {
* Number of most recent log messages to be fetched (from each disk)
* @return Log Message List response received from the Gluster Management Server.
*/
- public LogMessageListResponse getLogs(String volumeName, String diskName, String severity, Date fromTimestamp, Date toTimestamp, int messageCount) {
+ public LogMessageListResponse getLogs(String volumeName, String diskName, String severity, Date fromTimestamp,
+ Date toTimestamp, int messageCount) {
MultivaluedMap<String, String> queryParams = prepareGetLogQueryParams(diskName, severity, fromTimestamp,
toTimestamp, messageCount);
return (LogMessageListResponse) fetchSubResource(volumeName + "/" + RESTConstants.SUBRESOURCE_LOGS,
queryParams, LogMessageListResponse.class);
}
-
+
public void downloadLogs(String volumeName, String filePath) {
- downloadSubResource((volumeName) + "/" + RESTConstants.SUBRESOURCE_LOGS + "/" + RESTConstants.SUBRESOURCE_DOWNLOAD, filePath);
+ downloadSubResource((volumeName) + "/" + RESTConstants.SUBRESOURCE_LOGS + "/"
+ + RESTConstants.SUBRESOURCE_DOWNLOAD, filePath);
}
-
+
public Status removeBricks(String volumeName, List<Disk> diskList, boolean deleteOption) {
- String disks = StringUtil.ListToString( GlusterCoreUtil.getQualifiedDiskNames(diskList), ",");
+ String disks = StringUtil.ListToString(GlusterCoreUtil.getQualifiedBrickNames(diskList), ",");
MultivaluedMap<String, String> queryParams = prepareGetRemoveBrickQueryParams(volumeName, disks, deleteOption);
return (Status) deleteSubResource(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, queryParams);
}
-
- private MultivaluedMap<String, String> prepareGetRemoveBrickQueryParams(String volumeName, String disks, boolean deleteOption) {
+
+ private MultivaluedMap<String, String> prepareGetRemoveBrickQueryParams(String volumeName, String disks,
+ boolean deleteOption) {
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.add(RESTConstants.QUERY_PARAM_VOLUME_NAME, volumeName);
queryParams.add(RESTConstants.QUERY_PARAM_DISKS, disks);
@@ -165,19 +162,19 @@ public class VolumesClient extends AbstractClient {
queryParams.add(RESTConstants.QUERY_PARAM_DELETE_OPTION, "" + deleteOption);
return queryParams;
}
-
+
private MultivaluedMap<String, String> prepareGetLogQueryParams(String diskName, String severity,
Date fromTimestamp, Date toTimestamp, int messageCount) {
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.add(RESTConstants.QUERY_PARAM_LINE_COUNT, "" + messageCount);
- if(!diskName.equals(CoreConstants.ALL)) {
+ if (!diskName.equals(CoreConstants.ALL)) {
queryParams.add(RESTConstants.QUERY_PARAM_DISK_NAME, diskName);
}
-
+
if (!severity.equals(CoreConstants.ALL)) {
queryParams.add(RESTConstants.QUERY_PARAM_LOG_SEVERITY, severity);
}
-
+
if (fromTimestamp != null) {
queryParams.add(RESTConstants.QUERY_PARAM_FROM_TIMESTAMP,
DateUtil.dateToString(fromTimestamp, CoreConstants.DATE_WITH_TIME_FORMAT));
@@ -190,43 +187,42 @@ public class VolumesClient extends AbstractClient {
return queryParams;
}
- public Status startMigration( String volumeName, String diskFrom, String diskTo) {
+ public Status startMigration(String volumeName, String diskFrom, String diskTo) {
Form form = new Form();
form.add(RESTConstants.FORM_PARAM_VALUE_SOURCE, diskFrom);
form.add(RESTConstants.FORM_PARAM_VALUE_TARGET, diskTo);
form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_START);
-
- return (Status) putRequest( volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+
+ return (Status) putRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
}
-
+
public Status stopMigration(String volumeName, String diskFrom, String diskTo) {
Form form = new Form();
form.add(RESTConstants.FORM_PARAM_VALUE_SOURCE, diskFrom);
form.add(RESTConstants.FORM_PARAM_VALUE_TARGET, diskTo);
form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_STOP);
-
- return (Status) putRequest( volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+
+ return (Status) putRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
}
-
+
public Status pauseMigration(String volumeName, String diskFrom, String diskTo) {
Form form = new Form();
form.add(RESTConstants.FORM_PARAM_VALUE_SOURCE, diskFrom);
form.add(RESTConstants.FORM_PARAM_VALUE_TARGET, diskTo);
form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_PAUSE);
-
- return (Status) putRequest( volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+
+ return (Status) putRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
}
-
+
public Status statusMigration(String volumeName, String diskFrom, String diskTo) {
Form form = new Form();
form.add(RESTConstants.FORM_PARAM_VALUE_SOURCE, diskFrom);
form.add(RESTConstants.FORM_PARAM_VALUE_TARGET, diskTo);
form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_STATUS);
-
- return (Status) putRequest( volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+
+ return (Status) putRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
}
-
-
+
public static void main(String[] args) {
UsersClient usersClient = new UsersClient();
if (usersClient.authenticate("gluster", "gluster").isSuccess()) {