diff options
| author | selvam <selvam@selvam-Studio-XPS-1340.(none)> | 2011-06-02 16:14:31 +0530 |
|---|---|---|
| committer | selvam <selvam@selvam-Studio-XPS-1340.(none)> | 2011-06-02 16:14:31 +0530 |
| commit | 16459c062096d9dbe5d4c8cfe65882a117dd504c (patch) | |
| tree | db504a01182cc5daa7c4e8148bc11ff624115219 /src | |
| parent | a468e753ba0c437bf4fb1bf4250cd1d0e175a08b (diff) | |
Create volume "create volume options" error is captured and handled in the UI.
Created volume is updated in the UI.
Diffstat (limited to 'src')
3 files changed, 35 insertions, 15 deletions
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java index 0742fe6b..e4d5ae97 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java @@ -47,10 +47,10 @@ public class CreateVolumeWizard extends Wizard { Volume newVolume = page.getVolume(); VolumesClient volumesClient = new VolumesClient(); Status status = volumesClient.createVolume(newVolume); - + String message = ""; + boolean warning = false; if (status.isSuccess()) { - String message = "Volume created successfully!"; - boolean warning = false; + message = "Volume created successfully!"; newVolume.setStatus(VOLUME_STATUS.OFFLINE); if (page.startVolumeAfterCreation()) { Status volumeStartStatus = volumesClient.startVolume(newVolume.getName()); @@ -72,8 +72,33 @@ public class CreateVolumeWizard extends Wizard { } } else { if (status.isPartSuccess()) { - MessageDialog.openWarning(getShell(), dialogTitle, "Volume created, but following error(s) occured: " + newVolume.setStatus(VOLUME_STATUS.OFFLINE); + boolean error = false; + if (page.startVolumeAfterCreation()) { + if (MessageDialog.openConfirm(getShell(), dialogTitle, + "Volume created, but following error(s) occured: " + status + + "\n\nDo you still want to start the volume [" + newVolume.getName() + "]?")) { + Status volumeStartStatus = volumesClient.startVolume(newVolume.getName()); + if (volumeStartStatus.isSuccess()) { + newVolume.setStatus(VOLUME_STATUS.ONLINE); + message = "Volume [" + newVolume.getName() + "] started successfully!"; // Only start operation + } else { + message = "Volume couldn't be started. Error: " + volumeStartStatus; + error = true; + } + } + if (error) { + MessageDialog.openWarning(getShell(), dialogTitle, message); + } else { + MessageDialog.openInformation(getShell(), dialogTitle, message); + } + + } else { // Start volume is not checked + MessageDialog.openWarning(getShell(), dialogTitle, "Volume created, but following error(s) occured: " + status); + } + GlusterDataModelManager.getInstance().addVolume(newVolume); + } else { MessageDialog.openError(getShell(), dialogTitle, "Volume creation failed! " + status); } 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 1a95fac5..d16f7678 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 @@ -156,15 +156,6 @@ public class VolumesResource { } status = glusterUtil.createVolume(volume, brickDirectories, onlineServer.getName()); } - - if (status.isSuccess()) { - // volume created. set the options. - Status optionsStatus = glusterUtil.createOptions(volume, onlineServer.getName()); - if (!optionsStatus.isSuccess()) { - status.setCode(Status.STATUS_CODE_PART_SUCCESS); - status.setMessage("Error while setting volume options: " + optionsStatus); - } - } return status; } 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 db0e5f8f..6005f6dd 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 @@ -220,8 +220,12 @@ public class GlusterUtil { if (!result.isSuccess()) { return new Status(result); } - - return createOptions(volume, knownServer); + Status status = createOptions(volume, knownServer); + if (!status.isSuccess()) { // Return partial success if set volume option failed. + status.setCode(Status.STATUS_CODE_PART_SUCCESS); + status.setMessage("Error while setting volume options: " + status); + } + return status; } private String prepareVolumeCreateCommand(Volume volume, List<String> brickDirectories, int count, |
