diff options
| author | Tim <timothyasir@gluster.com> | 2011-08-17 15:37:32 +0530 |
|---|---|---|
| committer | Tim <timothyasir@gluster.com> | 2011-08-17 15:37:32 +0530 |
| commit | 0b32407eedb904366afe78a3f727e0ecdd7b05d3 (patch) | |
| tree | 85e8d58d812385086766df1fccd7343b5ed8c763 /src | |
| parent | 3866d0a66197140cae0ddd5081aa28f17e32c3be (diff) | |
| parent | 26ca3ab4375a11487cc7ac9406bbcd60bf8cf7d9 (diff) | |
Merge remote branch 'upstream/master'
Diffstat (limited to 'src')
6 files changed, 48 insertions, 14 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java index 765735fb..e253dfa5 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java @@ -27,7 +27,7 @@ public class ClientConstants { public static final String SYS_PROP_SERVER_URL = "gluster.server.url"; public static final String DEFAULT_SERVER_URL = "https://localhost:8443/glustermg/linux.gtk.x86_64"; public static final String CONTEXT_ROOT = "glustermg"; - public static final String REST_API_VERSION = "1.0"; + public static final String REST_API_VERSION = "1.0.0"; // SSL related public static final String TRUSTED_KEYSTORE = "gmc-trusted.keystore"; diff --git a/src/com.gluster.storage.management.console/plugin.properties b/src/com.gluster.storage.management.console/plugin.properties index 6a93e73d..4ef7da70 100644 --- a/src/com.gluster.storage.management.console/plugin.properties +++ b/src/com.gluster.storage.management.console/plugin.properties @@ -3,4 +3,5 @@ Version: 1.0.0\n\n\ Copyright (c) 2011 Gluster, Inc.\n\ Visit http://www.gluster.com/\n\n\ This product includes software developed by the\n\ -Eclipse Foundation http://eclipse.org/
\ No newline at end of file +Eclipse Foundation http://eclipse.org/\n\ +RichClientGUI http://www.richclientgui.com/
\ No newline at end of file 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 ba19ef10..d7d98d24 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 @@ -362,7 +362,6 @@ public class CreateVolumePage1 extends WizardPage { } addVolumeBricks(); - return volume; } @@ -409,9 +408,9 @@ public class CreateVolumePage1 extends WizardPage { VOLUME_TYPE volumeType = (VOLUME_TYPE) ((IStructuredSelection) typeComboViewer .getSelection()).getFirstElement(); - if (volumeType == VOLUME_TYPE.DISTRIBUTED_REPLICATE && diskCount % 2 != 0) { + if ((volumeType == VOLUME_TYPE.DISTRIBUTED_REPLICATE || volumeType == VOLUME_TYPE.REPLICATE ) && diskCount % 2 != 0) { setError("Mirror type volume requires bricks in multiples of two"); - } else if (volumeType == VOLUME_TYPE.DISTRIBUTED_STRIPE && diskCount % 4 != 0) { + } else if ((volumeType == VOLUME_TYPE.DISTRIBUTED_STRIPE || volumeType == VOLUME_TYPE.STRIPE) && diskCount % 4 != 0) { setError("Stripe type volume requires bricks in multiples of four"); } } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumeWizard.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumeWizard.java index bfb29ee1..498723d9 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumeWizard.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/CreateVolumeWizard.java @@ -28,6 +28,7 @@ import com.gluster.storage.management.console.utils.GlusterLogger; import com.gluster.storage.management.core.constants.CoreConstants; import com.gluster.storage.management.core.model.Volume; import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS; +import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE; public class CreateVolumeWizard extends Wizard { private static final String title = "Gluster Management Console - Create Volume"; @@ -51,8 +52,17 @@ public class CreateVolumeWizard extends Wizard { try { volumesClient.createVolume(newVolume); + + // Set proper volume type before assign to model + VOLUME_TYPE volumetype = newVolume.getVolumeType(); + if (volumetype == VOLUME_TYPE.REPLICATE && newVolume.getBricks().size() > newVolume.getReplicaCount()) { + newVolume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_REPLICATE); + } else if (volumetype == VOLUME_TYPE.STRIPE && newVolume.getBricks().size() > newVolume.getStripeCount()) { + newVolume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_STRIPE); + } + handleSuccess(newVolume, volumesClient); - } catch(Exception e) { + } catch (Exception e) { String errMsg = e.getMessage(); // the error could be in to post-volume-create processing. check if this is the case. if (volumesClient.volumeExists(newVolume.getName())) { @@ -62,7 +72,7 @@ public class CreateVolumeWizard extends Wizard { return false; } } - + return true; } 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 9a456626..dfd0c669 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 @@ -3,6 +3,7 @@ package com.gluster.storage.management.console.views; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import org.eclipse.jface.dialogs.MessageDialog; @@ -664,7 +665,7 @@ public class VolumeSummaryView extends ViewPart { || volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_REPLICATE) { replicaCount = (double) volume.getReplicaCount(); } - totalDiskSpace.setText("" + NumberUtil.formatNumber((getTotalDiskSpace() / 1024) / replicaCount)); + totalDiskSpace.setText("" + NumberUtil.formatNumber(getTotalDiskSpace() / 1024)); } private double getDiskSize(String serverName, String deviceName) { @@ -691,16 +692,39 @@ public class VolumeSummaryView extends ViewPart { } private double getTotalDiskSpace() { + List<Double> diskSizes = getVolumeDiskSizes(); + VOLUME_TYPE volumeType = volume.getVolumeType(); double diskSize = 0d; + if (volumeType == VOLUME_TYPE.DISTRIBUTE || volumeType == VOLUME_TYPE.STRIPE + || volumeType == VOLUME_TYPE.DISTRIBUTED_STRIPE) { + for (Double size : diskSizes) { + diskSize += size; + } + } else { // Replicate or distributed replicate + int replicaCount = volume.getReplicaCount(); + if (replicaCount == 0) { + replicaCount = Volume.DEFAULT_REPLICA_COUNT; + } + int startIndex = 0; + for (int i = 0; i < (diskSizes.size() / replicaCount); i++) { + startIndex = i * replicaCount; + diskSize += Collections.min(diskSizes.subList(startIndex, startIndex + replicaCount)); + } + } + return diskSize; + } + + private List<Double> getVolumeDiskSizes() { + List<Double> diskSizes = new ArrayList<Double>(); Device device; for (Brick brick : volume.getBricks()) { device = modelManager.getDeviceForBrickDir(brick); - if (device != null) { // In case of off line server, device becomes null - diskSize += getDiskSize(brick.getServerName(), device.getName()); - } + diskSizes.add( (device == null) ? 0d : getDiskSize(brick.getServerName(), device.getName()) ); } - return diskSize; + return diskSizes; } + + private void createDiskSpaceField(Composite section) { Label diskSpaceLabel = toolkit.createLabel(section, "Total Disk Space (GB): ", SWT.NONE); @@ -712,7 +736,7 @@ public class VolumeSummaryView extends ViewPart { replicaCount = (double) Volume.DEFAULT_REPLICA_COUNT; } totalDiskSpace = toolkit.createLabel(section, - "" + NumberUtil.formatNumber((getTotalDiskSpace() / 1024) / replicaCount), SWT.NONE); + "" + NumberUtil.formatNumber(getTotalDiskSpace() / 1024), SWT.NONE); toolkit.createLabel(section, "", SWT.NONE); // dummy } diff --git a/src/com.gluster.storage.management.gateway/WebContent/WEB-INF/web.xml b/src/com.gluster.storage.management.gateway/WebContent/WEB-INF/web.xml index 631788ff..54872639 100644 --- a/src/com.gluster.storage.management.gateway/WebContent/WEB-INF/web.xml +++ b/src/com.gluster.storage.management.gateway/WebContent/WEB-INF/web.xml @@ -37,7 +37,7 @@ </servlet> <servlet-mapping> <servlet-name>gluster-resources-1.0</servlet-name> - <url-pattern>/1.0/*</url-pattern> + <url-pattern>/1.0.0/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>JnlpDownloadServlet</servlet-name> |
