diff options
| author | Dhandapani <dhandapani@gluster.com> | 2011-07-19 17:45:18 +0530 |
|---|---|---|
| committer | Dhandapani <dhandapani@gluster.com> | 2011-07-19 18:07:50 +0530 |
| commit | 829887511fe2f63b22a9e7b92bee80ba8987cffc (patch) | |
| tree | 0a1d7be19f893db05cfee2a939b93bbf6bfd2343 /src/com.gluster.storage.management.server | |
| parent | 06bf0e698fbd747944c1177d3d6c40c5c50af0c2 (diff) | |
Initialize Disk enhancement
Diffstat (limited to 'src/com.gluster.storage.management.server')
3 files changed, 9 insertions, 3 deletions
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java index 17aeef2b..271161b9 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java @@ -58,6 +58,7 @@ import com.gluster.storage.management.core.exceptions.ConnectionException; import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.GlusterServer; import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS; +import com.gluster.storage.management.core.model.TaskStatus; import com.gluster.storage.management.core.response.GlusterServerListResponse; import com.gluster.storage.management.core.response.ServerNameListResponse; import com.gluster.storage.management.server.data.ClusterInfo; @@ -454,6 +455,9 @@ public class GlusterServersResource extends AbstractServersResource { InitializeDiskTask initializeTask = new InitializeDiskTask(clusterService, clusterName, serverName, diskName, fsType); try { initializeTask.start(); + // Check the initialize disk status + TaskStatus taskStatus = initializeTask.checkStatus(); + initializeTask.getTaskInfo().setStatus(taskStatus); taskResource.addTask(initializeTask); return acceptedResponse(RESTConstants.RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESOURCE_TASKS + "/" diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitializeDiskTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitializeDiskTask.java index 2fe2373b..6aa63e9e 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitializeDiskTask.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitializeDiskTask.java @@ -134,7 +134,7 @@ public class InitializeDiskTask extends Task { public TaskStatus checkStatus() { try { - return glusterUtil.checkInitializeDiskStatus(serverName, getDiskName()); + return glusterUtil.getInitializingDeviceStatus(serverName, getDiskName()); } catch(ConnectionException e) { // online server might have gone offline. update the failure status return new TaskStatus(new Status(Status.STATUS_CODE_FAILURE, e.getMessage())); 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 a32c4f18..9878f223 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 @@ -578,7 +578,7 @@ public class GlusterUtil { } } - public TaskStatus checkInitializeDiskStatus(String serverName, String diskName) { + public TaskStatus getInitializingDeviceStatus(String serverName, String diskName) { Object response = serverUtil.executeOnServer(true, serverName, INITIALIZE_DISK_STATUS_SCRIPT + " " + diskName, InitDiskStatusResponse.class); @@ -597,8 +597,10 @@ public class GlusterUtil { taskStatus.setCode(Status.STATUS_CODE_RUNNING); taskStatus.setPercentCompleted(Math.round(initDiskStatusResponse.getCompletedBlocks() / initDiskStatusResponse.getTotalBlocks() * 100)); + } else if(initDiskStatusResponse.getFormatStatus() == FORMAT_STATUS.NOT_RUNNING) { + taskStatus.setCode(Status.STATUS_CODE_FAILURE); } - + taskStatus.setMessage(initDiskStatusResponse.getMessage()); return taskStatus; } |
