You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2013/02/07 19:43:45 UTC

svn commit: r1443650 - in /airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac: context/ handler/ provider/

Author: lahiru
Date: Thu Feb  7 18:43:44 2013
New Revision: 1443650

URL: http://svn.apache.org/r1443650
Log:
makesure we dn't do myproxy authentication for all the gridftp transfers.

Modified:
    airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java
    airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java
    airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java
    airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java
    airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/provider/GramProvider.java

Modified: airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java?rev=1443650&r1=1443649&r2=1443650&view=diff
==============================================================================
--- airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java (original)
+++ airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/context/JobExecutionContext.java Thu Feb  7 18:43:44 2013
@@ -40,6 +40,7 @@ public class JobExecutionContext extends
 
     private GFacNotifier notifier;
 
+    private SecurityContext securityContext;
     // Keep track of the current path of the message. Before hitting provider its in-path.
     // After provider its out-path.
     private boolean inPath = true;
@@ -156,4 +157,12 @@ public class JobExecutionContext extends
     public void setOutPath(){
         this.inPath = false;
     }
+
+    public SecurityContext getSecurityContext() {
+        return securityContext;
+    }
+
+    public void setSecurityContext(SecurityContext securityContext) {
+        this.securityContext = securityContext;
+    }
 }

Modified: airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java?rev=1443650&r1=1443649&r2=1443650&view=diff
==============================================================================
--- airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java (original)
+++ airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java Thu Feb  7 18:43:44 2013
@@ -51,8 +51,13 @@ public class GramDirectorySetupHandler i
         GridFtp ftp = new GridFtp();
 
         try {
-            GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
-            GSSCredential gssCred = gssContext.getGssCredentails();
+            if (jobExecutionContext.getSecurityContext() == null ||
+                    !(jobExecutionContext.getSecurityContext() instanceof GSISecurityContext))
+            {
+                GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
+                jobExecutionContext.setSecurityContext(gssContext);
+            }
+            GSSCredential gssCred = ((GSISecurityContext)jobExecutionContext.getSecurityContext()).getGssCredentails();
             String[] hostgridFTP = host.getGridFTPEndPointArray();
             if (hostgridFTP == null || hostgridFTP.length == 0) {
                 hostgridFTP = new String[]{host.getHostAddress()};

Modified: airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java?rev=1443650&r1=1443649&r2=1443650&view=diff
==============================================================================
--- airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java (original)
+++ airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java Thu Feb  7 18:43:44 2013
@@ -47,15 +47,16 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 
-public class GridFTPInputHandler implements GFacHandler{
+public class GridFTPInputHandler implements GFacHandler {
     private static final Logger log = LoggerFactory.getLogger(AppDescriptorCheckHandler.class);
+
     public void invoke(JobExecutionContext jobExecutionContext) throws GFacHandlerException {
         log.info("Invoking GridFTPInputHandler ...");
-         MessageContext inputNew = new MessageContext();
+        MessageContext inputNew = new MessageContext();
         try {
             MessageContext input = jobExecutionContext.getInMessageContext();
             Set<String> parameters = input.getParameters().keySet();
-            for (String paramName:parameters) {
+            for (String paramName : parameters) {
                 ActualParameter actualParameter = (ActualParameter) input.getParameters().get(paramName);
                 String paramValue = MappingFactory.toString(actualParameter);
                 //TODO: Review this with type
@@ -77,15 +78,20 @@ public class GridFTPInputHandler impleme
         }
         jobExecutionContext.setInMessageContext(inputNew);
     }
-     private static String stageInputFiles(JobExecutionContext jobExecutionContext, String paramValue) throws URISyntaxException, SecurityException, ToolsException, IOException {
+
+    private static String stageInputFiles(JobExecutionContext jobExecutionContext, String paramValue) throws URISyntaxException, SecurityException, ToolsException, IOException {
         URI gridftpURL;
         gridftpURL = new URI(paramValue);
         GlobusHostType host = (GlobusHostType) jobExecutionContext.getApplicationContext().getHostDescription().getType();
         ApplicationDeploymentDescriptionType app = jobExecutionContext.getApplicationContext().getApplicationDeploymentDescription().getType();
         GridFtp ftp = new GridFtp();
         URI destURI = null;
-        GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
-        GSSCredential gssCred = gssContext.getGssCredentails();
+        if (jobExecutionContext.getSecurityContext() == null ||
+                !(jobExecutionContext.getSecurityContext() instanceof GSISecurityContext)) {
+            GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
+            jobExecutionContext.setSecurityContext(gssContext);
+        }
+        GSSCredential gssCred = ((GSISecurityContext) jobExecutionContext.getSecurityContext()).getGssCredentails();
 
         for (String endpoint : host.getGridFTPEndPointArray()) {
             URI inputURI = GFacUtils.createGsiftpURI(endpoint, app.getInputDataDirectory());

Modified: airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java?rev=1443650&r1=1443649&r2=1443650&view=diff
==============================================================================
--- airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java (original)
+++ airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java Thu Feb  7 18:43:44 2013
@@ -52,9 +52,13 @@ public class GridFTPOutputHandler implem
         File localStdErrFile = null;
         Map<String, ActualParameter> stringMap = null;
         try {
-            GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
-            GSSCredential gssCred = gssContext.getGssCredentails();
-
+            if (jobExecutionContext.getSecurityContext() == null ||
+                    !(jobExecutionContext.getSecurityContext() instanceof GSISecurityContext))
+            {
+                GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
+                jobExecutionContext.setSecurityContext(gssContext);
+            }
+            GSSCredential gssCred = ((GSISecurityContext)jobExecutionContext.getSecurityContext()).getGssCredentails();
             String[] hostgridFTP = host.getGridFTPEndPointArray();
             if (hostgridFTP == null || hostgridFTP.length == 0) {
                 hostgridFTP = new String[]{host.getHostAddress()};
@@ -177,13 +181,13 @@ public class GridFTPOutputHandler implem
             GlobusHostType host = (GlobusHostType) jobExecutionContext.getApplicationContext().getHostDescription().getType();
             GridFtp ftp = new GridFtp();
 
-            GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
-            GSSCredential gssCred = null;
-            try {
-                gssCred = gssContext.getGssCredentails();
-            } catch (SecurityException e) {
-                e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+            if (jobExecutionContext.getSecurityContext() == null ||
+                    !(jobExecutionContext.getSecurityContext() instanceof GSISecurityContext))
+            {
+                GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
+                jobExecutionContext.setSecurityContext(gssContext);
             }
+            GSSCredential gssCred = ((GSISecurityContext)jobExecutionContext.getSecurityContext()).getGssCredentails();
             try {
                 if ("URI".equals(actualParameter.getType().getType().toString())) {
                     for (String endpoint : host.getGridFTPEndPointArray()) {

Modified: airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/provider/GramProvider.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/provider/GramProvider.java?rev=1443650&r1=1443649&r2=1443650&view=diff
==============================================================================
--- airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/provider/GramProvider.java (original)
+++ airavata/trunk/modules/gfac-core/src/main/java/org/apache/airavata/gfac/provider/GramProvider.java Thu Feb  7 18:43:44 2013
@@ -59,8 +59,13 @@ public class GramProvider implements GFa
             /*
             * Set Security
             */
-            GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
-            GSSCredential gssCred = gssContext.getGssCredentails();
+            if (jobExecutionContext.getSecurityContext() == null ||
+                    !(jobExecutionContext.getSecurityContext() instanceof GSISecurityContext))
+            {
+                GSISecurityContext gssContext = new GSISecurityContext(jobExecutionContext.getGFacConfiguration());
+                jobExecutionContext.setSecurityContext(gssContext);
+            }
+            GSSCredential gssCred = ((GSISecurityContext)jobExecutionContext.getSecurityContext()).getGssCredentails();
             job.setCredentials(gssCred);
             // We do not support multiple gatekeepers in XBaya GUI, so we simply pick the 0th element in the array
             String gateKeeper = host.getGlobusGateKeeperEndPointArray(0);