diff options
| author | Selvasundaram <selvam@gluster.com> | 2011-06-20 16:06:23 +0530 |
|---|---|---|
| committer | Selvasundaram <selvam@gluster.com> | 2011-06-21 12:11:46 +0530 |
| commit | 924badad2e1c674ab2021cfdae0037098bf131db (patch) | |
| tree | a02fb42c23f2a07f90d1637a5907c12926820fdc /src/com.gluster.storage.management.server | |
| parent | 2bddfe0603ffaba22f3e8bc83e179e49476da018 (diff) | |
| parent | d61fa3b93293c6323c29006c97a88968fa2843bf (diff) | |
Merge branch 'tasks'
Diffstat (limited to 'src/com.gluster.storage.management.server')
7 files changed, 23 insertions, 366 deletions
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java deleted file mode 100644 index c9eb0ecd..00000000 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com> - * This file is part of Gluster Management Console. - * - * Gluster Management Console is free software; you can redistribute it and/or - * modify it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * Gluster Management Console is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License - * for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see - * <http://www.gnu.org/licenses/>. - *******************************************************************************/ -package com.gluster.storage.management.server.resources; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import javax.ws.rs.FormParam; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -import org.springframework.stereotype.Component; - -import static com.gluster.storage.management.core.constants.RESTConstants.*; -import com.gluster.storage.management.core.model.Response; -import com.gluster.storage.management.core.model.RunningTask; -import com.gluster.storage.management.core.model.RunningTaskStatus; -import com.gluster.storage.management.core.model.Status; -import com.gluster.storage.management.core.response.RunningTaskListResponse; -import com.gluster.storage.management.core.utils.StringUtil; -import com.gluster.storage.management.server.runningtasks.managers.RunningTaskManager; - -@Component -@Path(RESOURCE_PATH_CLUSTERS + "/{" + PATH_PARAM_CLUSTER_NAME + "}/" + RESOURCE_RUNNING_TASKS) -public class RunningTaskResource { - - private static final String PKG = "com.gluster.storage.management.server.runningtasks.managers"; - private static final String MANAGER = "Manager"; - - @GET - @Produces(MediaType.TEXT_XML) - public RunningTaskListResponse getRunningTasks() { - - RunningTaskStatus taskStatus = new RunningTaskStatus(); - List<RunningTask> runningTasks = new ArrayList<RunningTask>(); - - taskStatus.setCode(Status.STATUS_CODE_RUNNING); - taskStatus.setPercentageSupported(false); - - // Volume rebalance - RunningTask task = new RunningTask(); - task.setId("0001"); - task.setType(RunningTask.TASK_TYPES.VOLUME_REBALANCE); - task.setReference("Volume1"); - task.setTaskInfo(task.getTaskType(task.getType()) + " on [" + task.getReference() + "]"); - task.setStatus(taskStatus); - runningTasks.add(task); - - task = new RunningTask(); - task.setId("0002"); - task.setType(RunningTask.TASK_TYPES.VOLUME_REBALANCE); - task.setReference("Volume2"); - task.setTaskInfo(task.getTaskType(task.getType()) + " on [" + task.getReference() + "]"); - task.setStatus(taskStatus); - runningTasks.add(task); - - // MigrateDisk - task = new RunningTask(); - task.setId("0003"); - task.setType(RunningTask.TASK_TYPES.BRICK_MIGRATE); - task.setReference("Volume3:server1:sda1"); // Disk reference - task.setTaskInfo(task.getTaskType(task.getType()) + " for volume [" + task.getReference().split(":")[0] - + "] brick [" + task.getReference().split(":")[1] + ":" + task.getReference().split(":")[2] + "]"); - task.setStatus(taskStatus); - runningTasks.add(task); - - // FormatDisk - task = new RunningTask(); - task.setId("0004"); - task.setType(RunningTask.TASK_TYPES.DISK_FORMAT); - task.setReference("server1:sdb1"); // Disk reference - task.setTaskInfo(task.getTaskType(task.getType()) + " [" + task.getReference() + "]"); - taskStatus.setPercentageSupported(true); - taskStatus.getPercentCompleted(45); - task.setStatus(taskStatus); - runningTasks.add(task); - - return new RunningTaskListResponse(Status.STATUS_SUCCESS, runningTasks); - } - - @SuppressWarnings("rawtypes") - public Response startTask(@FormParam("taskType") RunningTask.TASK_TYPES taskType) { - String taskTypeStr = StringUtil.removeSpaces(new RunningTask().getTaskType(taskType)); - String managerClassName = PKG + "." + taskTypeStr + MANAGER; - - Class managerClass; - RunningTaskManager manager = null; - try { - managerClass = Class.forName(managerClassName); - manager = (RunningTaskManager) managerClass.newInstance(); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - - // TODO: set form params on the manager - Map params = null; - manager.setFormParams(params); - manager.start(); - return null; - } - - // TODO Remove the test script for production - public static void main(String[] args) { - RunningTaskResource rt = new RunningTaskResource(); - RunningTaskListResponse tasks = rt.getRunningTasks(); - List<RunningTask> runningTasks = tasks.getRunningTasks(); - for (RunningTask x : runningTasks) { - System.out.println(x.getId() + " : " + x.getType() + " : " + x.getTaskInfo()); - } - } -} diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/TasksResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/TasksResource.java index 0fc69623..fe9a7763 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/TasksResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/TasksResource.java @@ -22,7 +22,7 @@ package com.gluster.storage.management.server.resources; import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_CLUSTER_NAME; import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_TASK_ID; -import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_TASK_OPERATION; +import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_OPERATION; import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS; import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_TASKS; @@ -32,6 +32,7 @@ import java.util.List; import java.util.Map; import javax.ws.rs.DELETE; +import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.PUT; import javax.ws.rs.Path; @@ -40,6 +41,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; +import com.gluster.storage.management.core.constants.RESTConstants; import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Task; @@ -65,6 +67,14 @@ public class TasksResource { tasksMap.remove(task.getId()); } + public List<TaskInfo> getAllTasksInfo() { + List<TaskInfo> allTasksInfo = new ArrayList<TaskInfo>(); + for (Map.Entry<String, Task> entry : tasksMap.entrySet()) { + allTasksInfo.add(entry.getValue().getTaskInfo()); + } + return allTasksInfo; + } + public List<Task> getAllTasks() { List<Task> allTasks = new ArrayList<Task>(); for (Map.Entry<String, Task> entry : tasksMap.entrySet()) { @@ -86,12 +96,8 @@ public class TasksResource { @Produces(MediaType.TEXT_XML) public TaskListResponse getTasks() { TaskListResponse taskListResponse = new TaskListResponse(); - List<TaskInfo> taskInfoList = new ArrayList<TaskInfo>(); try { - for (Task task : getAllTasks()) { - taskInfoList.add(task.getTaskInfo()); - } - taskListResponse.setData(taskInfoList); + taskListResponse.setData(getAllTasksInfo()); taskListResponse.setStatus(new Status(Status.STATUS_CODE_SUCCESS, "")); } catch (GlusterRuntimeException e) { taskListResponse.setStatus(new Status(e)); @@ -103,19 +109,19 @@ public class TasksResource { @Path("/{" + PATH_PARAM_TASK_ID + "}") @Produces(MediaType.TEXT_XML) public TaskResponse performTask(@PathParam(PATH_PARAM_TASK_ID) String taskId, - @QueryParam(QUERY_PARAM_TASK_OPERATION) String taskOperation) { + @FormParam(FORM_PARAM_OPERATION) String taskOperation) { Task task = getTask(taskId); TaskInfo taskInfo = null; TaskResponse taskResponse = new TaskResponse(); try { - if (taskOperation.equals("resume")) { + if (taskOperation.equals(RESTConstants.TASK_RESUME)) { taskInfo = task.resume(); } - if (taskOperation.equals("pause")) { + if (taskOperation.equals(RESTConstants.TASK_PAUSE)) { taskInfo = task.pause(); } - if (taskOperation.equals("stop")) { + if (taskOperation.equals(RESTConstants.TASK_STOP)) { taskInfo = task.stop(); } taskResponse.setData(taskInfo); @@ -130,7 +136,7 @@ public class TasksResource { @Path("/{" + PATH_PARAM_TASK_ID + "}") @Produces(MediaType.TEXT_XML) public TaskResponse deleteTask(@PathParam(PATH_PARAM_TASK_ID) String taskId, - @QueryParam(QUERY_PARAM_TASK_OPERATION) String taskOperation) { + @QueryParam(FORM_PARAM_OPERATION) String taskOperation) { TaskResponse taskResponse = new TaskResponse(); Task task = getTask(taskId); if (task == null) { diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java index 0d33e5b0..76432b3f 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java @@ -24,9 +24,9 @@ import static com.gluster.storage.management.core.constants.RESTConstants.FORM_P import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_OPERATION; import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_SOURCE; import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_TARGET; -import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VALUE_START; -import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VALUE_STOP; -import static com.gluster.storage.management.core.constants.RESTConstants.FROM_PARAM_AUTO_COMMIT; +import static com.gluster.storage.management.core.constants.RESTConstants.TASK_START; +import static com.gluster.storage.management.core.constants.RESTConstants.TASK_STOP; +import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_AUTO_COMMIT; import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_CLUSTER_NAME; import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_VOLUME_NAME; import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_BRICKS; @@ -220,9 +220,9 @@ public class VolumesResource { } private Status performOperation(String volumeName, String operation, GlusterServer onlineServer) { - if (operation.equals(FORM_PARAM_VALUE_START)) { + if (operation.equals(TASK_START)) { return glusterUtil.startVolume(volumeName, onlineServer.getName()); - } else if (operation.equals(FORM_PARAM_VALUE_STOP)) { + } else if (operation.equals(TASK_STOP)) { return glusterUtil.stopVolume(volumeName, onlineServer.getName()); } else { return new Status(Status.STATUS_CODE_FAILURE, "Invalid operation code [" + operation + "]"); @@ -648,7 +648,7 @@ public class VolumesResource { @Path("{" + PATH_PARAM_VOLUME_NAME + "}/" + RESOURCE_BRICKS) public TaskResponse migrateBrick(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @FormParam(FORM_PARAM_SOURCE) String fromBrick, - @FormParam(FORM_PARAM_TARGET) String toBrick, @FormParam(FROM_PARAM_AUTO_COMMIT) Boolean autoCommit) { + @FormParam(FORM_PARAM_TARGET) String toBrick, @FormParam(FORM_PARAM_AUTO_COMMIT) Boolean autoCommit) { TaskResponse taskResponse = new TaskResponse(); GlusterServer onlineServer = glusterServersResource.getOnlineServer(clusterName); diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/FormatDiskManager.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/FormatDiskManager.java deleted file mode 100644 index 37cc22f6..00000000 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/FormatDiskManager.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com> - * This file is part of Gluster Management Console. - * - * Gluster Management Console is free software; you can redistribute it and/or - * modify it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * Gluster Management Console is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License - * for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see - * <http://www.gnu.org/licenses/>. - *******************************************************************************/ -package com.gluster.storage.management.server.runningtasks.managers; - -import java.util.Map; - -import com.gluster.storage.management.core.model.Status; -import com.gluster.storage.management.core.model.RunningTaskStatus; - -public class FormatDiskManager implements RunningTaskManager { - - - @Override - public String getId() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus start() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus stop() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus pause() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus resume() { - // TODO Auto-generated method stub - return null; - } - - @Override - public void setFormParams(Map params) { - // TODO Auto-generated method stub - - } - - @Override - public RunningTaskStatus getStatus() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/MigrateDiskManager.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/MigrateDiskManager.java deleted file mode 100644 index 97916abe..00000000 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/MigrateDiskManager.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gluster.storage.management.server.runningtasks.managers; - -import java.util.Map; - -import com.gluster.storage.management.core.model.RunningTaskStatus; - -public class MigrateDiskManager implements RunningTaskManager { - - @Override - public String getId() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus start() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus stop() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus pause() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus resume() { - // TODO Auto-generated method stub - return null; - } - - @Override - public void setFormParams(Map params) { - // TODO Auto-generated method stub - - } - - @Override - public RunningTaskStatus getStatus() { - // TODO Auto-generated method stub - return null; - } -} diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/RunningTaskManager.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/RunningTaskManager.java deleted file mode 100755 index a21c6b81..00000000 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/RunningTaskManager.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com> - * This file is part of Gluster Management Console. - * - * Gluster Management Console is free software; you can redistribute it and/or - * modify it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * Gluster Management Console is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License - * for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see - * <http://www.gnu.org/licenses/>. - *******************************************************************************/ - -package com.gluster.storage.management.server.runningtasks.managers; - -import java.util.Map; - -import com.gluster.storage.management.core.model.Status; -import com.gluster.storage.management.core.model.RunningTaskStatus; - -public interface RunningTaskManager { - - public String getId(); - - public RunningTaskStatus start(); - - public RunningTaskStatus stop(); - - public RunningTaskStatus pause(); - - public RunningTaskStatus resume(); - - public RunningTaskStatus getStatus(); - - @SuppressWarnings("rawtypes") - public void setFormParams(Map params); - -} diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/VolumeRebalanceManager.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/VolumeRebalanceManager.java deleted file mode 100644 index 01a5dc25..00000000 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/runningtasks/managers/VolumeRebalanceManager.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gluster.storage.management.server.runningtasks.managers; - -import java.util.Map; - -import com.gluster.storage.management.core.model.RunningTaskStatus; - -public class VolumeRebalanceManager implements RunningTaskManager { - - @Override - public String getId() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus start() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus stop() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus pause() { - // TODO Auto-generated method stub - return null; - } - - @Override - public RunningTaskStatus resume() { - // TODO Auto-generated method stub - return null; - } - - @Override - public void setFormParams(Map params) { - // TODO Auto-generated method stub - - } - - @Override - public RunningTaskStatus getStatus() { - // TODO Auto-generated method stub - return null; - } -} |
