diff options
| author | Dhandapani <dhandapani@gluster.com> | 2011-05-20 15:12:17 +0530 |
|---|---|---|
| committer | Dhandapani <dhandapani@gluster.com> | 2011-05-25 18:03:35 +0530 |
| commit | 5b70e0e1270ba91fef2fe28f50b1fb87cc1e9b27 (patch) | |
| tree | 169be3cab5d4f335369486eb05b73d3f7ae0373a /src/com.gluster.storage.management.core | |
| parent | b321add074a8b8413f9285bac7458a1d4ceea60c (diff) | |
| parent | dfc27f51da469160e50e20d8ff59e714b5942546 (diff) | |
Merge branch 'disk-to-brick'
Diffstat (limited to 'src/com.gluster.storage.management.core')
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; + } } |
