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 2014/02/10 20:45:23 UTC

[1/3] git commit: Adding orchestrator test by consuming registry-cpi

Updated Branches:
  refs/heads/master 728e04b3f -> 098896ac9


Adding orchestrator test by consuming registry-cpi


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c6284b3a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c6284b3a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c6284b3a

Branch: refs/heads/master
Commit: c6284b3a2a75930bbe64de026dd874a26aff20c5
Parents: 728e04b
Author: lahiru <la...@apache.org>
Authored: Mon Feb 10 14:28:06 2014 -0500
Committer: lahiru <la...@apache.org>
Committed: Mon Feb 10 14:28:06 2014 -0500

----------------------------------------------------------------------
 modules/orchestrator/orchestrator-core/pom.xml  |   5 +
 .../core/context/OrchestratorContext.java       |  11 +
 .../core/impl/EmbeddedGFACJobSubmitter.java     |  20 +-
 .../core/utils/OrchestratorUtils.java           |  37 +++-
 .../orchestrator/core/NewOrchestratorTest.java  | 206 +++++++++++++++++++
 .../orchestrator/core/util/Initialize.java      |  12 +-
 .../src/test/resources/orchestrator.properties  |  25 ++-
 7 files changed, 294 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c6284b3a/modules/orchestrator/orchestrator-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/pom.xml b/modules/orchestrator/orchestrator-core/pom.xml
