summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.server
diff options
context:
space:
mode:
authorSelvam <selvam@gluster.com>2011-04-29 15:19:50 +0530
committerSelvam <selvam@gluster.com>2011-04-29 15:19:50 +0530
commit1a2533deb10ed4dc0c4d910ce830a7065b845e68 (patch)
treee9c83f01d03f0c959cfb65cb0d7a15935b53b543 /src/com.gluster.storage.management.server
parent3149b18d24539f5680848c25064f447c15bbbcc4 (diff)
parent3cc0768e0baf35ea140262e4f646cbdb9a3b8b84 (diff)
Merge branch 'expand-volume'
Conflicts: src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java src/com.gluster.storage.management.gui/plugin.xml src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddDiskAction.java src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskPage.java src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
Diffstat (limited to 'src/com.gluster.storage.management.server')
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java5
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java28
2 files changed, 20 insertions, 13 deletions
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java
index d3bdec8b..457776cc 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java
@@ -226,7 +226,7 @@ public class VolumesResource {
status = new Status(e);
}
if (status.isSuccess()) {
- String brickDir = status.getMessage().trim().replace(CoreConstants.NEWLINE, "");
+ String brickDir = status.getMessage().trim();
bricks.add(serverName + ":" + brickDir);
} else {
// Brick preparation failed. Cleanup directories already created and return failure status
@@ -330,7 +330,8 @@ public class VolumesResource {
Status status = createDirectories(diskList, volumeName);
if (status.isSuccess()) {
List<String> bricks = Arrays.asList(status.getMessage().split(" "));
- status = glusterUtil.addDisks(volumeName, bricks);
+ status = glusterUtil.addBricks(volumeName, bricks);
+
if (!status.isSuccess()) {
Status cleanupStatus = cleanupDirectories(diskList, volumeName, diskList.size());
if (!cleanupStatus.isSuccess()) {
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
index aaedb3d4..30f73595 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
@@ -54,7 +54,8 @@ public class GlusterUtil {
private static final String VOLUME_OPTIONS_RECONFIG_PFX = "Options Reconfigured";
private static final String VOLUME_OPTION_AUTH_ALLOW = "auth.allow:";
private static final String VOLUME_LOG_LOCATION_PFX = "log file location:";
-
+ private static final String VOLUME_TYPE_DISTRIBUTE = "Distribute";
+ private static final String VOLUME_TYPE_REPLICATE = "Replicate";
private static final ProcessUtil processUtil = new ProcessUtil();
/**
@@ -258,9 +259,9 @@ public class GlusterUtil {
private boolean readVolumeType(Volume volume, String line) {
String volumeType = extractToken(line, VOLUME_TYPE_PFX);
if (volumeType != null) {
- if (volumeType.equals("Distribute")) {
+ if (volumeType.equals(VOLUME_TYPE_DISTRIBUTE)) {
volume.setVolumeType(VOLUME_TYPE.PLAIN_DISTRIBUTE);
- } else if (volumeType.equals("Replicate")) {
+ } else if (volumeType.equals(VOLUME_TYPE_REPLICATE)) {
volume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_MIRROR);
volume.setReplicaCount(Volume.DEFAULT_REPLICA_COUNT);
} else {
@@ -272,18 +273,18 @@ public class GlusterUtil {
return false;
}
- private void readBrickPair(Volume volume, String line) {
+
+ private void readReplicaOrStripeCount(Volume volume, String line) {
if (extractToken(line, "x") != null) {
+ // expected formated of line is "Number of Bricks: 3 x 2 = 6"
int count = Integer.parseInt(line.split("x")[1].split("=")[0].trim());
if (volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
volume.setStripeCount(count);
} else if (volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
volume.setReplicaCount(count);
volume.setStripeCount(0);
- } else {
- volume.setStripeCount(0);
- volume.setReplicaCount(0);
- }
+ }
+
}
return;
}
@@ -320,6 +321,7 @@ public class GlusterUtil {
return false;
}
+
private void detectAndAddDiskToVolume(Volume volume, String serverName, String brickDir) {
// brick directory should be of the form /export/<diskname>/volume-name
try {
@@ -338,6 +340,7 @@ public class GlusterUtil {
}
}
+
private boolean readBrickGroup(String line) {
return extractToken(line, VOLUME_BRICKS_GROUP_PFX) != null;
}
@@ -390,7 +393,7 @@ public class GlusterUtil {
if (readVolumeType(volume, line))
continue;
if (extractToken(line, VOLUME_NUMBER_OF_BRICKS) != null) {
- readBrickPair(volume, line);
+ readReplicaOrStripeCount(volume, line);
}
if (readVolumeStatus(volume, line))
continue;
@@ -429,7 +432,8 @@ public class GlusterUtil {
return volumes;
}
- public Status addDisks(String volumeName, List<String> bricks) {
+
+ public Status addBricks(String volumeName, List<String> bricks) {
List<String> command = new ArrayList<String>();
command.add("gluster");
command.add("volume");
@@ -439,6 +443,7 @@ public class GlusterUtil {
return new Status(processUtil.executeCommand(command));
}
+
public String getLogLocation(String volumeName, String brickName) {
ProcessResult result = new ProcessUtil().executeCommand("gluster", "volume", "log", "locate", volumeName,
brickName);
@@ -464,13 +469,14 @@ public class GlusterUtil {
return logFileName;
}
+
public static void main(String args[]) {
// List<String> names = new GlusterUtil().getGlusterServerNames();
// System.out.println(names);
List<String> disks = new ArrayList<String>();
disks.add("server1:sda");
disks.add("server1:sdb");
- Status status = new GlusterUtil().addDisks("Volume3", disks);
+ Status status = new GlusterUtil().addBricks("Volume3", disks);
System.out.println(status);
}
}