summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.server
diff options
context:
space:
mode:
authorSelvasundaram <selvam@gluster.com>2011-07-01 19:01:12 +0530
committerSelvasundaram <selvam@gluster.com>2011-07-01 19:05:27 +0530
commit552e7c7f05bfd553c9d539926f4aca0f08c5c246 (patch)
tree308b0380d30669abc63ab1f2d31f4fe6f64b02bb /src/com.gluster.storage.management.server
parent2c4ea3418784160bdf4f186b2488e974465161e7 (diff)
Task updates in UI
Diffstat (limited to 'src/com.gluster.storage.management.server')
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateDiskTask.java20
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/Task.java6
2 files changed, 18 insertions, 8 deletions
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateDiskTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateDiskTask.java
index 9bdc9c94..88de96da 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateDiskTask.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateDiskTask.java
@@ -122,7 +122,7 @@ public class MigrateDiskTask extends Task {
ProcessResult processResult = sshUtil.executeRemote(onlineServer, command);
TaskStatus taskStatus = new TaskStatus();
if (processResult.isSuccess()) {
- if (processResult.getOutput().matches("*pause")) { //TODO replace correct pattern to identify the pause status
+ if (processResult.getOutput().trim().matches(".*paused successfully$")) { //TODO replace correct pattern to identify the pause status
taskStatus.setCode(Status.STATUS_CODE_PAUSE);
taskStatus.setMessage(processResult.getOutput());
getTaskInfo().setStatus(taskStatus);
@@ -172,8 +172,8 @@ public class MigrateDiskTask extends Task {
taskStatus.setMessage(processResult.getOutput());
getTaskInfo().setStatus(taskStatus);
return;
- }
- }
+ }
+ }
// if we reach here, it means rebalance start failed.
throw new GlusterRuntimeException(processResult.toString());
@@ -212,8 +212,14 @@ public class MigrateDiskTask extends Task {
private TaskStatus checkMigrationStatus(String serverName) {
+ // TODO: If the task is already paused return the same status till FS gives correct status
+ if (getTaskInfo().getStatus().getCode() == Status.STATUS_CODE_PAUSE ) {
+ return getTaskInfo().getStatus();
+ }
+
String command = "gluster volume replace-brick " + getTaskInfo().getReference() + " " + getFromBrick() + " "
+ getToBrick() + " status";
+
ProcessResult processResult = sshUtil.executeRemote(serverName, command);
TaskStatus taskStatus = new TaskStatus();
if (processResult.isSuccess()) {
@@ -221,8 +227,13 @@ public class MigrateDiskTask extends Task {
taskStatus.setCode(Status.STATUS_CODE_COMMIT_PENDING);
if (autoCommit) {
commitMigration(serverName);
+ return getTaskInfo().getStatus(); // return the committed status
+ } else {
+ taskStatus.setMessage(processResult.getOutput().trim()
+ .replaceAll("Migration complete", "Commit pending"));
}
- } else if ( processResult.getOutput().trim().matches("^Number of files migrated.*Current file=.*")) {
+ return taskStatus;
+ } else if (processResult.getOutput().trim().matches("^Number of files migrated.*Current file=.*")) {
taskStatus.setCode(Status.STATUS_CODE_RUNNING);
} else {
taskStatus.setCode(Status.STATUS_CODE_FAILURE);
@@ -230,7 +241,6 @@ public class MigrateDiskTask extends Task {
} else {
taskStatus.setCode(Status.STATUS_CODE_FAILURE);
}
-
taskStatus.setMessage(processResult.getOutput()); // common
taskInfo.setStatus(taskStatus); // Update the task status
return taskStatus;
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/Task.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/Task.java
index 49cd0b8b..4fa6e08c 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/Task.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/Task.java
@@ -38,9 +38,9 @@ public abstract class Task {
taskInfo.setType(type);
taskInfo.setReference(reference);
taskInfo.setDescription(desc);
- taskInfo.setCanPause(canPause);
- taskInfo.setCanStop(canStop);
- taskInfo.setCanCommit(canCommit);
+ taskInfo.setPauseSupported(canPause);
+ taskInfo.setStopSupported(canStop);
+ taskInfo.setCommitSupported(canCommit);
init(clusterService, clusterName, taskInfo);