diff options
| author | Selvam <selvam@gluster.com> | 2011-04-29 15:19:50 +0530 |
|---|---|---|
| committer | Selvam <selvam@gluster.com> | 2011-04-29 15:19:50 +0530 |
| commit | 1a2533deb10ed4dc0c4d910ce830a7065b845e68 (patch) | |
| tree | e9c83f01d03f0c959cfb65cb0d7a15935b53b543 /src/com.gluster.storage.management.server | |
| parent | 3149b18d24539f5680848c25064f447c15bbbcc4 (diff) | |
| parent | 3cc0768e0baf35ea140262e4f646cbdb9a3b8b84 (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')
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); } } |
