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/10/14 18:56:57 UTC

svn commit: r1531976 - in /airavata/trunk/modules: distribution/airavata-server/src/main/resources/conf/ xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/

Author: lahiru
Date: Mon Oct 14 16:56:56 2013
New Revision: 1531976

URL: http://svn.apache.org/r1531976
Log:
changing host.xml reading and adding bigred2 and other hosts as default hosts.

Modified:
    airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/airavata-server.properties
    airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/host.xml
    airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java

Modified: airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/airavata-server.properties
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/airavata-server.properties?rev=1531976&r1=1531975&r2=1531976&view=diff
==============================================================================
--- airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/airavata-server.properties (original)
+++ airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/airavata-server.properties Mon Oct 14 16:56:56 2013
@@ -102,10 +102,20 @@ myproxy.life=3600
 # XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
 trusted.cert.location=/path/to/trusted/certificates
 
-# SSH PKI key pair is SSH based authentication is used.
-#ssh.key=/home/user/.ssh/id_rsa
-#ssh.keypass=
-#ssh.username=usernameAtHost
+# SSH PKI key pair or ssh password can be used SSH based authentication is used.
+
+################# ---------- For ssh key pair authentication ------------------- ################
+#public.ssh.key=/path to public key for ssh
+#ssh.username=username for ssh connection
+#private.ssh.key=/path to private key file for ssh
+#ssh.keypass=passphrase for the private key
+
+
+################# ---------- For ssh key pair authentication ------------------- ################
+#ssh.username=username for ssh connection
+#ssh.password=Password for ssh connection
+
+
 
 ###########################################################################
 # Airavata Message Broker Basic Configurations.

Modified: airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/host.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/host.xml?rev=1531976&r1=1531975&r2=1531976&view=diff
==============================================================================
--- airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/host.xml (original)
+++ airavata/trunk/modules/distribution/airavata-server/src/main/resources/conf/host.xml Mon Oct 14 16:56:56 2013
@@ -14,6 +14,7 @@
 
 <servers>
     <server>
+        <type>local</type>
         <name>LocalHost</name>
         <host>127.0.0.1</host>
     </server>
@@ -32,33 +33,59 @@
         <gridftp.endpoint>gsiftp://gridftp-forge.ncsa.xsede.org:2811/</gridftp.endpoint>
     </server>
  	-->
-     <server>
-        <name>lonestar</name>
+    <server>
+        <name>globus-lonestar</name>
+        <type>globus</type>
         <host>lonestar4.tacc.teragrid.org</host>
         <gram.endpoint>gridftp1.ls4.tacc.utexas.edu:2119/jobmanager-sge</gram.endpoint>
         <gridftp.endpoint>gsiftp://gridftp1.ls4.tacc.utexas.edu:2811/</gridftp.endpoint>
     </server>
 
-     <server>
-        <name>stampede</name>
+    <server>
+        <type>globus</type>
+        <name>globus-stampede</name>
         <host>stampede.tacc.utexas.edu</host>
         <gram.endpoint>login5.stampede.tacc.utexas.edu:2119/jobmanager-slurm3</gram.endpoint>
         <gridftp.endpoint>gsiftp://data1.stampede.tacc.utexas.edu:2811/</gridftp.endpoint>
     </server>
 
-     <server>
-        <name>trestles</name>
+    <server>
+        <type>globus</type>
+        <name>globus-trestles</name>
         <host>trestles.sdsc.edu</host>
         <gram.endpoint>trestles-login2.sdsc.edu:2119/jobmanager-pbstest2</gram.endpoint>
         <gridftp.endpoint>gsiftp://trestles-dm1.sdsc.edu:2811/</gridftp.endpoint>
     </server>
