Repository: airavata Updated Branches: refs/heads/develop 0de9433c0 -> 5e636cb88
using storage preferences and resources in gfac Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/5e636cb8 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/5e636cb8 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/5e636cb8 Branch: refs/heads/develop Commit: 5e636cb88d26cd3a081c788d9043cffd79f72443 Parents: 0de9433 Author: Chathuri Wimalasena <[email protected]> Authored: Tue Nov 24 12:16:48 2015 -0500 Committer: Chathuri Wimalasena <[email protected]> Committed: Tue Nov 24 12:16:48 2015 -0500 ---------------------------------------------------------------------- .../org/apache/airavata/gfac/impl/GFacEngineImpl.java | 12 +++++++++++- .../airavata/gfac/impl/task/SCPDataStageTask.java | 14 ++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/5e636cb8/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java index db2fb50..479310a 100644 --- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java +++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java @@ -40,6 +40,8 @@ import org.apache.airavata.gfac.impl.task.EnvironmentSetupTask; import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription; import org.apache.airavata.model.appcatalog.computeresource.*; import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile; +import org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference; +import org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription; import org.apache.airavata.model.application.io.DataType; import org.apache.airavata.model.application.io.InputDataObjectType; import org.apache.airavata.model.application.io.OutputDataObjectType; @@ -94,7 +96,15 @@ public class GFacEngineImpl implements GFacEngine { processContext.setGatewayResourceProfile(gatewayProfile); processContext.setComputeResourcePreference(appCatalog.getGatewayProfile().getComputeResourcePreference (gatewayId, processModel.getComputeResourceId())); -// appCatalog.getGatewayProfile().getStoragePreference() + StoragePreference storagePreference = appCatalog.getGatewayProfile().getStoragePreference(gatewayId, processModel.getStorageResourceId()); + if (storagePreference != null){ + processContext.setStoragePreference(storagePreference); + } + + StorageResourceDescription storageResource = appCatalog.getStorageResource().getStorageResource(processModel.getStorageResourceId()); + if (storageResource != null){ + processContext.setStorageResource(storageResource); + } processContext.setComputeResourceDescription(appCatalog.getComputeResource().getComputeResource (processContext.getComputeResourcePreference().getComputeResourceId())); processContext.setApplicationDeploymentDescription(appCatalog.getApplicationDeployment() http://git-wip-us.apache.org/repos/asf/airavata/blob/5e636cb8/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java index 7403c29..c4ee228 100644 --- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java +++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java @@ -44,6 +44,8 @@ import org.apache.airavata.gfac.core.task.Task; import org.apache.airavata.gfac.core.task.TaskException; import org.apache.airavata.gfac.impl.Factory; import org.apache.airavata.gfac.impl.SSHUtils; +import org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference; +import org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription; import org.apache.airavata.model.application.io.InputDataObjectType; import org.apache.airavata.model.application.io.OutputDataObjectType; import org.apache.airavata.model.commons.ErrorModel; @@ -81,6 +83,7 @@ public class SCPDataStageTask implements Task { @Override public void init(Map<String, String> propertyMap) throws TaskException { + // we use what expressed in gfac-config.yaml by default, later replace with storage preferences inputPath = propertyMap.get("inputPath"); hostName = propertyMap.get("hostName"); userName = propertyMap.get("userName"); @@ -177,6 +180,17 @@ public class SCPDataStageTask implements Task { } status = new TaskStatus(TaskState.COMPLETED); + StorageResourceDescription storageResource = taskContext.getParentProcessContext().getStorageResource(); + StoragePreference storagePreference = taskContext.getParentProcessContext().getStoragePreference(); + if (storageResource != null){ + hostName = storageResource.getHostName(); + } + + if (storagePreference != null){ + userName = storagePreference.getLoginUserName(); + inputPath = storagePreference.getFileSystemRootLocation(); + } + ServerInfo serverInfo = new ServerInfo(userName, hostName, DEFAULT_SSH_PORT); Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo); if (processState == ProcessState.INPUT_DATA_STAGING) {
