summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/CreateVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RefreshDataAction.java2
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/AddBrickPage.java8
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumePage1.java29
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java26
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java4
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java8
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java13
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java17
-rw-r--r--src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java5
-rw-r--r--src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java2
-rw-r--r--src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java35
12 files changed, 100 insertions, 51 deletions
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/CreateVolumeAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/CreateVolumeAction.java
index 38be70bd..f8590171 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/CreateVolumeAction.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/CreateVolumeAction.java
@@ -42,7 +42,7 @@ public class CreateVolumeAction extends AbstractActionDelegate {
}
};
dialog.create();
- dialog.getShell().setSize(500, 610);
+ dialog.getShell().setSize(510, 620);
dialog.open();
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RefreshDataAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RefreshDataAction.java
index fe9bb80a..9fd4f99b 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RefreshDataAction.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RefreshDataAction.java
@@ -38,6 +38,6 @@ public class RefreshDataAction extends AbstractActionDelegate {
*/
@Override
protected void performAction(IAction action) {
- new DataSyncJob("Cluster Data Sync").schedule();
+ new DataSyncJob("Reteriving Management Information").schedule();
}
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/AddBrickPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/AddBrickPage.java
index aa0a0b9c..b2cb3582 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/AddBrickPage.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/AddBrickPage.java
@@ -59,7 +59,7 @@ public class AddBrickPage extends WizardPage {
setTitle("Add Brick");
String description = "Add bricks to [" + volume.getName() + "] ";
- if ( volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
+ if ( volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_REPLICATE) {
description += "(in multiples of " + volume.getReplicaCount() + ")";
} else if (volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
description += "(in multiples of " + volume.getStripeCount() + ")";
@@ -105,7 +105,7 @@ public class AddBrickPage extends WizardPage {
return false;
}
switch (volume.getVolumeType()) {
- case DISTRIBUTED_MIRROR:
+ case DISTRIBUTED_REPLICATE:
return (diskCount % volume.getReplicaCount() == 0);
case DISTRIBUTED_STRIPE:
return (diskCount % volume.getStripeCount() == 0);
@@ -143,9 +143,9 @@ public class AddBrickPage extends WizardPage {
private void setError() {
String errorMessage = null;
- if ( volume.getVolumeType() == VOLUME_TYPE.PLAIN_DISTRIBUTE) {
+ if ( volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTE) {
errorMessage = "Please select at least one brick!";
- } else if( volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
+ } else if( volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_REPLICATE) {
errorMessage = "Please select bricks in multiples of " + volume.getReplicaCount();
} else {
errorMessage = "Please select bricks in multiples of " + volume.getStripeCount();
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumePage1.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumePage1.java
index eba32bb7..ba19ef10 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumePage1.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumePage1.java
@@ -170,7 +170,7 @@ public class CreateVolumePage1 extends WizardPage {
private void createAccessControlLabel(Composite container) {
Label lblAccessControl = new Label(container, SWT.NONE);
lblAccessControl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- lblAccessControl.setText("Access Control: ");
+ lblAccessControl.setText("Allow Access From: ");
}
private void createCifsUserLabel(Composite container) {
@@ -267,23 +267,28 @@ public class CreateVolumePage1 extends WizardPage {
GridData typeComboData = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
typeCombo.setLayoutData(typeComboData);
typeComboViewer.setContentProvider(new ArrayContentProvider());
- typeComboViewer.setInput(Volume.VOLUME_TYPE.values());
- typeCombo.select(VOLUME_TYPE.PLAIN_DISTRIBUTE.ordinal()); // default type = Plain Distribute
+
+ VOLUME_TYPE[] volumeTypes = new VOLUME_TYPE[3];
+ volumeTypes[0] = VOLUME_TYPE.DISTRIBUTE;
+ volumeTypes[1] = VOLUME_TYPE.REPLICATE;
+ volumeTypes[2] = VOLUME_TYPE.STRIPE;
+
+ typeComboViewer.setInput(volumeTypes);
+ typeCombo.select(0); // default type = Plain Distribute
typeComboViewer.setLabelProvider(new LabelProvider() {
@Override
public String getText(Object element) {
- VOLUME_TYPE volumeType = (VOLUME_TYPE)element;
- return Volume.getVolumeTypeStr(volumeType);
+ return Volume.getVolumeTypeStr((VOLUME_TYPE)element);
}
});
typeComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
- validateForm();
+ validateForm();
}
});
}
-
+
private void createTypeLabel(Composite container) {
Label lblType = new Label(container, SWT.NONE);
lblType.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
@@ -333,7 +338,9 @@ public class CreateVolumePage1 extends WizardPage {
IStructuredSelection selection = (IStructuredSelection)typeComboViewer.getSelection();
volume.setVolumeType((VOLUME_TYPE)selection.getFirstElement());
-
+ volume.setReplicaCount(Volume.DEFAULT_REPLICA_COUNT);
+ volume.setStripeCount(Volume.DEFAULT_STRIPE_COUNT);
+
volume.setTransportType(TRANSPORT_TYPE.ETHERNET); // Support only for Ethernet
Set<NAS_PROTOCOL> nasProtocols = new HashSet<Volume.NAS_PROTOCOL>();
nasProtocols.add(NAS_PROTOCOL.GLUSTERFS);
@@ -402,7 +409,7 @@ public class CreateVolumePage1 extends WizardPage {
VOLUME_TYPE volumeType = (VOLUME_TYPE) ((IStructuredSelection) typeComboViewer
.getSelection()).getFirstElement();
- if (volumeType == VOLUME_TYPE.DISTRIBUTED_MIRROR && diskCount % 2 != 0) {
+ if (volumeType == VOLUME_TYPE.DISTRIBUTED_REPLICATE && diskCount % 2 != 0) {
setError("Mirror type volume requires bricks in multiples of two");
} else if (volumeType == VOLUME_TYPE.DISTRIBUTED_STRIPE && diskCount % 4 != 0) {
setError("Stripe type volume requires bricks in multiples of four");
@@ -417,10 +424,12 @@ public class CreateVolumePage1 extends WizardPage {
}
if (!ValidationUtil.isValidAccessControl(accessControl)) {
- setError("Access control list must be a comma separated list of IP addresses/Host names. Please enter a valid value!");
+ setError("Invalid IP address/Host name [" + ValidationUtil.getInvalidIpOrHostname(accessControl)
+ + "]. Please enter a valid value!");
}
}
+
private void validateCifsUsers() {
if (btnCIFS.getSelection()) {
String cifsUserList = txtCifsUsers.getText().trim();
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
index 45e97b75..45153190 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
@@ -201,7 +201,7 @@ public class VolumeSummaryView extends ViewPart {
infoLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.VERTICAL_ALIGN_CENTER, false, false, 2, 0));
// TODO: implement a logic to identify the corresponding glusterfs client download link
- String message = "You can download gluster FS client from";
+ String message = "You can download GlusterFS client from";
String glusterFSDownloadlinkText = "here.";
final String glusterFSDownloadlink = "http://download.gluster.com/pub/gluster/glusterfs/";
@@ -245,7 +245,7 @@ public class VolumeSummaryView extends ViewPart {
createVolumeTypeField(section);
VOLUME_TYPE volumeType = volume.getVolumeType();
- if (volumeType == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
+ if (volumeType == VOLUME_TYPE.DISTRIBUTED_REPLICATE) {
createReplicaCountField(section);
}
@@ -286,7 +286,7 @@ public class VolumeSummaryView extends ViewPart {
}
private void createAccessControlField(Composite section) {
- toolkit.createLabel(section, "Access Control: ", SWT.NONE);
+ toolkit.createLabel(section, "Allow Access From: ", SWT.NONE);
accessControlText = toolkit.createText(section, volume.getAccessControlList(), SWT.BORDER);
populateAccessControlText();
@@ -636,7 +636,12 @@ public class VolumeSummaryView extends ViewPart {
private void updateBrickChanges(Volume volume) {
numberOfBricks.setText("" + volume.getNumOfBricks());
- totalDiskSpace.setText("" + NumberUtil.formatNumber((getTotalDiskSpace() / 1024)));
+ Double replicaCount = 1d;
+ if (volume.getVolumeType() == VOLUME_TYPE.REPLICATE
+ || volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_REPLICATE) {
+ replicaCount = (double) volume.getReplicaCount();
+ }
+ totalDiskSpace.setText("" + NumberUtil.formatNumber((getTotalDiskSpace() / 1024) / replicaCount));
}
private double getDiskSize(String serverName, String deviceName) {
@@ -674,7 +679,12 @@ public class VolumeSummaryView extends ViewPart {
private void createDiskSpaceField(Composite section) {
Label diskSpaceLabel = toolkit.createLabel(section, "Total Disk Space (GB): ", SWT.NONE);
diskSpaceLabel.setToolTipText("<b>bold</b>normal");
- totalDiskSpace = toolkit.createLabel(section, "" + NumberUtil.formatNumber((getTotalDiskSpace() / 1024)), SWT.NONE);
+ Double replicaCount = 1d;
+ if (volume.getVolumeType() == VOLUME_TYPE.REPLICATE
+ || volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_REPLICATE) {
+ replicaCount = (double) volume.getReplicaCount();
+ }
+ totalDiskSpace = toolkit.createLabel(section, "" + NumberUtil.formatNumber((getTotalDiskSpace() / 1024)/ replicaCount ), SWT.NONE);
toolkit.createLabel(section, "", SWT.NONE); // dummy
}
@@ -742,8 +752,9 @@ public class VolumeSummaryView extends ViewPart {
}
if (!ValidationUtil.isValidAccessControl(accessControlText.getText())) {
- errDecoration
- .setDescriptionText("Access control list must be a comma separated list of IP addresses/Host names. Please enter a valid value!");
+ errDecoration.setDescriptionText("Invalid IP address/Host name ["
+ + ValidationUtil.getInvalidIpOrHostname(accessControlText.getText())
+ + "]. Please enter a valid value!");
errDecoration.show();
}
}
@@ -772,4 +783,5 @@ public class VolumeSummaryView extends ViewPart {
validateCifsUsers();
return true;
}
+
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java
index 87c319ef..e573229c 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java
@@ -161,8 +161,8 @@ public class VolumeLogsPage extends Composite {
}
private void createSearchButton(Composite composite) {
- Button btnGo = toolkit.createButton(composite, "&Go", SWT.NONE);
- btnGo.setBounds(615, 55, 50, 30);
+ Button btnGo = toolkit.createButton(composite, "&Fetch Logs", SWT.NONE);
+ btnGo.setBounds (615, 55, 75, 30);
btnGo.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
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 d162ec38..2139bbd7 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
@@ -117,17 +117,17 @@ public class GlusterDummyModel {
private void initializeVolumes(Cluster cluster) {
List<Volume> volumes = new ArrayList<Volume>();
- volume1 = addVolume(volumes, "Volume1", cluster, VOLUME_TYPE.PLAIN_DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
+ volume1 = addVolume(volumes, "Volume1", cluster, VOLUME_TYPE.DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
VOLUME_STATUS.ONLINE);
- volume2 = addVolume(volumes, "Volume2", cluster, VOLUME_TYPE.PLAIN_DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
+ volume2 = addVolume(volumes, "Volume2", cluster, VOLUME_TYPE.DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
VOLUME_STATUS.ONLINE);
- volume3 = addVolume(volumes, "Volume3", cluster, VOLUME_TYPE.DISTRIBUTED_MIRROR, TRANSPORT_TYPE.ETHERNET,
+ volume3 = addVolume(volumes, "Volume3", cluster, VOLUME_TYPE.DISTRIBUTED_REPLICATE, TRANSPORT_TYPE.ETHERNET,
VOLUME_STATUS.OFFLINE);
volume3.setReplicaCount(2);
- volume4 = addVolume(volumes, "Volume4", cluster, VOLUME_TYPE.PLAIN_DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
+ volume4 = addVolume(volumes, "Volume4", cluster, VOLUME_TYPE.DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
VOLUME_STATUS.ONLINE);
volume5 = addVolume(volumes, "Volume5", cluster, VOLUME_TYPE.DISTRIBUTED_STRIPE, TRANSPORT_TYPE.INFINIBAND,
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 c3b73c27..2ce1ea44 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
@@ -44,9 +44,9 @@ public class Volume extends Entity {
};
public enum VOLUME_TYPE {
- PLAIN_DISTRIBUTE, DISTRIBUTED_MIRROR, DISTRIBUTED_STRIPE
+ DISTRIBUTE, REPLICATE, DISTRIBUTED_REPLICATE, STRIPE, DISTRIBUTED_STRIPE
};
-
+
public enum TRANSPORT_TYPE {
ETHERNET, INFINIBAND
};
@@ -62,8 +62,9 @@ public class Volume extends Entity {
public static final String OPTION_AUTH_ALLOW = "auth.allow";
public static final String OPTION_NFS_DISABLE = "nfs.disable";
- private static final String[] VOLUME_TYPE_STR = new String[] { "Plain Distribute", "Distributed Mirror",
- "Distributed Stripe" };
+ private static final String[] VOLUME_TYPE_STR = new String[] { "Distribute", "Replicate", "Distributed Replicate",
+ "Stripe", "Distributed Stripe" };
+
private static final String[] TRANSPORT_TYPE_STR = new String[] { "Ethernet", "Infiniband" };
private static final String[] STATUS_STR = new String[] { "Online", "Offline" };
private static final String[] NAS_PROTOCOL_STR = new String[] { "Gluster", "NFS", "CIFS" };
@@ -87,7 +88,7 @@ public class Volume extends Entity {
public String getVolumeTypeStr() {
return getVolumeTypeStr(getVolumeType());
}
-
+
public static String getVolumeTypeStr(VOLUME_TYPE volumeType) {
return VOLUME_TYPE_STR[volumeType.ordinal()];
}
@@ -122,7 +123,7 @@ public class Volume extends Entity {
if (volumeType == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
setReplicaCount(0);
setStripeCount(DEFAULT_STRIPE_COUNT);
- } else if (volumeType == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
+ } else if (volumeType == VOLUME_TYPE.DISTRIBUTED_REPLICATE) {
setReplicaCount(DEFAULT_REPLICA_COUNT);
setStripeCount(0);
} else {
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java
index b1ceb478..df0b749a 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java
@@ -7,13 +7,28 @@ public class ValidationUtil {
// Access control may contains IP with wild card(*), hostname and/or multiple ip/hostnames
public static boolean isValidAccessControl(String ac) {
String access[] = ac.split(",");
+ String ip;
boolean isValidAccessControl = true;
for (int i = 0; i < access.length && isValidAccessControl; i++) {
- isValidAccessControl = (isValidIpWithWC(access[i]) || isValidHostName(access[i]));
+ ip = access[i].trim();
+ isValidAccessControl = (isValidIpWithWC(ip) || isValidHostName(ip));
}
return isValidAccessControl;
}
+ public static String getInvalidIpOrHostname(String ac) {
+ String access[] = ac.split(",");
+ String ip;
+ boolean isValidAccessControl = true;
+ for (int i = 0; i < access.length && isValidAccessControl; i++) {
+ ip = access[i].trim();
+ if (!(isValidIpWithWC(ip) || isValidHostName(ip))) {
+ return access[i];
+ }
+ }
+ return "";
+ }
+
public static boolean isValidIpWithWC(String ip) {
String ipAddress[] = ip.split("\\.");
boolean isValid = true;
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java
index 89e7eaf1..74275955 100644
--- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java
+++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java
@@ -212,11 +212,8 @@ public class VolumesResource extends AbstractResource {
if (enableCifs) {
volumeService.modifyCIFSUsers(clusterName, volumeName, cifsUsers);
} else {
+ volumeService.stopCifsReExport(clusterName, volumeName);
volumeService.deleteCifsUsers(clusterName, volumeName);
- //TODO: workaround - If samba service are not stopped by "deleteCifsUsers" script,
- // gateway needs to stop the services
- // modifyCIFSUsers(clusterName, volumeName, "");
- // stopCifsReExport(clusterName, volumeName);
}
} else {
volumeService.performVolumeOperation(clusterName, volumeName, operation);
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java
index 0005a5a9..0bd1b4ce 100644
--- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java
+++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java
@@ -333,7 +333,7 @@ public class VolumeService {
throw new GlusterValidationException("Cluster [" + clusterName + "] not found!");
}
- if (volumeType.equals(VOLUME_TYPE.DISTRIBUTED_MIRROR) && replicaCount <= 0) {
+ if (volumeType.equals(VOLUME_TYPE.DISTRIBUTED_REPLICATE) && replicaCount <= 0) {
throw new GlusterValidationException("Replica count must be a positive integer");
}
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java
index db4bd4bd..ccb1054a 100644
--- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java
+++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java
@@ -69,6 +69,10 @@ public class GlusterUtil {
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 String VOLUME_TYPE_DISTRIBUTED_REPLICATTE = "Distributed-Replicate";
+ private static final String VOLUME_TYPE_STRIPE = "Stripe";
+ private static final String VOLUME_TYPE_DISTRIBUTED_STRIPE = "Distributed-Stripe";
+
private static final String GLUSTERD_INFO_FILE = "/etc/glusterd/glusterd.info";
private static final GlusterCoreUtil glusterCoreUtil = new GlusterCoreUtil();
@@ -251,15 +255,15 @@ public class GlusterUtil {
public void createVolume(String knownServer, String volumeName, String volumeTypeStr, String transportTypeStr,
Integer replicaCount, Integer stripeCount, String bricks, String accessProtocols, String options) {
-
+
int count = 1; // replica or stripe count
VOLUME_TYPE volType = Volume.getVolumeTypeByStr(volumeTypeStr);
String volTypeArg = null;
- if (volType == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
+ if (volType == VOLUME_TYPE.REPLICATE || volType == VOLUME_TYPE.DISTRIBUTED_REPLICATE) {
volTypeArg = "replica";
count = replicaCount;
- } else if (volType == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
+ } else if (volType == VOLUME_TYPE.STRIPE || volType == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
volTypeArg = "stripe";
count = stripeCount;
}
@@ -357,13 +361,23 @@ public class GlusterUtil {
String volumeType = extractToken(line, VOLUME_TYPE_PFX);
if (volumeType != null) {
if (volumeType.equals(VOLUME_TYPE_DISTRIBUTE)) {
- volume.setVolumeType(VOLUME_TYPE.PLAIN_DISTRIBUTE);
+ volume.setVolumeType(VOLUME_TYPE.DISTRIBUTE);
+
} else if (volumeType.equals(VOLUME_TYPE_REPLICATE)) {
- volume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_MIRROR);
+ volume.setVolumeType(VOLUME_TYPE.REPLICATE);
volume.setReplicaCount(Volume.DEFAULT_REPLICA_COUNT);
- } else {
+
+ } else if ( volumeType.equals(VOLUME_TYPE_DISTRIBUTED_REPLICATTE) ){
+ volume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_REPLICATE);
+ volume.setReplicaCount(Volume.DEFAULT_REPLICA_COUNT);
+
+ } else if ( volumeType.equals(VOLUME_TYPE_STRIPE) ){
+ volume.setVolumeType(VOLUME_TYPE.STRIPE);
+ volume.setReplicaCount(Volume.DEFAULT_REPLICA_COUNT);
+
+ } else if ( volumeType.equals(VOLUME_TYPE_DISTRIBUTED_STRIPE) ){
volume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_STRIPE);
- volume.setStripeCount(Volume.DEFAULT_STRIPE_COUNT);
+ volume.setReplicaCount(Volume.DEFAULT_STRIPE_COUNT);
}
return true;
}
@@ -374,13 +388,14 @@ public class GlusterUtil {
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) {
+ if (volume.getVolumeType() == VOLUME_TYPE.STRIPE
+ || volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
volume.setStripeCount(count);
- } else if (volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
+ } else if (volume.getVolumeType() == VOLUME_TYPE.REPLICATE
+ || volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_REPLICATE) {
volume.setReplicaCount(count);
volume.setStripeCount(0);
}
-
}
return;
}