index c394e74..fbde87f 100644
--- a/modules/orchestrator/orchestrator-core/pom.xml
+++ b/modules/orchestrator/orchestrator-core/pom.xml
@@ -55,6 +55,11 @@ the License. -->
             <version>${project.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.airavata</groupId>
+	    <artifactId>airavata-data-models</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
 			<scope>test</scope>

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6284b3a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java
index 31019c9..47179b1 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java
@@ -24,6 +24,7 @@ import org.apache.airavata.orchestrator.core.OrchestratorConfiguration;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
 import org.apache.airavata.registry.api.AiravataRegistry2;
 import org.apache.airavata.registry.api.OrchestratorRegistry;
+import org.apache.airavata.registry.cpi.Registry;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -38,6 +39,8 @@ public class OrchestratorContext {
 
     private AiravataRegistry2 registry;
 
+    private Registry newRegistry;
+
     public OrchestratorContext(List<GFACInstance> gfacInstanceList) {
         this.gfacInstanceList = new ArrayList<GFACInstance>();
     }
@@ -68,4 +71,12 @@ public class OrchestratorContext {
     public void setRegistry(AiravataRegistry2 registry) {
         this.registry = registry;
     }
+
+    public Registry getNewRegistry() {
+        return newRegistry;
+    }
+
+    public void setNewRegistry(Registry newRegistry) {
+        this.newRegistry = newRegistry;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6284b3a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
index 5c91c7d..31e1bfa 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
@@ -23,10 +23,7 @@ package org.apache.airavata.orchestrator.core.impl;
 
 import java.io.File;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
+import java.util.*;
 
 import org.apache.airavata.client.api.AiravataAPI;
 import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
@@ -42,12 +39,16 @@ import org.apache.airavata.gfac.context.ApplicationContext;
 import org.apache.airavata.gfac.context.JobExecutionContext;
 import org.apache.airavata.gfac.context.MessageContext;
 import org.apache.airavata.gfac.scheduler.HostScheduler;
+import org.apache.airavata.model.experiment.ConfigurationData;
 import org.apache.airavata.orchestrator.core.context.OrchestratorContext;
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
 import org.apache.airavata.orchestrator.core.job.JobSubmitter;
 import org.apache.airavata.orchestrator.core.utils.OrchestratorUtils;
 import org.apache.airavata.registry.api.JobRequest;
+import org.apache.airavata.registry.cpi.DataType;
+import org.apache.airavata.registry.cpi.DependentDataType;
+import org.apache.airavata.registry.cpi.TopLevelDataType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -149,8 +150,15 @@ public class EmbeddedGFACJobSubmitter implements JobSubmitter {
 
             jobExecutionContext.setApplicationContext(applicationContext);
 
-            jobExecutionContext.setOutMessageContext(new MessageContext(jobRequest.getOutputParameters()));
-            jobExecutionContext.setInMessageContext(new MessageContext(jobRequest.getInputParameters()));
+
+            ConfigurationData configurationData = (ConfigurationData) orchestratorContext.getNewRegistry().get(DataType.EXPERIMENT_CONFIGURATION_DATA, experimentID);
+            Map<String, String> experimentInputs = configurationData.getExperimentInputs();
+
+            jobExecutionContext.setInMessageContext(new MessageContext(OrchestratorUtils.getMessageContext(experimentInputs,
+                    serviceDescription.getType().getInputParametersArray())));
+
+            HashMap<String, Object> outputData = new HashMap<String, Object>();
+            jobExecutionContext.setOutMessageContext(new MessageContext(outputData));
 
             jobExecutionContext.setProperty(Constants.PROP_TOPIC, experimentID);
             jobExecutionContext.setExperimentID(experimentID);

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6284b3a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
index 4930684..afe856c 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
@@ -20,16 +20,20 @@
 */
 package org.apache.airavata.orchestrator.core.utils;
 
+import org.apache.airavata.gfac.GFacException;
+import org.apache.airavata.gfac.utils.GFacUtils;
 import org.apache.airavata.orchestrator.core.NewJobWorker;
 import org.apache.airavata.orchestrator.core.OrchestratorConfiguration;
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.registry.api.JobRequest;
+import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType;
+import org.apache.airavata.schemas.gfac.Parameter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.net.URL;
-import java.util.Properties;
+import java.util.*;
 
 /**
  * This contains orchestrator specific utilities
@@ -38,7 +42,7 @@ public class OrchestratorUtils {
     private final static Logger logger = LoggerFactory.getLogger(OrchestratorUtils.class);
 
     public static OrchestratorConfiguration loadOrchestratorConfiguration() throws OrchestratorException, IOException {
-		  //FIXME: (MEP) why are you using the NewJobWorker class to get the properties file here?
+        //FIXME: (MEP) why are you using the NewJobWorker class to get the properties file here?
         URL resource =
                 NewJobWorker.class.getClassLoader().getResource(OrchestratorConstants.ORCHESTRATOR_PROPERTIES);
         if (resource == null) {
@@ -50,27 +54,42 @@ public class OrchestratorUtils {
         Properties orchestratorProps = new Properties();
         orchestratorProps.load(resource.openStream());
         orchestratorConfiguration.setNewJobSubmitterClass((String) orchestratorProps.get(OrchestratorConstants.JOB_SUBMITTER));
-        orchestratorConfiguration.setSubmitterInterval(Integer.parseInt((String)orchestratorProps.get(OrchestratorConstants.SUBMIT_INTERVAL)));
-        orchestratorConfiguration.setThreadPoolSize(Integer.parseInt((String)orchestratorProps.get(OrchestratorConstants.THREAD_POOL_SIZE)));
+        orchestratorConfiguration.setSubmitterInterval(Integer.parseInt((String) orchestratorProps.get(OrchestratorConstants.SUBMIT_INTERVAL)));
+        orchestratorConfiguration.setThreadPoolSize(Integer.parseInt((String) orchestratorProps.get(OrchestratorConstants.THREAD_POOL_SIZE)));
         orchestratorConfiguration.setStartSubmitter(Boolean.valueOf(orchestratorProps.getProperty(OrchestratorConstants.START_SUBMITTER)));
         orchestratorConfiguration.setEmbeddedMode(Boolean.valueOf(orchestratorProps.getProperty(OrchestratorConstants.EMBEDDED_MODE)));
         return orchestratorConfiguration;
     }
 
-    public static boolean validateJobRequest(JobRequest request){
+    public static boolean validateJobRequest(JobRequest request) {
         /* todo implement a job request validation */
 
         return true;
     }
 
-    public static String getUniqueID(JobRequest jobRequest){
-        if(jobRequest.getUserExperimentID() != null){
+    public static String getUniqueID(JobRequest jobRequest) {
+        if (jobRequest.getUserExperimentID() != null) {
             return jobRequest.getUserExperimentID();
-        }else if(jobRequest.getSystemExperimentID() != null){
+        } else if (jobRequest.getSystemExperimentID() != null) {
             return jobRequest.getSystemExperimentID();
-        }else{
+        } else {
             return null;
         }
 
     }
+
+    public static Map<String, Object> getMessageContext(Map<String, String> experimentData,
+                                                        Parameter[] parameters) throws OrchestratorException {
+        HashMap<String, Object> stringObjectHashMap = new HashMap<String, Object>();
+
+        for (int i = 0; i < parameters.length; i++) {
+            String input = experimentData.get(parameters[i].getParameterName());
+            if (input != null) {
+                stringObjectHashMap.put(parameters[i].getParameterName(), GFacUtils.getInputActualParameter(parameters[i], input));
+            } else {
+                throw new OrchestratorException("Parameter:" + input + "is missing");
+            }
+        }
+        return stringObjectHashMap;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6284b3a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
new file mode 100644
index 0000000..f10cd06
--- /dev/null
+++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
@@ -0,0 +1,206 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.orchestrator.core;
+
+import junit.framework.Assert;
+import org.apache.airavata.client.AiravataAPIFactory;
+import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.commons.gfac.type.ActualParameter;
+import org.apache.airavata.commons.gfac.type.ApplicationDescription;
+import org.apache.airavata.commons.gfac.type.HostDescription;
+import org.apache.airavata.commons.gfac.type.ServiceDescription;
+import org.apache.airavata.model.experiment.*;
+import org.apache.airavata.orchestrator.core.model.ExperimentRequest;
+import org.apache.airavata.orchestrator.cpi.Orchestrator;
+import org.apache.airavata.orchestrator.cpi.impl.AbstractOrchestrator;
+import org.apache.airavata.orchestrator.cpi.impl.SimpleOrchestratorImpl;
+import org.apache.airavata.persistance.registry.jpa.impl.RegistryImpl;
+import org.apache.airavata.registry.api.JobRequest;
+import org.apache.airavata.registry.cpi.DependentDataType;
+import org.apache.airavata.registry.cpi.Registry;
+import org.apache.airavata.registry.cpi.TopLevelDataType;
+import org.apache.airavata.schemas.gfac.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.UUID;
+
+public class NewOrchestratorTest extends AbstractOrchestratorTest{
+    private static final Logger log = LoggerFactory.getLogger(SimpleOrchestratorTest.class);
+
+       private Orchestrator orchestrator;
+       private String experimentID;
+       @BeforeTest
+       public void setUp() throws Exception {
+           AiravataUtils.setExecutionAsServer();
+           super.setUp();
+           orchestrator = new SimpleOrchestratorImpl();
+           orchestrator.initialize();
+           createJobRequestWithDocuments(getAiravataAPI());
+       }
+
+       private void createJobRequestWithDocuments(AiravataAPI airavataAPI) {
+           // creating host description
+           HostDescription descriptor = new HostDescription();
+           descriptor.getType().setHostName("localhost");
+           descriptor.getType().setHostAddress("127.0.0.1");
+           try {
+               airavataAPI.getApplicationManager().saveHostDescription(descriptor);
+           } catch (AiravataAPIInvocationException e) {
+               e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+           }
+
+           ServiceDescription serviceDescription = new ServiceDescription();
+           List<InputParameterType> inputParameters = new ArrayList<InputParameterType>();
+           List<OutputParameterType> outputParameters = new ArrayList<OutputParameterType>();
+           serviceDescription.getType().setName("Echo");
+           serviceDescription.getType().setDescription("Echo service");
+           // Creating input parameters
+           InputParameterType parameter = InputParameterType.Factory.newInstance();
+           parameter.setParameterName("echo_input");
+           parameter.setParameterDescription("echo input");
+           ParameterType parameterType = parameter.addNewParameterType();
+           parameterType.setType(DataType.STRING);
+           parameterType.setName("String");
+           inputParameters.add(parameter);
+
+           // Creating output parameters
+           OutputParameterType outputParameter = OutputParameterType.Factory.newInstance();
+           outputParameter.setParameterName("echo_output");
+           outputParameter.setParameterDescription("Echo output");
+           ParameterType outputParaType = outputParameter.addNewParameterType();
+           outputParaType.setType(DataType.STRING);
+           outputParaType.setName("String");
+           outputParameters.add(outputParameter);
+
+           // Setting input and output parameters to serviceDescriptor
+           serviceDescription.getType().setInputParametersArray(inputParameters.toArray(new InputParameterType[]{}));
+           serviceDescription.getType().setOutputParametersArray(outputParameters.toArray(new OutputParameterType[]{}));
+
+           try {
+               airavataAPI.getApplicationManager().saveServiceDescription(serviceDescription);
+           } catch (AiravataAPIInvocationException e) {
+               e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+           }
+
+           ApplicationDescription applicationDeploymentDescription = new ApplicationDescription();
+           ApplicationDeploymentDescriptionType applicationDeploymentDescriptionType = applicationDeploymentDescription
+                   .getType();
+           applicationDeploymentDescriptionType.addNewApplicationName().setStringValue("EchoApplication");
+           applicationDeploymentDescriptionType.setExecutableLocation("/bin/echo");
+           applicationDeploymentDescriptionType.setScratchWorkingDirectory("/tmp");
+
+           try {
+               airavataAPI.getApplicationManager().saveApplicationDescription("Echo", "localhost", applicationDeploymentDescription);
+           } catch (AiravataAPIInvocationException e) {
+               e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+           }
+
+           //Using new airavata-api methods to store experiment metadata
+           BasicMetadata basicMetadata = new BasicMetadata();
+           basicMetadata.setExperimentName("test123");
+           basicMetadata.setUserName("admin");
+           basicMetadata.setUserNameIsSet(true);
+           basicMetadata.setProjectID("default");
+
+           AdvancedInputDataHandling advancedInputDataHandling = new AdvancedInputDataHandling();
+           AdvancedOutputDataHandling advancedOutputDataHandling = new AdvancedOutputDataHandling();
+           ComputationalResourceScheduling computationalResourceScheduling = new ComputationalResourceScheduling();
+           QualityOfServiceParams qualityOfServiceParams = new QualityOfServiceParams();
+           ConfigurationData configurationData = new ConfigurationData();
+
+
+           HashMap<String, String> exInputs = new HashMap<String, String>();
+           exInputs.put("echo_input", "echo_output=hello");
+
+           configurationData.setExperimentInputs(exInputs);
+           configurationData.setAdvanceInputDataHandling(advancedInputDataHandling);
+           configurationData.setAdvanceOutputDataHandling(advancedOutputDataHandling);
+           configurationData.setComputationalResourceScheduling(computationalResourceScheduling);
+           configurationData.setQosParams(qualityOfServiceParams);
+
+           Registry registry = new RegistryImpl();
+           experimentID = (String) registry.add(TopLevelDataType.EXPERIMENT_BASIC_DATA, basicMetadata);
+           registry.add(DependentDataType.EXPERIMENT_CONFIGURATION_DATA, configurationData, experimentID);
+       }
+
+       @Test
+       public void noDescriptorTest() throws Exception {
+
+           JobRequest jobRequest = createJobRequestWithoutDocuments(experimentID);
+
+           boolean b = orchestrator.launchExperiment(jobRequest);
+
+           if (b) {
+               // This means orchestrator successfully accepted the job
+               Assert.assertTrue(true);
+           } else {
+               Assert.assertFalse(true);
+           }
+       }
+
+
+       private JobRequest createJobRequestWithoutDocuments(String systemExpID) {
+           JobRequest jobRequest = new JobRequest();
+           jobRequest.setServiceName("Echo");
+//
+//           HashMap<String, Object> inputData = new HashMap<String, Object>();
+//           ActualParameter echo_input = new ActualParameter();
+//           ((StringParameterType) echo_input.getType()).setValue("echo_output=hello");
+//           inputData.put("echo_input", echo_input);
+
+           HashMap<String, Object> outputData = new HashMap<String, Object>();
+
+
+           // setting all the parameters to jobRequest
+           jobRequest.setSystemExperimentID(systemExpID);
+//           jobRequest.setInputParameters(inputData);
+           jobRequest.setOutputParameters(outputData);
+
+           return jobRequest;
+       }
+
+       private AiravataAPI getAiravataAPI() {
+           AiravataAPI airavataAPI = null;
+           if (airavataAPI == null) {
+               try {
+                   String systemUserName = ServerSettings.getSystemUser();
+                   String gateway = ServerSettings.getSystemUserGateway();
+                   airavataAPI = AiravataAPIFactory.getAPI(gateway, systemUserName);
+               } catch (ApplicationSettingsException e) {
+                   e.printStackTrace();
+               } catch (AiravataAPIInvocationException e) {
+                   e.printStackTrace();
+               }
+           }
+           return airavataAPI;
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6284b3a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
index e4f7cd5..e69b84b 100644
--- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
+++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
@@ -20,11 +20,9 @@
 */
 package org.apache.airavata.orchestrator.core.util;
 
+import org.apache.airavata.persistance.registry.jpa.Resource;
 import org.apache.airavata.persistance.registry.jpa.ResourceType;
-import org.apache.airavata.persistance.registry.jpa.resources.GatewayResource;
-import org.apache.airavata.persistance.registry.jpa.resources.UserResource;
-import org.apache.airavata.persistance.registry.jpa.resources.Utils;
-import org.apache.airavata.persistance.registry.jpa.resources.WorkerResource;
+import org.apache.airavata.persistance.registry.jpa.resources.*;
 import org.apache.airavata.registry.api.exception.RegistrySettingsException;
 import org.apache.airavata.registry.api.util.RegistrySettings;
 import org.apache.derby.drda.NetworkServerControl;
@@ -154,6 +152,12 @@ public class Initialize {
             WorkerResource workerResource = (WorkerResource) gatewayResource.create(ResourceType.GATEWAY_WORKER);
             workerResource.setUser(userResource.getUserName());
             workerResource.save();
+
+            ProjectResource resource = (ProjectResource)gatewayResource.create(ResourceType.PROJECT);
+            resource.setName("default");
+            resource.setWorker(workerResource);
+            resource.save();
+
         } catch (RegistrySettingsException e) {
             logger.error("Unable to read properties", e);
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/c6284b3a/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties b/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties
index 8e2fd53..60f8dba 100644
--- a/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties
+++ b/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties
@@ -1,6 +1,25 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
 job.submitter=org.apache.airavata.orchestrator.core.impl.EmbeddedGFACJobSubmitter
+job.validator=org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator
 submitter.interval=10000
-threadpool.size=0
+threadpool.size=10
 start.submitter=true
-embedded.mode=true
-
+embedded.mode=true
\ No newline at end of file


[3/3] git commit: Removing method from orchestrator-cpi AIRAVATA-1011

Posted by la...@apache.org.
Removing method from orchestrator-cpi AIRAVATA-1011


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/098896ac
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/098896ac
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/098896ac

Branch: refs/heads/master
Commit: 098896ac98195a69165598a071eb758a25118437
Parents: 0eae773
Author: lahiru <la...@apache.org>
Authored: Mon Feb 10 14:45:13 2014 -0500
Committer: lahiru <la...@apache.org>
Committed: Mon Feb 10 14:45:13 2014 -0500

----------------------------------------------------------------------
 .../org/apache/airavata/orchestrator/cpi/Orchestrator.java   | 8 --------
 1 file changed, 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/098896ac/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java
index f9d0990..a4f5a90 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java
@@ -66,14 +66,6 @@ public interface Orchestrator {
     void startJobSubmitter() throws OrchestratorException;
 
     /**
-     * This method will get called during graceful shutdown of Orchestrator
-     * This can be used to handle the shutdown of orchestrator gracefully.
-     * @return
-     * @throws OrchestratorException
-     */
-    void shutdown() throws OrchestratorException;
-
-    /**
      * This method can be used to parse the current job data configured in
      * Registry and validate its status, if it has minimum required parameters to
      * submit the job this method returns true otherwise this returns false


[2/3] git commit: changing orchestrator-cpi

Posted by la...@apache.org.
changing orchestrator-cpi


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/0eae7735
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/0eae7735
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/0eae7735

Branch: refs/heads/master
Commit: 0eae7735926f96a1df07222f6cbb27a5f982a7bd
Parents: c6284b3
Author: lahiru <la...@apache.org>
Authored: Mon Feb 10 14:42:19 2014 -0500
Committer: lahiru <la...@apache.org>
Committed: Mon Feb 10 14:42:19 2014 -0500

----------------------------------------------------------------------
 .../apache/airavata/orchestrator/cpi/Orchestrator.java   | 11 -----------
 1 file changed, 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0eae7735/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java
index 3da9874..f9d0990 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java
@@ -39,17 +39,6 @@ public interface Orchestrator {
      */
     boolean initialize() throws OrchestratorException;
 
-
-    /**
-     *  This method is the very first method which create an entry in
-     * database for a given experiment, this return the experiment ID, so
-     * user have full control for the experiment
-     * @param request
-     * @return
-     * @throws OrchestratorException
-     */
-    String createExperiment(ExperimentRequest request) throws OrchestratorException;
-
     /**
      * After creating the experiment user has the experimentID, then user
      * can create the JobRequest and send the Job input parameters to Orchestrator