Repository: airavata Updated Branches: refs/heads/master 1dc04ce7c -> 46b17de73
http://git-wip-us.apache.org/repos/asf/airavata/blob/46b17de7/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java index eae6b6c..829f25b 100644 --- a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java +++ b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java @@ -24,6 +24,7 @@ package org.apache.airavata.orchestrator.client; 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.client.tools.DocumentCreator; import org.apache.airavata.common.exception.ApplicationSettingsException; import org.apache.airavata.common.utils.AiravataUtils; import org.apache.airavata.common.utils.ServerSettings; @@ -34,8 +35,6 @@ import org.apache.airavata.model.workspace.experiment.Experiment; import org.apache.airavata.model.workspace.experiment.UserConfigurationData; import org.apache.airavata.orchestrator.cpi.OrchestratorService; import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory; -import org.apache.airavata.registry.cpi.ChildDataType; -import org.apache.airavata.registry.cpi.CompositeIdentifier; import org.apache.airavata.registry.cpi.ParentDataType; import org.apache.airavata.registry.cpi.Registry; import org.apache.airavata.schemas.gfac.DataType; http://git-wip-us.apache.org/repos/asf/airavata/blob/46b17de7/modules/orchestrator/orchestrator-client-sdks/pom.xml ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-client-sdks/pom.xml b/modules/orchestrator/orchestrator-client-sdks/pom.xml new file mode 100644 index 0000000..d9f2e4e --- /dev/null +++ b/modules/orchestrator/orchestrator-client-sdks/pom.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!--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. --> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <parent> + <artifactId>orchestrator</artifactId> + <groupId>org.apache.airavata</groupId> + <version>0.12-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <name>Airavata Orchestrator Client SDK</name> + <artifactId>airavata-orchestrator-client-sdks</artifactId> + <packaging>jar</packaging> + <url>http://airavata.apache.org/</url> + + <dependencies> + <dependency> + <groupId>org.apache.thrift</groupId> + <artifactId>libthrift</artifactId> + <version>${thrift.version}</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>${org.slf4j.version}</version> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-orchestrator-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-orchestrator-service</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-job-monitor</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-gfac-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-model-utils</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + </properties> + +</project> http://git-wip-us.apache.org/repos/asf/airavata/blob/46b17de7/modules/orchestrator/orchestrator-client-sdks/src/main/java/org/apache/airavata/orchestrator/client/sample/OrchestratorClientSample.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-client-sdks/src/main/java/org/apache/airavata/orchestrator/client/sample/OrchestratorClientSample.java b/modules/orchestrator/orchestrator-client-sdks/src/main/java/org/apache/airavata/orchestrator/client/sample/OrchestratorClientSample.java new file mode 100644 index 0000000..f1753f4 --- /dev/null +++ b/modules/orchestrator/orchestrator-client-sdks/src/main/java/org/apache/airavata/orchestrator/client/sample/OrchestratorClientSample.java @@ -0,0 +1,137 @@ +/* + * + * 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.client.sample; + +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.client.tools.DocumentCreator; +import org.apache.airavata.common.exception.ApplicationSettingsException; +import org.apache.airavata.common.utils.AiravataUtils; +import org.apache.airavata.common.utils.ClientSettings; +import org.apache.airavata.model.util.ExperimentModelUtil; +import org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling; +import org.apache.airavata.model.workspace.experiment.DataObjectType; +import org.apache.airavata.model.workspace.experiment.Experiment; +import org.apache.airavata.model.workspace.experiment.UserConfigurationData; +import org.apache.airavata.orchestrator.client.OrchestratorClientFactory; +import org.apache.airavata.orchestrator.cpi.OrchestratorService; +import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory; +import org.apache.airavata.registry.cpi.ParentDataType; +import org.apache.airavata.registry.cpi.Registry; +import org.apache.airavata.schemas.gfac.DataType; +import org.apache.thrift.TException; + +import java.util.ArrayList; +import java.util.List; + +public class OrchestratorClientSample { + private static DocumentCreator documentCreator; + private static OrchestratorService.Client orchestratorClient; + private static Registry registry; + private static int NUM_CONCURRENT_REQUESTS = 1; + private static final String DEFAULT_USER = "defauly.registry.user"; + private static final String DEFAULT_USER_PASSWORD = "default.registry.password"; + private static final String DEFAULT_GATEWAY = "default.registry.gateway"; + private static String sysUser; + private static String sysUserPwd; + private static String gateway; + + public static void main(String[] args) { + try { + AiravataUtils.setExecutionAsClient(); + sysUser = ClientSettings.getSetting(DEFAULT_USER); + sysUserPwd = ClientSettings.getSetting(DEFAULT_USER_PASSWORD); + gateway = ClientSettings.getSetting(DEFAULT_GATEWAY); + orchestratorClient = OrchestratorClientFactory.createOrchestratorClient("localhost", 8940); + registry = RegistryFactory.getRegistry(gateway, sysUser, sysUserPwd); + documentCreator = new DocumentCreator(getAiravataAPI()); + documentCreator.createLocalHostDocs(); + documentCreator.createGramDocs(); + documentCreator.createGSISSHDocs(); + storeExperimentDetail(); + } catch (ApplicationSettingsException e) { + e.printStackTrace(); + } + + } + + private static AiravataAPI getAiravataAPI() { + AiravataAPI airavataAPI = null; + try { + airavataAPI = AiravataAPIFactory.getAPI(gateway, sysUser); + } catch (AiravataAPIInvocationException e) { + e.printStackTrace(); + } + return airavataAPI; + } + + public static void storeExperimentDetail() { + for (int i = 0; i < NUM_CONCURRENT_REQUESTS; i++) { + Thread thread = new Thread() { + public void run() { + List<DataObjectType> exInputs = new ArrayList<DataObjectType>(); + DataObjectType input = new DataObjectType(); + input.setKey("echo_input"); + input.setType(DataType.STRING.toString()); + input.setValue("echo_output=Hello World"); + exInputs.add(input); + + + List<DataObjectType> exOut = new ArrayList<DataObjectType>(); + DataObjectType output = new DataObjectType(); + output.setKey("echo_output"); + output.setType(DataType.STRING.toString()); + output.setValue(""); + exOut.add(output); + + Experiment simpleExperiment = ExperimentModelUtil.createSimpleExperiment("project1", "admin", "echoExperiment", "SimpleEcho2", "SimpleEcho2", exInputs); + simpleExperiment.setExperimentOutputs(exOut); + + ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling("trestles.sdsc.edu", 1, 1, 1, "normal", 0, 0, 1, "sds128"); + scheduling.setResourceHostId("gsissh-trestles"); + UserConfigurationData userConfigurationData = new UserConfigurationData(); + userConfigurationData.setComputationalResourceScheduling(scheduling); + simpleExperiment.setUserConfigurationData(userConfigurationData); + String expId = null; + try { + expId = (String) registry.add(ParentDataType.EXPERIMENT, simpleExperiment); + } catch (Exception e) { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + + try { + orchestratorClient.launchExperiment(expId); + } catch (TException e) { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + } + }; + thread.start(); + try { + thread.join(); + } catch (InterruptedException e) { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + } + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/46b17de7/modules/orchestrator/orchestrator-client-sdks/src/main/resources/airavata-client.properties ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-client-sdks/src/main/resources/airavata-client.properties b/modules/orchestrator/orchestrator-client-sdks/src/main/resources/airavata-client.properties new file mode 100644 index 0000000..ff4de88 --- /dev/null +++ b/modules/orchestrator/orchestrator-client-sdks/src/main/resources/airavata-client.properties @@ -0,0 +1,77 @@ +# +# +# 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. +# + +########################################################################### +# +# This properties file provides configuration for Airavata Clients: +# XBaya and Airavata API +# +########################################################################### + +###---------------------------REGISTRY API IMPLEMENTATION---------------------------### + +class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry +#class.registry.accessor=org.apache.airavata.rest.client.RegistryClient + +###---------------------REGISTRY API IMPLEMENTATION - CUSTOM SETTINGS----------------------### + +########################Registry JPA Implementation Settings######################## +#for mysql [AiravataJPARegistry] +#registry.jdbc.driver=com.mysql.jdbc.Driver +#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data + +#for derby [AiravataJPARegistry] +registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver +registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata +registry.jdbc.user=airavata +registry.jdbc.password=airavata +start.derby.server.mode=true + + +validationQuery=SELECT 1 from Configuration +jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true +defauly.registry.user=admin +default.registry.password=admin +default.registry.password.hash.method=SHA +default.registry.gateway=default + +#user defined registry accessor classes +#class.provenance.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry +#class.configuration.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry +#class.descriptor.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry +#class.project.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry +#class.user.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry +#class.published.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry + +########################Registry Rest Implementation Settings######################## + +trust.store=aiaravata.jks +trust.store.password=airavata + +##################################################################################### + +#for xbaya +xbaya.registry.user=admin +xbaya.registry.url=http://localhost:8080/airavata/services/registry +xbaya.default.gateway=default + + + + http://git-wip-us.apache.org/repos/asf/airavata/blob/46b17de7/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java index 8124bd8..1b20e19 100644 --- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java +++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/BaseOrchestratorTest.java @@ -24,6 +24,7 @@ package org.apache.airavata.orchestrator.core; 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.client.tools.DocumentCreator; import org.apache.airavata.common.exception.ApplicationSettingsException; import org.apache.airavata.common.utils.ServerSettings; import org.apache.airavata.orchestrator.core.util.Initialize; http://git-wip-us.apache.org/repos/asf/airavata/blob/46b17de7/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/DocumentCreator.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/DocumentCreator.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/DocumentCreator.java deleted file mode 100644 index 93bab0e..0000000 --- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/DocumentCreator.java +++ /dev/null @@ -1,314 +0,0 @@ -/* - * - * 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 org.apache.airavata.client.api.AiravataAPI; -import org.apache.airavata.client.api.exception.AiravataAPIInvocationException; -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.schemas.gfac.*; - -import java.io.File; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; - -public class DocumentCreator { - - private AiravataAPI airavataAPI = null; - private String hpcHostAddress = "trestles.sdsc.edu"; - private String gramHostName = "gram-trestles"; - private String gsiSshHostName = "gsissh-trestles"; - private String gridftpAddress = "gsiftp://trestles-dm1.sdsc.edu:2811"; - private String gramAddress = "trestles-login1.sdsc.edu:2119/jobmanager-pbstest2"; - - - public DocumentCreator(AiravataAPI airavataAPI) { - this.airavataAPI = airavataAPI; - } - - public void createLocalHostDocs() { - 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. - } - - } - - public void createGramDocs() { - /* - creating host descriptor for gram - */ - HostDescription host = new HostDescription(GlobusHostType.type); - host.getType().setHostAddress(hpcHostAddress); - host.getType().setHostName(gramHostName); - ((GlobusHostType) host.getType()).setGlobusGateKeeperEndPointArray(new String[]{gramAddress}); - ((GlobusHostType) host.getType()).setGridFTPEndPointArray(new String[]{gridftpAddress}); - try { - airavataAPI.getApplicationManager().saveHostDescription(host); - } catch (AiravataAPIInvocationException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - - - /* - * Service Description creation and saving - */ - String serviceName = "SimpleEcho1"; - ServiceDescription serv = new ServiceDescription(); - serv.getType().setName(serviceName); - - List<InputParameterType> inputList = new ArrayList<InputParameterType>(); - List<OutputParameterType> outputList = new ArrayList<OutputParameterType>(); - - InputParameterType input = InputParameterType.Factory.newInstance(); - input.setParameterName("echo_input"); - ParameterType parameterType = input.addNewParameterType(); - parameterType.setType(DataType.STRING); - parameterType.setName("String"); - - OutputParameterType output = OutputParameterType.Factory.newInstance(); - output.setParameterName("echo_output"); - ParameterType parameterType1 = output.addNewParameterType(); - parameterType1.setType(DataType.STRING); - parameterType1.setName("String"); - - inputList.add(input); - outputList.add(output); - - InputParameterType[] inputParamList = inputList.toArray(new InputParameterType[inputList.size()]); - OutputParameterType[] outputParamList = outputList.toArray(new OutputParameterType[outputList.size()]); - - serv.getType().setInputParametersArray(inputParamList); - serv.getType().setOutputParametersArray(outputParamList); - try { - airavataAPI.getApplicationManager().saveServiceDescription(serv); - } catch (AiravataAPIInvocationException e) { - e.printStackTrace(); - } - - /* - Application descriptor creation and saving - */ - ApplicationDescription appDesc = new ApplicationDescription(HpcApplicationDeploymentType.type); - HpcApplicationDeploymentType app = (HpcApplicationDeploymentType) appDesc.getType(); - ApplicationDeploymentDescriptionType.ApplicationName name = ApplicationDeploymentDescriptionType.ApplicationName.Factory.newInstance(); - name.setStringValue("EchoLocal"); - app.setApplicationName(name); - ProjectAccountType projectAccountType = app.addNewProjectAccount(); - projectAccountType.setProjectAccountNumber("sds128"); - - QueueType queueType = app.addNewQueue(); - queueType.setQueueName("development"); - - app.setCpuCount(1); - app.setJobType(JobTypeType.SERIAL); - app.setNodeCount(1); - app.setProcessorsPerNode(1); - - /* - * Use bat file if it is compiled on Windows - */ - app.setExecutableLocation("/bin/echo"); - - /* - * Default tmp location - */ - String tempDir = "/home/ogce/scratch"; - String date = (new Date()).toString(); - date = date.replaceAll(" ", "_"); - date = date.replaceAll(":", "_"); - - tempDir = tempDir + File.separator - + "SimpleEcho" + "_" + date + "_" + UUID.randomUUID(); - - app.setScratchWorkingDirectory(tempDir); - app.setStaticWorkingDirectory(tempDir); - app.setInputDataDirectory(tempDir + File.separator + "inputData"); - app.setOutputDataDirectory(tempDir + File.separator + "outputData"); - app.setStandardOutput(tempDir + File.separator + app.getApplicationName().getStringValue() + ".stdout"); - app.setStandardError(tempDir + File.separator + app.getApplicationName().getStringValue() + ".stderr"); - - - try { - airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, gramHostName, appDesc); - } catch (AiravataAPIInvocationException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - } - - public void createGSISSHDocs() { - HostDescription host = new HostDescription(GsisshHostType.type); - host.getType().setHostAddress(hpcHostAddress); - host.getType().setHostName(gsiSshHostName); - - try { - airavataAPI.getApplicationManager().saveHostDescription(host); - } catch (AiravataAPIInvocationException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - /* - * Service Description creation and saving - */ - String serviceName = "SimpleEcho2"; - ServiceDescription serv = new ServiceDescription(); - serv.getType().setName(serviceName); - - List<InputParameterType> inputList = new ArrayList<InputParameterType>(); - List<OutputParameterType> outputList = new ArrayList<OutputParameterType>(); - - - InputParameterType input = InputParameterType.Factory.newInstance(); - input.setParameterName("echo_input"); - ParameterType parameterType = input.addNewParameterType(); - parameterType.setType(DataType.STRING); - parameterType.setName("String"); - - OutputParameterType output = OutputParameterType.Factory.newInstance(); - output.setParameterName("echo_output"); - ParameterType parameterType1 = output.addNewParameterType(); - parameterType1.setType(DataType.STRING); - parameterType1.setName("String"); - - inputList.add(input); - outputList.add(output); - - InputParameterType[] inputParamList = inputList.toArray(new InputParameterType[inputList.size()]); - OutputParameterType[] outputParamList = outputList.toArray(new OutputParameterType[outputList.size()]); - - serv.getType().setInputParametersArray(inputParamList); - serv.getType().setOutputParametersArray(outputParamList); - try { - airavataAPI.getApplicationManager().saveServiceDescription(serv); - } catch (AiravataAPIInvocationException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - - /* - Application descriptor creation and saving - */ - ApplicationDescription appDesc = new ApplicationDescription(HpcApplicationDeploymentType.type); - HpcApplicationDeploymentType app = (HpcApplicationDeploymentType) appDesc.getType(); - ApplicationDeploymentDescriptionType.ApplicationName name = ApplicationDeploymentDescriptionType.ApplicationName.Factory.newInstance(); - name.setStringValue("EchoLocal"); - app.setApplicationName(name); - ProjectAccountType projectAccountType = app.addNewProjectAccount(); - projectAccountType.setProjectAccountNumber("sds128"); - - QueueType queueType = app.addNewQueue(); - queueType.setQueueName("development"); - - app.setCpuCount(1); - app.setJobType(JobTypeType.SERIAL); - app.setNodeCount(1); - app.setProcessorsPerNode(1); - - /* - * Use bat file if it is compiled on Windows - */ - app.setExecutableLocation("/bin/echo"); - - /* - * Default tmp location - */ - String tempDir = "/home/ogce/scratch"; - String date = (new Date()).toString(); - date = date.replaceAll(" ", "_"); - date = date.replaceAll(":", "_"); - - tempDir = tempDir + File.separator - + "SimpleEcho" + "_" + date + "_" + UUID.randomUUID(); - - app.setScratchWorkingDirectory(tempDir); - app.setStaticWorkingDirectory(tempDir); - app.setInputDataDirectory(tempDir + File.separator + "inputData"); - app.setOutputDataDirectory(tempDir + File.separator + "outputData"); - app.setStandardOutput(tempDir + File.separator + app.getApplicationName().getStringValue() + ".stdout"); - app.setStandardError(tempDir + File.separator + app.getApplicationName().getStringValue() + ".stderr"); - app.setInstalledParentPath("/opt/torque/bin/"); - - try { - airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, gsiSshHostName, appDesc); - } catch (AiravataAPIInvocationException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - } - - public AiravataAPI getAiravataAPI() { - return airavataAPI; - } - - public void setAiravataAPI(AiravataAPI airavataAPI) { - this.airavataAPI = airavataAPI; - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/46b17de7/modules/orchestrator/pom.xml ---------------------------------------------------------------------- diff --git a/modules/orchestrator/pom.xml b/modules/orchestrator/pom.xml index 6c45107..bb33d68 100644 --- a/modules/orchestrator/pom.xml +++ b/modules/orchestrator/pom.xml @@ -33,6 +33,7 @@ <modules> <module>orchestrator-core</module> <module>airavata-orchestrator-service</module> + <module>orchestrator-client-sdks</module> </modules> </profile> </profiles> http://git-wip-us.apache.org/repos/asf/airavata/blob/46b17de7/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java ---------------------------------------------------------------------- diff --git a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java index 4baa408..5f9420c 100644 --- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java +++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java @@ -33,7 +33,6 @@ import org.apache.airavata.common.utils.ServerSettings; import org.apache.airavata.common.utils.ServiceUtils; import org.apache.airavata.common.workflow.execution.context.WorkflowContextHeaderBuilder; import org.apache.airavata.commons.gfac.type.HostDescription; -import org.apache.airavata.experiment.execution.InterpreterService; import org.apache.airavata.schemas.gfac.GlobusHostType; import org.apache.airavata.schemas.gfac.GsisshHostType; import org.apache.airavata.schemas.gfac.SSHHostType; @@ -57,11 +56,6 @@ import org.apache.axis2.context.ConfigurationContext; import org.apache.axis2.context.MessageContext; import org.apache.axis2.description.AxisService; import org.apache.axis2.engine.ServiceLifeCycle; -import org.apache.thrift.server.TServer; -import org.apache.thrift.server.TSimpleServer; -import org.apache.thrift.transport.TServerSocket; -import org.apache.thrift.transport.TServerTransport; -import org.apache.thrift.transport.TTransportException; import org.apache.xmlbeans.XmlException; import org.slf4j.Logger; import org.slf4j.LoggerFactory;
