diff options
| author | Dhandapani <dhandapani@gluster.com> | 2011-07-06 18:32:32 +0530 |
|---|---|---|
| committer | Dhandapani <dhandapani@gluster.com> | 2011-07-06 18:32:32 +0530 |
| commit | af3d4028e2ae2292ad62824467081844066efa2f (patch) | |
| tree | e3d5e8e7891c41cd22041e5437ec7a41178f0b19 /src/com.gluster.storage.management.server | |
| parent | b1facccacf33b47682f3257f7fbc6ba394ec6b79 (diff) | |
| parent | 9f0728357a909a9b38d74866ebb03a1be23dae87 (diff) | |
Merge branch 'master' of git@github.com:gluster/console
Diffstat (limited to 'src/com.gluster.storage.management.server')
| -rw-r--r-- | src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java | 2 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/BrickMigrationStatusTask.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/DiskMigrationStatusTask.java) | 3 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitServerTask.java | 6 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java | 44 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.server/src/spring/gluster-server-base.xml | 2 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.server/src/spring/gluster-server-security.xml | 8 |
6 files changed, 32 insertions, 33 deletions
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java index 1acba6b7..38b68040 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java @@ -153,7 +153,7 @@ public class TasksResource extends AbstractResource { @DELETE @Path("/{" + PATH_PARAM_TASK_ID + "}") @Produces(MediaType.APPLICATION_XML) - public Response deleteTask(@PathParam(PATH_PARAM_TASK_ID) String taskId, + public Response clearTask(@PathParam(PATH_PARAM_TASK_ID) String taskId, @QueryParam(FORM_PARAM_OPERATION) String taskOperation) { Task task = getTask(taskId); if (task == null) { diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/DiskMigrationStatusTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/BrickMigrationStatusTask.java index ccfd58be..0f00ad3a 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/DiskMigrationStatusTask.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/BrickMigrationStatusTask.java @@ -27,7 +27,7 @@ import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE; import com.gluster.storage.management.server.resources.v1_0.TasksResource; @Component -public class DiskMigrationStatusTask { +public class BrickMigrationStatusTask { @Autowired private TasksResource tasksResource; @@ -39,5 +39,4 @@ public class DiskMigrationStatusTask { } } } - } diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitServerTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitServerTask.java index 8e38bd40..3fe794f5 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitServerTask.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitServerTask.java @@ -94,7 +94,7 @@ public class InitServerTask extends JdbcDaoSupport { } private void initDatabase() { - logger.debug("Initializing server data..."); + logger.info("Initializing server data..."); executeScriptsFrom(getDirFromRelativePath(SCRIPT_DIR + appVersion)); securePasswords(); // encrypt the passwords @@ -134,7 +134,7 @@ public class InitServerTask extends JdbcDaoSupport { upgradeData(dbVersion, appVersion); } } catch (Exception ex) { - ex.printStackTrace(); + logger.info("No cluster created yet. DB version query failed with error [" + ex.getMessage() + "]", ex); // Database not created yet. Create it! initDatabase(); } @@ -148,7 +148,7 @@ public class InitServerTask extends JdbcDaoSupport { logger.info("Cluster: [" + cluster.getId() + "][" + cluster.getName() + "]"); } } else { - logger.info("No cluster created yet."); + } } diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java index af5e657a..9236a6d3 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java @@ -20,22 +20,16 @@ */ package com.gluster.storage.management.server.tasks; -import java.util.concurrent.ExecutionException; - -import org.apache.derby.iapi.sql.execute.ExecPreparedStatement; import org.springframework.context.ApplicationContext; import org.springframework.web.context.ContextLoader; import com.gluster.storage.management.core.exceptions.ConnectionException; -import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.Status; -import com.gluster.storage.management.core.model.TaskInfo; import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE; import com.gluster.storage.management.core.model.TaskStatus; import com.gluster.storage.management.core.utils.ProcessResult; import com.gluster.storage.management.server.services.ClusterService; import com.gluster.storage.management.server.utils.GlusterUtil; -import com.gluster.storage.management.server.utils.SshUtil; import com.sun.jersey.core.util.Base64; public class MigrateBrickTask extends Task { @@ -142,6 +136,19 @@ public class MigrateBrickTask extends Task { commitMigration(getNewOnlineServer().getName()); } } + + private void commitMigration(String serverName) { + ProcessResult processResult = glusterUtil.executeBrickMigration(serverName, getTaskInfo().getReference(), + getFromBrick(), getToBrick(), "commit"); + TaskStatus taskStatus = new TaskStatus(); + if (processResult.isSuccess()) { + if (processResult.getOutput().trim().matches(".*commit successful$")) { + taskStatus.setCode(Status.STATUS_CODE_SUCCESS); + taskStatus.setMessage(processResult.getOutput()); + getTaskInfo().setStatus(taskStatus); + } + } + } @Override public void stop() { @@ -173,30 +180,25 @@ public class MigrateBrickTask extends Task { return checkMigrationStatus(getNewOnlineServer().getName()); } } - - public void commitMigration(String serverName) { - ProcessResult processResult = glusterUtil.executeBrickMigration(serverName, getTaskInfo().getReference(), - getFromBrick(), getToBrick(), "commit"); - TaskStatus taskStatus = new TaskStatus(); - if (processResult.isSuccess()) { - if (processResult.getOutput().trim().matches(".*commit successful$")) { - taskStatus.setCode(Status.STATUS_CODE_SUCCESS); - taskStatus.setMessage(processResult.getOutput()); // Common - getTaskInfo().setStatus(taskStatus); - } - } - } - + private TaskStatus checkMigrationStatus(String serverName) { if (getTaskInfo().getStatus().getCode() == Status.STATUS_CODE_PAUSE) { return getTaskInfo().getStatus(); } + // For committed task, status command (CLI) is invalid, just return current status + if (getTaskInfo().getStatus().getCode() == Status.STATUS_CODE_SUCCESS) { + return getTaskInfo().getStatus(); + } + TaskStatus taskStatus = new TaskStatus(); try { ProcessResult processResult = glusterUtil.executeBrickMigration(serverName, getTaskInfo().getReference(), getFromBrick(), getToBrick(), "status"); - if (processResult.getOutput().trim().matches("^Number of files migrated.*Migration complete$")) { + if (processResult.getOutput().trim().matches("^Number of files migrated.*Migration complete$") + || processResult.getOutput().trim().matches("^Number of files migrated = 0 .*Current file=")) { + // Note: Workaround - if no file in the volume brick to migrate, Gluster CLI is not giving proper + // (complete) status taskStatus.setCode(Status.STATUS_CODE_COMMIT_PENDING); if (autoCommit) { commitMigration(serverName); diff --git a/src/com.gluster.storage.management.server/src/spring/gluster-server-base.xml b/src/com.gluster.storage.management.server/src/spring/gluster-server-base.xml index 0a000732..b9fb2126 100644 --- a/src/com.gluster.storage.management.server/src/spring/gluster-server-base.xml +++ b/src/com.gluster.storage.management.server/src/spring/gluster-server-base.xml @@ -19,7 +19,7 @@ <!-- This task keeps checking status of disk migration tasks (wherever auto-commit is set to true) so that auto-commit can be performed as soon as the migration is complete --> <task:scheduled-tasks> - <task:scheduled ref="diskMigrationStatusTask" method="checkMigrationStatus" fixed-delay="60000" /> + <task:scheduled ref="brickMigrationStatusTask" method="checkMigrationStatus" fixed-delay="60000" /> </task:scheduled-tasks> <!-- Cluster environment. Valid values: vmware, aws, baremetal --> diff --git a/src/com.gluster.storage.management.server/src/spring/gluster-server-security.xml b/src/com.gluster.storage.management.server/src/spring/gluster-server-security.xml index c8301c7b..6f3ad72f 100644 --- a/src/com.gluster.storage.management.server/src/spring/gluster-server-security.xml +++ b/src/com.gluster.storage.management.server/src/spring/gluster-server-security.xml @@ -11,15 +11,13 @@ "> <http auto-config="true" use-expressions="true"> - <!-- intercept-url pattern="/resources/*" + <!-- intercept-url pattern="/1.0/*" access="hasRole('ROLE_ADMIN') and fullyAuthenticated" /> <intercept-url pattern="/*" access="permitAll" /--> <!-- SSL Protection --> - <intercept-url pattern="/1.0/*" access="hasRole('ROLE_ADMIN') - and fullyAuthenticated" - requires-channel="https" /> - <intercept-url pattern="/*" access="permitAll" requires-channel="any" /> + <intercept-url pattern="/*" access="hasRole('ROLE_ADMIN') and fullyAuthenticated" requires-channel="https" /> + <!-- intercept-url pattern="/*" access="permitAll" requires-channel="any" /--> <port-mappings> <port-mapping http="8080" https="8443" /> </port-mappings> |