-    
-<!--     
-     <server>
-        <name>kraken</name>
-        <host>gsissh.kraken.nics.xsede.org</host>
-        <gram.endpoint>grid.nics.xsede.org:2119/jobmanager-pbs</gram.endpoint>
-        <gridftp.endpoint>gsiftp://gridftp.kraken.nics.xsede.org:2811/</gridftp.endpoint>
-    </server> -->
+    <server>
+        <type>ssh</type>
+        <name>bigred2</name>
+        <host>bigred2.uits.iu.edu</host>
+        <hpc.resource>true</hpc.resource>
+    </server>
+
+  <server>
+        <name>gsissh-lonestar</name>
+        <type>gsissh</type>
+        <host>lonestar4.tacc.teragrid.org</host>
+    </server>
+
+    <server>
+        <type>gsissh</type>
+        <name>gsissh-stampede</name>
+        <host>stampede.tacc.utexas.edu</host>
+    </server>
+
+    <server>
+        <type>gsissh</type>
+        <name>gsissh-trestles</name>
+        <host>trestles.sdsc.edu</host>
+    </server>
+    <!--
+    <server>
+       <name>kraken</name>
+       <host>gsissh.kraken.nics.xsede.org</host>
+       <gram.endpoint>grid.nics.xsede.org:2119/jobmanager-pbs</gram.endpoint>
+       <gridftp.endpoint>gsiftp://gridftp.kraken.nics.xsede.org:2811/</gridftp.endpoint>
+   </server> -->
 
 </servers>

Modified: airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java?rev=1531976&r1=1531975&r2=1531976&view=diff
==============================================================================
--- airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java (original)
+++ airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java Mon Oct 14 16:56:56 2013
@@ -49,7 +49,9 @@ import org.apache.airavata.common.utils.
 import org.apache.airavata.common.workflow.execution.context.WorkflowContextHeaderBuilder;
 import org.apache.airavata.commons.gfac.type.HostDescription;
 import org.apache.airavata.schemas.gfac.GlobusHostType;
+import org.apache.airavata.schemas.gfac.GsisshHostType;
 import org.apache.airavata.schemas.gfac.HostDescriptionType;
+import org.apache.airavata.schemas.gfac.SSHHostType;
 import org.apache.airavata.schemas.wec.ContextHeaderDocument;
 import org.apache.airavata.workflow.model.component.ComponentException;
 import org.apache.airavata.workflow.model.exceptions.WorkflowRuntimeException;
@@ -117,7 +119,7 @@ public class WorkflowInterpretorSkeleton
 	protected static final String JCR_REG = "jcr_registry";
 
 	protected WIServiceThread thread;
-    
+
     private AiravataAPI getAiravataAPI(){
         if (airavataAPI==null) {
 			try {
@@ -140,7 +142,7 @@ public class WorkflowInterpretorSkeleton
     	}
     	return interactor;
     }
-    
+
     public void startUp(final ConfigurationContext configctx, AxisService service) {
     	AiravataUtils.setExecutionAsServer();
     	new Thread(){
@@ -177,7 +179,7 @@ public class WorkflowInterpretorSkeleton
                             e.printStackTrace();
                         } catch (AiravataAPIInvocationException e) {
 		                    e.printStackTrace();
-		                
+
                         }
                     }else{
 		                provenance = false;
@@ -193,7 +195,7 @@ public class WorkflowInterpretorSkeleton
 		            }else{
 		                gfacEmbeddedMode = false;
 		            }
-                     
+
                      //save the interpreter service url in context
                     String localAddress = ServiceUtils.generateServiceURLFromConfigurationContext(configctx,SERVICE_NAME);
  					configctx.setProperty(SERVICE_URL,new URI(localAddress));
@@ -215,7 +217,7 @@ public class WorkflowInterpretorSkeleton
     	}.start();
 
     }
