summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-08-02 18:11:28 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-08-02 18:11:28 +0530
commit8f5d4d0f05900320d3def9413db980b66fcbb6b6 (patch)
treed188c1d5db784b543fee2ec70ee4d14497e9ca06
parent9e4f1e15459d4e53a901c0ed6ce725cb704e9710 (diff)
Modified to capture error scenarios in disk initialization and rebalance volume tasks
-rw-r--r--src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/InitializeDiskTask.java8
-rw-r--r--src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/RebalanceVolumeTask.java8
2 files changed, 12 insertions, 4 deletions
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/InitializeDiskTask.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/InitializeDiskTask.java
index e7da1de6..ba1cba21 100644
--- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/InitializeDiskTask.java
+++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/InitializeDiskTask.java
@@ -120,9 +120,13 @@ public class InitializeDiskTask extends Task {
private void startInitializeDisk(String serverName) {
String fsTypeCommand = (getFsType().equals(GlusterConstants.FSTYPE_DEFAULT)) ? "" : " -t " + getFsType();
- String output = (String) serverUtil.executeScriptOnServer(true, serverName, INITIALIZE_DISK_SCRIPT
+ Object output = serverUtil.executeScriptOnServer(true, serverName, INITIALIZE_DISK_SCRIPT
+ fsTypeCommand + " " + getDiskName(), String.class);
- TaskStatus taskStatus = new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, output));
+ if(output instanceof Status) {
+ // Status object will be returned only in case of failure
+ throw new GlusterRuntimeException(((Status)output).toString());
+ }
+ TaskStatus taskStatus = new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, (String)output));
taskStatus.setPercentageSupported((getFsType().equals(GlusterConstants.FSTYPE_XFS)) ? false : true);
getTaskInfo().setStatus(taskStatus);
}
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/RebalanceVolumeTask.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/RebalanceVolumeTask.java
index c53f0252..134359fc 100644
--- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/RebalanceVolumeTask.java
+++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/RebalanceVolumeTask.java
@@ -75,8 +75,12 @@ public class RebalanceVolumeTask extends Task {
private void startRebalance(String serverName) {
String command = "gluster volume rebalance " + getTaskInfo().getReference() + " " + getLayout() + " start";
- String output = (String)serverUtil.executeOnServer(true, serverName, command, String.class);
- getTaskInfo().setStatus(new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, output)));
+ Object output = serverUtil.executeOnServer(true, serverName, command, String.class);
+ if(output instanceof Status) {
+ // Status object will be returned only in case of failure
+ throw new GlusterRuntimeException(((Status)output).toString());
+ }
+ getTaskInfo().setStatus(new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, (String)output)));
}
@Override