From 8f5d4d0f05900320d3def9413db980b66fcbb6b6 Mon Sep 17 00:00:00 2001 From: Shireesh Anjal Date: Tue, 2 Aug 2011 18:11:28 +0530 Subject: Modified to capture error scenarios in disk initialization and rebalance volume tasks --- .../storage/management/gateway/tasks/InitializeDiskTask.java | 8 ++++++-- .../storage/management/gateway/tasks/RebalanceVolumeTask.java | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'src') 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 -- cgit