-    
+
     public void suspendWorkflow(String experimentId)throws Exception{
     	if (workflowConfigurations.containsKey(experimentId)){
     		if (getInteractor().isExecutionPaused(workflowConfigurations.get(experimentId))){
@@ -228,13 +230,13 @@ public class WorkflowInterpretorSkeleton
     		throw new Exception("Invalid Experiment id: Experiment "+experimentId+" not running");
     	}
     }
-    
+
     public void resumeWorkflow(String experimentId)throws Exception{
     	if (workflowConfigurations.containsKey(experimentId)){
     		if (getInteractor().isExecutionPaused(workflowConfigurations.get(experimentId)) || workflowConfigurations.get(experimentId).getWorkflow().getExecutionState()==WorkflowExecutionState.STOPPED){
     			log.info("Resuming workflow execution "+experimentId+"...");
     			getInteractor().resumeExecution(workflowConfigurations.get(experimentId));
-    			
+
     		}else{
     			throw new Exception("Experiment '"+experimentId+"' is not suspended!!!");
     		}
@@ -243,7 +245,7 @@ public class WorkflowInterpretorSkeleton
     		throw new Exception("Invalid Experiment id: Experiment "+experimentId+" not running");
     	}
     }
-    
+
     public void haltWorkflow(String experimentId)throws Exception{
     	if (workflowConfigurations.containsKey(experimentId)){
 			log.info("Terminating workflow execution "+experimentId+"...");
@@ -252,7 +254,7 @@ public class WorkflowInterpretorSkeleton
     		throw new Exception("Invalid Experiment id: Experiment "+experimentId+" not running");
     	}
     }
-    
+
     /**
      *
      * @param workflowAsString
@@ -347,7 +349,7 @@ public class WorkflowInterpretorSkeleton
     	Map<String, String> configuration = new HashMap<String, String>();
     	configuration.put(BROKER, getAiravataAPI().getAiravataManager().getEventingServiceURL().toASCIIString());
         configuration.put(MSGBOX, getAiravataAPI().getAiravataManager().getMessageBoxServiceURL().toASCIIString());
-        
+
     	return setupAndLaunch(workflowAsString, experimentId, gatewayId, username, inputData.toArray(new NameValue[]{}), configuration, inNewThread, builder);
     }
     private String setupAndLaunch(String workflowAsString, String topic, String gatewayId, String username,
@@ -413,7 +415,7 @@ public class WorkflowInterpretorSkeleton
 
         final WorkflowInterpretorEventListener finalListener = listener;
         conf.setAiravataAPI(getAiravataAPI());
-       
+
         final WorkflowInterpreter finalInterpreter = interpreter;
 //        interpreter.setActOnProvenance(provenance);
         interpreter.setProvenanceWriter(runner);
@@ -528,15 +530,24 @@ public class WorkflowInterpretorSkeleton
         StAXOMBuilder builder = new StAXOMBuilder(reader);
         OMElement documentElement = builder.getDocumentElement();
         Iterator<?> server = documentElement.getChildrenWithName(new QName("server"));
+        HostDescription hostDescription = new HostDescription();
         while (server.hasNext()) {
             OMElement next = (OMElement) server.next();
-            HostDescription hostDescription;
-            if (next.getFirstChildWithName(new QName("gram.endpoint")) != null) {
-                hostDescription = new HostDescription(GlobusHostType.type);
+            if (next.getFirstChildWithName(new QName("gram.endpoint")) != null &&
+                    "globus".equals(next.getFirstChildWithName(new QName("type")).getText())) {
+                hostDescription.getType().changeType(GlobusHostType.type);
                 ((GlobusHostType) hostDescription.getType()).addGlobusGateKeeperEndPoint(next.getFirstChildWithName(new QName("gram.endpoint")).getText());
                 ((GlobusHostType) hostDescription.getType()).addGridFTPEndPoint(next.getFirstChildWithName(new QName("gridftp.endpoint")).getText());
-            } else {
-                hostDescription = new HostDescription(HostDescriptionType.type);
+            } else if("ssh".equals(next.getFirstChildWithName(new QName("type")).getText())) {
+                hostDescription.getType().changeType(SSHHostType.type);
+                if(next.getFirstChildWithName(new QName("hpc.resource")) != null){
+                    if("true".equals(next.getFirstChildWithName(new QName("gram.endpoint")))){
+                        ((SSHHostType) hostDescription.getType()).setHpcResource(true);
+                    }
+                }
+                ((SSHHostType) hostDescription.getType()).setHpcResource(false);
+            } else if("gsissh".equals(next.getFirstChildWithName(new QName("type")).getText())) {
+                hostDescription.getType().changeType(GsisshHostType.type);
             }
             (hostDescription.getType()).setHostName(next.getFirstChildWithName(new QName("name")).getText());
             (hostDescription.getType()).setHostAddress(next.getFirstChildWithName(new QName("host")).getText());