You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/03/11 21:43:14 UTC
airavata git commit: Refactored Archive Task
Repository: airavata
Updated Branches:
refs/heads/develop f7ea977d2 -> 4a04fab74
Refactored Archive Task
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4a04fab7
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4a04fab7
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4a04fab7
Branch: refs/heads/develop
Commit: 4a04fab74f2e3006c2cc36f1d88f243159dd3641
Parents: f7ea977
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Fri Mar 11 15:43:07 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Fri Mar 11 15:43:07 2016 -0500
----------------------------------------------------------------------
.../apache/airavata/gfac/impl/task/ArchiveTask.java | 16 +++++++++-------
.../cpi/impl/SimpleOrchestratorImpl.java | 4 ++--
2 files changed, 11 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/4a04fab7/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/ArchiveTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/ArchiveTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/ArchiveTask.java
index ef1708b..ae44997 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/ArchiveTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/ArchiveTask.java
@@ -121,24 +121,26 @@ public class ArchiveTask implements Task {
workingDirName = path.substring(path.lastIndexOf(File.separator) + 1, path.length());
// tar working dir
// cd /Users/syodage/Desktop/temp/.. && tar -cvf path/workingDir.tar temp
- String archiveTar = workingDirName + ".tar";
- CommandInfo commandInfo = new RawCommandInfo("cd " + path + "/.. && tar -cvf "
- + path + "/" + archiveTar + " " + workingDirName);
+ String archiveTar = "archive.tar";
+ String resourceAbsTarFilePath = path + "/" + archiveTar;
+ CommandInfo commandInfo = new RawCommandInfo("cd " + path + " && tar -cvf "
+ + resourceAbsTarFilePath + " ./* ");
// move tar to storage resource
- path += "/" + archiveTar;
remoteCluster.execute(commandInfo);
destinationURI = getDestinationURI(taskContext, archiveTar);
- remoteCluster.scpThirdParty(path ,destinationURI.getPath() , sshSession, RemoteCluster.DIRECTION.FROM, true);
+ remoteCluster.scpThirdParty(resourceAbsTarFilePath ,destinationURI.getPath() , sshSession, RemoteCluster.DIRECTION.FROM, true);
// delete tar in remote computer resource
- commandInfo = new RawCommandInfo("rm " + path + "/" + archiveTar);
+ commandInfo = new RawCommandInfo("rm " + resourceAbsTarFilePath);
remoteCluster.execute(commandInfo);
// untar file and delete tar in storage resource
String destPath = destinationURI.getPath();
String destParent = destPath.substring(0, destPath.lastIndexOf("/"));
- commandInfo = new RawCommandInfo("cd " + destParent + " && tar -xvf " + archiveTar + " && rm " + archiveTar);
+ String storageArchiveDir = "ARCHIVE";
+ commandInfo = new RawCommandInfo("cd " + destParent + " && mkdir " + storageArchiveDir +
+ " && tar -xvf " + archiveTar + " -C " + storageArchiveDir + " && rm " + archiveTar);
executeCommand(sshSession, commandInfo, new StandardOutReader());
} catch (GFacException | AiravataException | URISyntaxException | SSHApiException e) {
String msg = "Error! Archive task failed";
http://git-wip-us.apache.org/repos/asf/airavata/blob/4a04fab7/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
index ca7be48..559f007 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
@@ -572,8 +572,8 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
ComputeResourcePreference computeResourcePreference = OrchestratorUtils.getComputeResourcePreference(orchestratorContext, processModel, gatewayId);
ComputeResourceDescription computeResource = orchestratorContext.getRegistry().getAppCatalog().getComputeResource().getComputeResource(processModel.getComputeResourceId());
- String remoteOutputDir = computeResourcePreference.getScratchLocation() + File.separator + processModel.getProcessId();
- remoteOutputDir = remoteOutputDir.endsWith("/") ? remoteOutputDir : remoteOutputDir + "/";
+ String remoteOutputDir = computeResourcePreference.getScratchLocation(); // TODO check tail '/' in scratch path
+ remoteOutputDir = remoteOutputDir.endsWith("/") ? remoteOutputDir + processModel.getProcessId() : remoteOutputDir + "/" + processModel.getProcessId();
DataStagingTaskModel submodel = new DataStagingTaskModel();
DataMovementProtocol dataMovementProtocol = OrchestratorUtils.getPreferredDataMovementProtocol(orchestratorContext, processModel, gatewayId);
URI source = null;