summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.core
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-05-20 15:12:17 +0530
committerDhandapani <dhandapani@gluster.com>2011-05-25 18:03:35 +0530
commit5b70e0e1270ba91fef2fe28f50b1fb87cc1e9b27 (patch)
tree169be3cab5d4f335369486eb05b73d3f7ae0373a /src/com.gluster.storage.management.core
parentb321add074a8b8413f9285bac7458a1d4ceea60c (diff)
parentdfc27f51da469160e50e20d8ff59e714b5942546 (diff)
Merge branch 'disk-to-brick'
Diffstat (limited to 'src/com.gluster.storage.management.core')
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java7
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java90
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Cluster.java9
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Disk.java19
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java23
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java17
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java9
7 files changed, 155 insertions, 19 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java
index c25d186a..1b70b84d 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java
@@ -33,6 +33,7 @@ public class RESTConstants {
public static final String SUBRESOURCE_DISKS = "disks";
+ public static final String FORM_PARAM_DISKS = "disks";
public static final String FORM_PARAM_OPERATION = "operation";
public static final String FORM_PARAM_VALUE_START = "start";
public static final String FORM_PARAM_VALUE_STOP = "stop";
@@ -40,14 +41,16 @@ public class RESTConstants {
public static final String FORM_PARAM_VALUE_STATUS = "status";
public static final String FORM_PARAM_OPTION_KEY = "key";
public static final String FORM_PARAM_OPTION_VALUE = "value";
- public static final String FORM_PARAM_VALUE_SOURCE = "source";
- public static final String FORM_PARAM_VALUE_TARGET = "target";
+ public static final String FORM_PARAM_SOURCE = "source";
+ public static final String FORM_PARAM_TARGET = "target";
+ public static final String FORM_PARAM_BRICKS = "bricks";
public static final String PATH_PARAM_VOLUME_NAME = "volumeName";
public static final String FORM_PARAM_DELETE_OPTION = "value";
public static final String QUERY_PARAM_DISK_NAME = "diskName";
public static final String QUERY_PARAM_DISKS = "disks";
+ public static final String QUERY_PARAM_BRICKS = "bricks";
public static final String QUERY_PARAM_LINE_COUNT = "lineCount";
public static final String QUERY_PARAM_VOLUME_NAME = "volumeName";
public static final String QUERY_PARAM_DELETE_OPTION = "deleteOption";
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java
new file mode 100644
index 00000000..83acb9a3
--- /dev/null
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
+package com.gluster.storage.management.core.model;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+import com.gluster.storage.management.core.utils.StringUtil;
+
+@XmlRootElement
+public class Brick extends Entity {
+ public enum BRICK_STATUS {ONLINE, OFFLINE};
+ private String[] BRICK_STATUS_STR = {"Online", "Offline"};
+
+ private String serverName;
+ private String diskName;
+ private String brickDirectory;
+ private BRICK_STATUS status;
+
+ public Brick() {
+ }
+
+ public BRICK_STATUS getStatus() {
+ return status;
+ }
+
+ public String getStatusStr() {
+ return BRICK_STATUS_STR[getStatus().ordinal()];
+ }
+
+ public void setStatus(BRICK_STATUS status) {
+ this.status = status;
+ }
+
+ public Brick(String serverName, BRICK_STATUS brickStatus, String diskName, String brickDirectory) {
+ setServerName(serverName);
+ setStatus(brickStatus);
+ setDiskName(diskName);
+ setBrickDirectory(brickDirectory);
+ }
+
+ public void setServerName(String serverName) {
+ this.serverName = serverName;
+ }
+
+ public String getServerName() {
+ return serverName;
+ }
+
+ public void setBrickDirectory(String brickDirectory) {
+ this.brickDirectory = brickDirectory;
+ }
+
+ public String getBrickDirectory() {
+ return brickDirectory;
+ }
+
+ public void setDiskName(String diskName) {
+ this.diskName = diskName;
+ }
+
+ public String getDiskName() {
+ return diskName;
+ }
+
+ public String getQualifiedName() {
+ return serverName + ":" + brickDirectory;
+ }
+
+ public boolean filter(String filterString, boolean caseSensitive) {
+ return StringUtil.filterString(getServerName() + getBrickDirectory() + getDiskName(), filterString,
+ caseSensitive);
+ }
+
+}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Cluster.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Cluster.java
index 1a62b293..adeb72dc 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Cluster.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Cluster.java
@@ -139,4 +139,13 @@ public class Cluster extends Entity {
}
return diskSpaceInUse;
}
+
+ public GlusterServer getServer(String serverName) {
+ for(GlusterServer server : servers) {
+ if (server.getName().equals(serverName)) {
+ return server;
+ }
+ }
+ return null;
+ }
} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Disk.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Disk.java
index 9924d596..3bf74426 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Disk.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Disk.java
@@ -18,8 +18,9 @@
*******************************************************************************/
package com.gluster.storage.management.core.model;
+import java.io.File;
+
import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
import com.gluster.storage.management.core.utils.StringUtil;
@@ -32,6 +33,7 @@ public class Disk extends Entity {
private String[] DISK_STATUS_STR = { "Ready", "Uninitialized", "Initializing", "Offline" };
private String serverName;
+ private String mountPoint;
private Double space;
private Double spaceInUse;
private DISK_STATUS status;
@@ -88,9 +90,18 @@ public class Disk extends Entity {
this.serverName = serverName;
}
- public Disk(Server server, String name, Double space, Double spaceInUse, DISK_STATUS status) {
+ public void setMountPoint(String mountPoint) {
+ this.mountPoint = mountPoint;
+ }
+
+ public String getMountPoint() {
+ return mountPoint;
+ }
+
+ public Disk(Server server, String name, String mountPoint, Double space, Double spaceInUse, DISK_STATUS status) {
super(name, server);
setServerName(server != null ? server.getName() : "");
+ setMountPoint(mountPoint);
setSpace(space);
setSpaceInUse(spaceInUse);
setStatus(status);
@@ -104,4 +115,8 @@ public class Disk extends Entity {
public String getQualifiedName() {
return getServerName() + ":" + getName();
}
+
+ public String getQualifiedBrickName(String volumeName) {
+ return getServerName() + ":" + getMountPoint() + File.separator + volumeName;
+ }
}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java
index 09137014..979fe260 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java
@@ -73,7 +73,7 @@ public class GlusterDummyModel {
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/md0", totalDiskSpace, diskSpaceInUse, DISK_STATUS.READY));
addNetworkInterface(server, "eth0");
servers.add(server);
@@ -140,20 +140,21 @@ public class GlusterDummyModel {
}
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);
- s3da = new Disk(server3, "NA", -1d, -1d, DISK_STATUS.OFFLINE); // disk name unavailable since server is offline
+ // disk name unavailable since server is offline
+ s3da = new Disk(server3, "NA", "NA", -1d, -1d, DISK_STATUS.OFFLINE); // disk name unavailable since server is 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() {
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java
index 41ed5a25..cf12b0d7 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java
@@ -71,7 +71,7 @@ public class Volume extends Entity {
private double totalDiskSpace = 0;
private List<String> disks = new ArrayList<String>();
- private List<String> bricks = new ArrayList<String>();
+ private List<Brick> bricks = new ArrayList<Brick>();
public Volume() {
}
@@ -225,15 +225,24 @@ public class Volume extends Entity {
totalDiskSpace = 0;
}
- public void addBrick(String brick) {
+ public void addBrick(Brick brick) {
bricks.add(brick);
}
- public void removeBrick(String brick) {
+ public void addBricks(List<Brick> bricks) {
+ bricks.addAll(bricks);
+ }
+
+
+ public void setBricks(List<Brick> bricks) {
+ this.bricks = bricks;
+ }
+
+ public void removeBrick(Brick brick) {
bricks.remove(brick);
}
- public List<String> getBricks() {
+ public List<Brick> getBricks() {
return bricks;
}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java
index 9e3084fb..c238cad7 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java
@@ -23,6 +23,7 @@ package com.gluster.storage.management.core.utils;
import java.util.ArrayList;
import java.util.List;
+import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Disk;
@@ -35,4 +36,12 @@ public class GlusterCoreUtil {
}
return qualifiedDiskNames;
}
+
+ public static final List<String> getQualifiedBrickList(List<Brick> bricks) {
+ List<String> qualifiedBricks = new ArrayList<String>();
+ for (Brick brick : bricks) {
+ qualifiedBricks.add(brick.getQualifiedName());
+ }
+ return qualifiedBricks;
+ }
}