diff options
| author | Selvasundaram <selvam@gluster.com> | 2011-07-01 19:01:12 +0530 |
|---|---|---|
| committer | Selvasundaram <selvam@gluster.com> | 2011-07-01 19:05:27 +0530 |
| commit | 552e7c7f05bfd553c9d539926f4aca0f08c5c246 (patch) | |
| tree | 308b0380d30669abc63ab1f2d31f4fe6f64b02bb /src/com.gluster.storage.management.server | |
| parent | 2c4ea3418784160bdf4f186b2488e974465161e7 (diff) | |
Task updates in UI
Diffstat (limited to 'src/com.gluster.storage.management.server')
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); |
