Return-Path: X-Original-To: apmail-airavata-commits-archive@www.apache.org Delivered-To: apmail-airavata-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BA60D17458 for ; Thu, 22 Jan 2015 14:52:14 +0000 (UTC) Received: (qmail 46588 invoked by uid 500); 22 Jan 2015 14:52:14 -0000 Delivered-To: apmail-airavata-commits-archive@airavata.apache.org Received: (qmail 46543 invoked by uid 500); 22 Jan 2015 14:52:14 -0000 Mailing-List: contact commits-help@airavata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airavata.apache.org Delivered-To: mailing list commits@airavata.apache.org Received: (qmail 46533 invoked by uid 99); 22 Jan 2015 14:52:14 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Jan 2015 14:52:14 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 8559FE03AB; Thu, 22 Jan 2015 14:52:14 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sachith@apache.org To: commits@airavata.apache.org Date: Thu, 22 Jan 2015 14:52:15 -0000 Message-Id: <1c01d39a66ac4253a866d1c8e7c81276@git.apache.org> In-Reply-To: <75434c36afe3463aa26b9faf6f48528f@git.apache.org> References: <75434c36afe3463aa26b9faf6f48528f@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [2/9] airavata git commit: Revert "removing previous airavata client API - AIRAVATA-1371" http://git-wip-us.apache.org/repos/asf/airavata/blob/2654424b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java ---------------------------------------------------------------------- diff --git a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java new file mode 100644 index 0000000..1936593 --- /dev/null +++ b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java @@ -0,0 +1,823 @@ +///* +// * +// * 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.client.tools; +// +//import org.airavata.appcatalog.cpi.AppCatalog; +//import org.airavata.appcatalog.cpi.AppCatalogException; +//import org.apache.airavata.api.Airavata; +//import org.apache.airavata.common.utils.ClientSettings; +//import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription; +//import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule; +//import org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType; +//import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription; +//import org.apache.airavata.model.appcatalog.appinterface.DataType; +//import org.apache.airavata.model.appcatalog.computeresource.*; +//import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference; +//import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile; +//import org.apache.airavata.model.error.AiravataClientException; +//import org.apache.airavata.model.error.AiravataSystemException; +//import org.apache.airavata.model.error.InvalidRequestException; +//import org.apache.thrift.TException; +// +//import java.io.File; +//import java.util.*; +// +///** +// * This class has been moved to integration-tests module, use that instead of this +// */ +//@Deprecated +//public class DocumentCreatorNew { +// +// private AppCatalog appcatalog = null; +// private String trestleshpcHostAddress = "trestles.sdsc.edu"; +// private String lonestarHostAddress = "lonestar.tacc.utexas.edu"; +// private String stampedeHostAddress = "stampede.tacc.xsede.org"; +// private String gridftpAddress = "gsiftp://trestles-dm1.sdsc.edu:2811"; +// private String gramAddress = "trestles-login1.sdsc.edu:2119/jobmanager-pbstest2"; +// private String bigRed2HostAddress = "bigred2.uits.iu.edu"; +// +// //App Module Id's +// private static String echoModuleId; +// private static String amberModuleId; +// private static String autoDockModuleId; +// private static String espressoModuleId; +// private static String gromacsModuleId; +// private static String lammpsModuleId; +// private static String nwChemModuleId; +// private static String trinityModuleId; +// private static String wrfModuleId; +// private Airavata.Client client; +// private GatewayResourceProfile gatewayResourceProfile; +// +// public DocumentCreatorNew(Airavata.Client client) throws AppCatalogException { +// this.client = client; +// } +// +// public String createLocalHostDocs() throws AppCatalogException, InvalidRequestException, AiravataClientException, AiravataSystemException, TException { +// //Define compute resource host +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription( +// "localhost", new ArrayList(Arrays.asList(new String[]{"127.0.0.1"})), new ArrayList(Arrays.asList(new String[]{"127.0.0.1"}))); +//// host.setIsEmpty(true); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// LOCALSubmission localSubmission = new LOCALSubmission(); +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.FORK, null, null, null); +// localSubmission.setResourceJobManager(resourceJobManager); +// client.addLocalSubmissionDetails(host.getComputeResourceId(), 1, localSubmission); +// +// LOCALDataMovement localDataMovement = new LOCALDataMovement(); +// client.addLocalDataMovementDetails(host.getComputeResourceId(), 1, localDataMovement); +// +// //Define application module +// ApplicationModule module = DocumentCreatorUtils.createApplicationModule("echo", "1.0.0", "Local host echo applications"); +// module.setAppModuleId(client.registerApplicationModule(module)); +// +// //Define application interfaces +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +//// application.setIsEmpty(false); +// application.setApplicationName("SimpleEcho0"); +// application.addToApplicationModules(module.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("echo_input", "echo_input", "Echo Input Data", null, DataType.STRING)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("echo_output", null, DataType.STRING)); +// application.setApplicationInterfaceId(client.registerApplicationInterface(application)); +// +// //Define application deployment +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), module.getAppModuleId(), "/bin/echo", ApplicationParallelismType.SERIAL, "Local echo app depoyment"); +// deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); +// +// //Define gateway profile +// ComputeResourcePreference computeResourcePreference = DocumentCreatorUtils.createComputeResourcePreference( +// host.getComputeResourceId(), "/tmp", null, +// false, null, +// null, null); +// gatewayResourceProfile = new GatewayResourceProfile(); +//// gatewayResourceProfile.setGatewayID("default"); +// gatewayResourceProfile.setGatewayName(ClientSettings.getSetting("default.registry.gateway", "php_reference_gateway")); +// gatewayResourceProfile.addToComputeResourcePreferences(computeResourcePreference); +// String gatewayId = client.registerGatewayResourceProfile(gatewayResourceProfile); +// gatewayResourceProfile.setGatewayID(gatewayId); +// client.addGatewayComputeResourcePreference(gatewayResourceProfile.getGatewayID(), host.getComputeResourceId(), computeResourcePreference); +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// } +// +// private GatewayResourceProfile getGatewayResourceProfile() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException { +//// if (gatewayResourceProfile==null){ +//// try { +//// gatewayResourceProfile = client.getGatewayResourceProfile(ga); +//// } catch (Exception e) { +//// +//// } +// if (gatewayResourceProfile == null) { +// gatewayResourceProfile = new GatewayResourceProfile(); +//// gatewayResourceProfile.setGatewayID("default"); +// gatewayResourceProfile.setGatewayName("default"); +// gatewayResourceProfile.setGatewayID(client.registerGatewayResourceProfile(gatewayResourceProfile)); +// } +//// } +// return gatewayResourceProfile; +// +// } +// +// public String createSSHHostDocs() throws AppCatalogException, InvalidRequestException, AiravataClientException, AiravataSystemException, TException { +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription("gw111.iu.xsede.org", null, null); +// host.addToIpAddresses("gw111.iu.xsede.org"); +// host.addToHostAliases("gw111.iu.xsede.org"); +// host.setResourceDescription("gw111 ssh access"); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// +// SSHJobSubmission jobSubmission = new SSHJobSubmission(); +// jobSubmission.setSshPort(22); +// jobSubmission.setSecurityProtocol(SecurityProtocol.SSH_KEYS); +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.FORK, null, null, null); +// jobSubmission.setResourceJobManager(resourceJobManager); +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, jobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS); +// scpDataMovement.setSshPort(22); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// ApplicationModule module = DocumentCreatorUtils.createApplicationModule("echo", "1.1", null); +// module.setAppModuleId(client.registerApplicationModule(module)); +// ; +// +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), module.getAppModuleId(), "/bin/echo", ApplicationParallelismType.SERIAL, "SSHEchoApplication"); +// client.registerApplicationDeployment(deployment); +// +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +//// application.setIsEmpty(false); +// application.setApplicationName("SSHEcho1"); +// application.addToApplicationModules(module.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("echo_input", "echo_input", null, null, DataType.STRING)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("echo_output", null, DataType.STRING)); +// client.registerApplicationInterface(application); +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), "/tmp", null, false, null, null, null)); +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// } +// +// // +//// public void createGramDocs() { +////// /* +////// creating host descriptor for gram +////// */ +////// HostDescription host = new HostDescription(GlobusHostType.type); +////// host.getType().setHostAddress(trestleshpcHostAddress); +////// host.getType().setHostName(trestleshpcHostAddress); +////// ((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 inputList = new ArrayList(); +////// List outputList = new ArrayList(); +////// +////// 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("normal"); +////// +////// 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"; +////// app.setScratchWorkingDirectory(tempDir); +////// app.setMaxMemory(10); +////// +////// +////// try { +////// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, trestleshpcHostAddress, appDesc); +////// } catch (AiravataAPIInvocationException e) { +////// e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. +////// } +//// } +//// +// public String createPBSDocsForOGCE_Echo() throws AppCatalogException, InvalidRequestException, AiravataClientException, AiravataSystemException, TException { +// +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription(trestleshpcHostAddress, null, null); +// host.addToIpAddresses(trestleshpcHostAddress); +// host.addToHostAliases(trestleshpcHostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.PBS, "/opt/torque/bin/", null, null); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.GSI); +// sshJobSubmission.setSshPort(22); +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.GSI); +// scpDataMovement.setSshPort(22); +// +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// ApplicationModule module1 = DocumentCreatorUtils.createApplicationModule("echo", "1.2", null); +// module1.setAppModuleId(client.registerApplicationModule(module1)); +// +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +//// application.setIsEmpty(false); +// application.setApplicationName("SimpleEcho2"); +// application.addToApplicationModules(module1.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("echo_input", "echo_input", "echo_input", null, DataType.STRING)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("echo_output", null, DataType.STRING)); +// +// application.setApplicationInterfaceId(client.registerApplicationInterface(application)); +// +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), module1.getAppModuleId(), "/home/ogce/echo.sh", ApplicationParallelismType.SERIAL, "Echo application"); +// deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), "/oasis/scratch/trestles/ogce/temp_project/", "sds128", false, null, null, null)); +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// } +// +// public String createPBSDocsForOGCE_WRF() throws AppCatalogException, InvalidRequestException, AiravataClientException, AiravataSystemException, TException { +// +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription(trestleshpcHostAddress, null, null); +// host.addToIpAddresses(trestleshpcHostAddress); +// host.addToHostAliases(trestleshpcHostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.PBS, "/opt/torque/bin/", null, null); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.GSI); +// sshJobSubmission.setSshPort(22); +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.GSI); +// scpDataMovement.setSshPort(22); +// +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), "/oasis/scratch/trestles/ogce/temp_project/", "sds128", false, null, null, null)); +// +// ApplicationModule module2 = DocumentCreatorUtils.createApplicationModule("wrf", "1.0.0", null); +// module2.setAppModuleId(client.registerApplicationModule(module2)); +// ApplicationInterfaceDescription application2 = new ApplicationInterfaceDescription(); +//// application2.setIsEmpty(false); +// application2.setApplicationName("WRF"); +// application2.addToApplicationModules(module2.getAppModuleId()); +// application2.addToApplicationInputs(DocumentCreatorUtils.createAppInput("WRF_Namelist", "WRF_Namelist", null, null, DataType.URI)); +// application2.addToApplicationInputs(DocumentCreatorUtils.createAppInput("WRF_Boundary_File", "WRF_Boundary_File", null, null, DataType.URI)); +// application2.addToApplicationInputs(DocumentCreatorUtils.createAppInput("WRF_Input_File", "WRF_Input_File", null, null, DataType.URI)); +// +// application2.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("WRF_Output", null, DataType.URI)); +// application2.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("WRF_Execution_Log", null, DataType.URI)); +// application2.setApplicationInterfaceId(client.registerApplicationInterface(application2)); +// +// ApplicationDeploymentDescription deployment2 = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), module2.getAppModuleId(), "/home/ogce/production/app_wrappers/wrf_wrapper.sh", ApplicationParallelismType.MPI, "WRF"); +// deployment2.setAppDeploymentId(client.registerApplicationDeployment(deployment2)); +// return host.getComputeResourceId() + "," + application2.getApplicationInterfaceId(); +// } +// +// public String createSlumWRFDocs() throws AppCatalogException, TException { +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription(stampedeHostAddress, null, null); +// host.addToHostAliases(stampedeHostAddress); +// host.addToIpAddresses(stampedeHostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.SLURM, "/usr/bin/", null, "push"); +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.GSI); +// sshJobSubmission.setSshPort(2222); +// +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.GSI); +// scpDataMovement.setSshPort(22); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), "/home1/01437/ogce", "TG-STA110014S", false, null, null, null)); +// +// ApplicationModule module2 = DocumentCreatorUtils.createApplicationModule("wrf", "1.0.0", null); +// module2.setAppModuleId(client.registerApplicationModule(module2)); +// ApplicationInterfaceDescription application2 = new ApplicationInterfaceDescription(); +// // application2.setIsEmpty(false); +// application2.setApplicationName("WRF"); +// application2.addToApplicationModules(module2.getAppModuleId()); +// application2.addToApplicationInputs(DocumentCreatorUtils.createAppInput("WRF_Namelist", "WRF_Namelist", null, null, DataType.URI)); +// application2.addToApplicationInputs(DocumentCreatorUtils.createAppInput("WRF_Boundary_File", "WRF_Boundary_File", null, null, DataType.URI)); +// application2.addToApplicationInputs(DocumentCreatorUtils.createAppInput("WRF_Input_File", "WRF_Input_File", null, null, DataType.URI)); +// +// application2.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("WRF_Output", null, DataType.URI)); +// application2.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("WRF_Execution_Log", null, DataType.URI)); +// application2.setApplicationInterfaceId(client.registerApplicationInterface(application2)); +// +// ApplicationDeploymentDescription deployment2 = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), module2.getAppModuleId(), "/home1/01437/ogce/production/app_wrappers/wrf_wrapper.sh", ApplicationParallelismType.MPI, "WRF"); +// deployment2.setAppDeploymentId(client.registerApplicationDeployment(deployment2)); +// return host.getComputeResourceId() + "," + application2.getApplicationInterfaceId(); +// +// } +// +// public String createSlurmDocs() throws AppCatalogException, InvalidRequestException, AiravataClientException, AiravataSystemException, TException { +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription(stampedeHostAddress, null, null); +// host.addToHostAliases(stampedeHostAddress); +// host.addToIpAddresses(stampedeHostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.SLURM, "/usr/bin/", null, "push"); +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.GSI); +// sshJobSubmission.setSshPort(2222); +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.GSI); +// scpDataMovement.setSshPort(22); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// ApplicationModule module = DocumentCreatorUtils.createApplicationModule("echo", "1.3", null); +// module.setAppModuleId(client.registerApplicationModule(module)); +// +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +//// application.setIsEmpty(false); +// application.setApplicationName("SimpleEcho3"); +// application.addToApplicationModules(module.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("echo_input", "echo_input", null, null, DataType.STRING)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("echo_output", null, DataType.STRING)); +// application.setApplicationInterfaceId(client.registerApplicationInterface(application)); +// +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), module.getAppModuleId(), "/bin/echo", ApplicationParallelismType.SERIAL, "EchoLocal"); +// deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), "/home1/01437/ogce", "TG-STA110014S", false, null, null, null)); +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// } +// +// public String createSGEDocs() throws AppCatalogException, InvalidRequestException, AiravataClientException, AiravataSystemException, TException { +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription(lonestarHostAddress, null, null); +// host.addToHostAliases(lonestarHostAddress); +// host.addToIpAddresses(lonestarHostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.UGE, "/opt/sge6.2/bin/lx24-amd64/", null, null); +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.GSI); +// sshJobSubmission.setSshPort(22); +// +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.GSI); +// scpDataMovement.setSshPort(22); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// ApplicationModule module = DocumentCreatorUtils.createApplicationModule("echo", "1.4", null); +// module.setAppModuleId(client.registerApplicationModule(module)); +// +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +//// application.setIsEmpty(false); +// application.setApplicationName("SimpleEcho4"); +// application.addToApplicationModules(module.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("echo_input", "echo_input", null, null, DataType.STRING)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("echo_output", null, DataType.STRING)); +// application.setApplicationInterfaceId(client.registerApplicationInterface(application)); +// +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), module.getAppModuleId(), "/bin/echo", ApplicationParallelismType.SERIAL, "EchoLocal"); +// deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), "/home1/01437/ogce", "TG-STA110014S", false, null, null, null)); +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// } +// +//// public void createEchoHostDocs() { +//// String serviceName = "Echo"; +//// ServiceDescription serviceDescription = new ServiceDescription(); +//// List inputParameters = new ArrayList(); +//// List outputParameters = new ArrayList(); +//// serviceDescription.getType().setName(serviceName); +//// 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. +//// } +//// // Localhost +//// ApplicationDescription applicationDeploymentDescription = new ApplicationDescription(); +//// ApplicationDeploymentDescriptionType applicationDeploymentDescriptionType = applicationDeploymentDescription.getType(); +//// applicationDeploymentDescriptionType.addNewApplicationName().setStringValue(serviceName); +//// applicationDeploymentDescriptionType.setExecutableLocation("/bin/echo"); +//// applicationDeploymentDescriptionType.setScratchWorkingDirectory("/tmp"); +//// +//// try { +//// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, "localhost", applicationDeploymentDescription); +//// } catch (AiravataAPIInvocationException e) { +//// e.printStackTrace(); // To change body of catch statement use File | +//// // Settings | File Templates. +//// } +//// // Stampede +//// /* +//// * Application descriptor creation and saving +//// */ +//// ApplicationDescription appDesc1 = new ApplicationDescription(HpcApplicationDeploymentType.type); +//// HpcApplicationDeploymentType app1 = (HpcApplicationDeploymentType) appDesc1.getType(); +//// ApplicationDeploymentDescriptionType.ApplicationName name = ApplicationDeploymentDescriptionType.ApplicationName.Factory.newInstance(); +//// name.setStringValue(serviceName); +//// app1.setApplicationName(name); +//// ProjectAccountType projectAccountType = app1.addNewProjectAccount(); +//// projectAccountType.setProjectAccountNumber("TG-STA110014S"); +//// +//// QueueType queueType = app1.addNewQueue(); +//// queueType.setQueueName("normal"); +//// +//// app1.setCpuCount(1); +//// app1.setJobType(JobTypeType.SERIAL); +//// app1.setNodeCount(1); +//// app1.setProcessorsPerNode(1); +//// app1.setMaxWallTime(10); +//// /* +//// * Use bat file if it is compiled on Windows +//// */ +//// app1.setExecutableLocation("/bin/echo"); +//// +//// /* +//// * Default tmp location +//// */ +//// String tempDir = "/home1/01437/ogce"; +//// +//// app1.setScratchWorkingDirectory(tempDir); +//// app1.setInstalledParentPath("/usr/bin/"); +//// +//// try { +//// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, stampedeHostAddress, appDesc1); +//// } catch (AiravataAPIInvocationException e) { +//// e.printStackTrace(); // To change body of catch statement use File | +//// // Settings | File Templates. +//// } +//// // Trestles +//// /* +//// * Application descriptor creation and saving +//// */ +//// ApplicationDescription appDesc2 = new ApplicationDescription(HpcApplicationDeploymentType.type); +//// HpcApplicationDeploymentType app2 = (HpcApplicationDeploymentType) appDesc2.getType(); +//// ApplicationDeploymentDescriptionType.ApplicationName name2 = ApplicationDeploymentDescriptionType.ApplicationName.Factory.newInstance(); +//// name2.setStringValue(serviceName); +//// app2.setApplicationName(name); +//// ProjectAccountType projectAccountType2 = app2.addNewProjectAccount(); +//// projectAccountType2.setProjectAccountNumber("sds128"); +//// +//// QueueType queueType2 = app2.addNewQueue(); +//// queueType2.setQueueName("normal"); +//// +//// app2.setCpuCount(1); +//// app2.setJobType(JobTypeType.SERIAL); +//// app2.setNodeCount(1); +//// app2.setProcessorsPerNode(1); +//// app2.setMaxWallTime(10); +//// /* +//// * Use bat file if it is compiled on Windows +//// */ +//// app2.setExecutableLocation("/bin/echo"); +//// +//// /* +//// * Default tmp location +//// */ +//// String tempDir2 = "/home/ogce/scratch"; +//// +//// app2.setScratchWorkingDirectory(tempDir2); +//// app2.setInstalledParentPath("/opt/torque/bin/"); +//// +//// try { +//// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, trestleshpcHostAddress, appDesc2); +//// } catch (AiravataAPIInvocationException e) { +//// e.printStackTrace(); // To change body of catch statement use File | +//// // Settings | File Templates. +//// } +//// // Lonestar +//// /* +//// * Application descriptor creation and saving +//// */ +//// ApplicationDescription appDesc3 = new ApplicationDescription(HpcApplicationDeploymentType.type); +//// HpcApplicationDeploymentType app3 = (HpcApplicationDeploymentType) appDesc3.getType(); +//// ApplicationDeploymentDescriptionType.ApplicationName name3 = ApplicationDeploymentDescriptionType.ApplicationName.Factory.newInstance(); +//// name3.setStringValue(serviceName); +//// app3.setApplicationName(name); +//// ProjectAccountType projectAccountType3 = app3.addNewProjectAccount(); +//// projectAccountType3.setProjectAccountNumber("TG-STA110014S"); +//// +//// QueueType queueType3 = app3.addNewQueue(); +//// queueType3.setQueueName("normal"); +//// +//// app3.setCpuCount(1); +//// app3.setJobType(JobTypeType.SERIAL); +//// app3.setNodeCount(1); +//// app3.setProcessorsPerNode(1); +//// app3.setMaxWallTime(10); +//// /* +//// * Use bat file if it is compiled on Windows +//// */ +//// app3.setExecutableLocation("/bin/echo"); +//// +//// /* +//// * Default tmp location +//// */ +//// String tempDir3 = "/home1/01437/ogce"; +//// +//// app3.setScratchWorkingDirectory(tempDir3); +//// app3.setInstalledParentPath("/opt/sge6.2/bin/lx24-amd64/"); +//// +//// try { +//// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, lonestarHostAddress, appDesc3); +//// } catch (AiravataAPIInvocationException e) { +//// e.printStackTrace(); // To change body of catch statement use File | +//// // Settings | File Templates. +//// } +//// +//// } +// +// public String createBigRedDocs() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException, AppCatalogException { +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription("bigred2", null, null); +// host.addToHostAliases(bigRed2HostAddress); +// host.addToIpAddresses(bigRed2HostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// +// Map commands = new HashMap(); +// commands.put(JobManagerCommand.SUBMISSION, "aprun -n"); +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.UGE, "/opt/torque/torque-4.2.3.1/bin/", commands, null); +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.SSH_KEYS); +// sshJobSubmission.setSshPort(22); +// +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS); +// scpDataMovement.setSshPort(22); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// ApplicationModule module = DocumentCreatorUtils.createApplicationModule("echo", "1.5", null); +// module.setAppModuleId(client.registerApplicationModule(module)); +// +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +// application.setApplicationName("SimpleEchoBR"); +// application.addToApplicationModules(module.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("echo_input", "echo_input", null, null, DataType.STRING)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("echo_output", null, DataType.STRING)); +// application.setApplicationInterfaceId(client.registerApplicationInterface(application)); +// +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), module.getAppModuleId(), "/N/u/lginnali/BigRed2/myjob/test.sh", ApplicationParallelismType.SERIAL, "EchoLocal"); +// deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); +// +// String date = (new Date()).toString(); +// date = date.replaceAll(" ", "_"); +// date = date.replaceAll(":", "_"); +// String tempDir = "/N/u/lginnali/BigRed2/myjob"; +// tempDir = tempDir + File.separator + "SimpleEcho" + "_" + date + "_" + UUID.randomUUID(); +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), tempDir, "TG-STA110014S", false, null, null, null)); +// +// +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// } +// +// public String createBigRedAmberDocs() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException, AppCatalogException { +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription("bigred2", null, null); +// host.addToHostAliases(bigRed2HostAddress); +// host.addToIpAddresses(bigRed2HostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// +// Map commands = new HashMap(); +// commands.put(JobManagerCommand.SUBMISSION, "aprun -n 4"); +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.UGE, "/opt/torque/torque-4.2.3.1/bin/", commands, null); +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.SSH_KEYS); +// sshJobSubmission.setSshPort(22); +// +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS); +// scpDataMovement.setSshPort(22); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// +// ApplicationModule amodule = DocumentCreatorUtils.createApplicationModule("Amber", "12.0", null); +// amodule.setAppModuleId(client.registerApplicationModule(amodule)); +// +// +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +// application.setApplicationName("AmberBR2"); +// application.addToApplicationModules(amodule.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_HEAT_RST", "AMBER_HEAT_RST", null, null, DataType.URI)); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_PROD_IN", "AMBER_PROD_IN", null, null, DataType.URI)); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_PRMTOP", "AMBER_PRMTOP", null, null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.info", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.mdcrd", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.out", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.rst", null, DataType.URI)); +// application.setApplicationInterfaceId(client.registerApplicationInterface(application)); +// +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), amodule.getAppModuleId(), "/N/u/cgateway/BigRed2/sandbox/amber_wrapper.sh", ApplicationParallelismType.SERIAL, "AmberBR2"); +// deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); +// +// +// String date = (new Date()).toString(); +// date = date.replaceAll(" ", "_"); +// date = date.replaceAll(":", "_"); +// String tempDir = "/N/u/cgateway/BigRed2/sandbox/jobs"; +// tempDir = tempDir + File.separator + +// "Amber"; +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), tempDir, null, false, null, null, null)); +// +// +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// } +// +// public String createStampedeAmberDocs() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException, AppCatalogException { +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription(stampedeHostAddress, null, null); +// host.addToHostAliases(stampedeHostAddress); +// host.addToIpAddresses(stampedeHostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.SLURM, "/usr/bin/", null, "push"); +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.GSI); +// sshJobSubmission.setSshPort(2222); +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.GSI); +// scpDataMovement.setSshPort(22); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// ApplicationModule amodule = DocumentCreatorUtils.createApplicationModule("Amber", "12.0", null); +// amodule.setAppModuleId(client.registerApplicationModule(amodule)); +// +// +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +// application.setApplicationName("AmberBR2"); +// application.addToApplicationModules(amodule.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_HEAT_RST", "AMBER_HEAT_RST", null, null, DataType.URI)); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_PROD_IN", "AMBER_PROD_IN", null, null, DataType.URI)); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_PRMTOP", "AMBER_PRMTOP", null, null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.info", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.mdcrd", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.out", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.rst", null, DataType.URI)); +// application.setApplicationInterfaceId(client.registerApplicationInterface(application)); +// +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), amodule.getAppModuleId(), "/home1/01437/ogce/production/app_wrappers/amber_wrapper.sh", ApplicationParallelismType.SERIAL, "AmberStampede"); +// deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), "/home1/01437/ogce", "TG-STA110014S", false, null, null, null)); +// +// +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// +// } +// +// public String createTrestlesAmberDocs() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException, AppCatalogException { +// ComputeResourceDescription host = DocumentCreatorUtils.createComputeResourceDescription(trestleshpcHostAddress, null, null); +// host.addToIpAddresses(trestleshpcHostAddress); +// host.addToHostAliases(trestleshpcHostAddress); +// host.setComputeResourceId(client.registerComputeResource(host)); +// +// SSHJobSubmission sshJobSubmission = new SSHJobSubmission(); +// ResourceJobManager resourceJobManager = DocumentCreatorUtils.createResourceJobManager(ResourceJobManagerType.PBS, "/opt/torque/bin/", null, null); +// sshJobSubmission.setResourceJobManager(resourceJobManager); +// sshJobSubmission.setSecurityProtocol(SecurityProtocol.GSI); +// sshJobSubmission.setSshPort(22); +// client.addSSHJobSubmissionDetails(host.getComputeResourceId(), 1, sshJobSubmission); +// +// SCPDataMovement scpDataMovement = new SCPDataMovement(); +// scpDataMovement.setSecurityProtocol(SecurityProtocol.GSI); +// scpDataMovement.setSshPort(22); +// client.addSCPDataMovementDetails(host.getComputeResourceId(), 1, scpDataMovement); +// +// ApplicationModule amodule = DocumentCreatorUtils.createApplicationModule("Amber", "12.0", null); +// amodule.setAppModuleId(client.registerApplicationModule(amodule)); +// +// +// ApplicationInterfaceDescription application = new ApplicationInterfaceDescription(); +// application.setApplicationName("AmberTrestles"); +// application.addToApplicationModules(amodule.getAppModuleId()); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_HEAT_RST", "AMBER_HEAT_RST", null, null, DataType.URI)); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_PROD_IN", "AMBER_PROD_IN", null, null, DataType.URI)); +// application.addToApplicationInputs(DocumentCreatorUtils.createAppInput("AMBER_PRMTOP", "AMBER_PRMTOP", null, null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.info", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.mdcrd", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.out", null, DataType.URI)); +// application.addToApplicationOutputs(DocumentCreatorUtils.createAppOutput("AMBER_Prod.rst", null, DataType.URI)); +// application.setApplicationInterfaceId(client.registerApplicationInterface(application)); +// +// ApplicationDeploymentDescription deployment = DocumentCreatorUtils.createApplicationDeployment(host.getComputeResourceId(), amodule.getAppModuleId(), "/home/ogce/production/app_wrappers/amber_wrapper.sh", ApplicationParallelismType.SERIAL, "AmberStampede"); +// deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); +// +// client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference(host.getComputeResourceId(), "/oasis/scratch/trestles/ogce/temp_project/", "sds128", false, null, null, null)); +// +// +// return host.getComputeResourceId() + "," + application.getApplicationInterfaceId(); +// +// } +// +// +//} +// http://git-wip-us.apache.org/repos/asf/airavata/blob/2654424b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorUtils.java ---------------------------------------------------------------------- diff --git a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorUtils.java b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorUtils.java new file mode 100644 index 0000000..d27d8cf --- /dev/null +++ b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorUtils.java @@ -0,0 +1,165 @@ +/* + * + * 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.client.tools; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.airavata.appcatalog.cpi.AppCatalogException; +import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription; +import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule; +import org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType; +import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; +import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription; +import org.apache.airavata.model.appcatalog.computeresource.DataMovementInterface; +import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol; +import org.apache.airavata.model.appcatalog.computeresource.JobManagerCommand; +import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface; +import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol; +import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager; +import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType; +import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference; + +/** + * This class has been moved to integration-tests module, use that instead of this + */ +@Deprecated +public class DocumentCreatorUtils { + + public static ComputeResourcePreference createComputeResourcePreference(String computeResourceId, String scratchLocation, + String allocationProjectNumber, boolean overridebyAiravata, + String preferredBatchQueue, String preferredJobSubmissionProtocol, + String preferredDataMovementProtocol) throws AppCatalogException { + ComputeResourcePreference computeResourcePreference = new ComputeResourcePreference(); + computeResourcePreference.setComputeResourceId(computeResourceId); + computeResourcePreference.setOverridebyAiravata(overridebyAiravata); + computeResourcePreference.setAllocationProjectNumber(allocationProjectNumber); + computeResourcePreference.setPreferredBatchQueue(preferredBatchQueue); + computeResourcePreference.setPreferredDataMovementProtocol(DataMovementProtocol.valueOf(preferredDataMovementProtocol)); + computeResourcePreference.setPreferredJobSubmissionProtocol(JobSubmissionProtocol.valueOf(preferredJobSubmissionProtocol)); + computeResourcePreference.setScratchLocation(scratchLocation); + return computeResourcePreference; + } + + public static ApplicationDeploymentDescription createApplicationDeployment( + String computeResourceId, String appModuleId, + String executablePath, ApplicationParallelismType parallelism, String appDeploymentDescription) { + ApplicationDeploymentDescription deployment = new ApplicationDeploymentDescription(); +// deployment.setIsEmpty(false); + deployment.setAppDeploymentDescription(appDeploymentDescription); + deployment.setAppModuleId(appModuleId); + deployment.setComputeHostId(computeResourceId); + deployment.setExecutablePath(executablePath); + deployment.setParallelism(parallelism); + return deployment; + } + + public static ApplicationModule createApplicationModule(String appModuleName, + String appModuleVersion, String appModuleDescription) { + ApplicationModule module = new ApplicationModule(); + module.setAppModuleDescription(appModuleDescription); + module.setAppModuleName(appModuleName); + module.setAppModuleVersion(appModuleVersion); + return module; + } + + public static DataMovementInterface createDataMovementInterface( + String dataMovementInterfaceId, + DataMovementProtocol dataMovementProtocolType, int priorityOrder) { + DataMovementInterface dataMovementInterface = new DataMovementInterface(); + dataMovementInterface.setDataMovementInterfaceId(dataMovementInterfaceId); + dataMovementInterface.setDataMovementProtocol(dataMovementProtocolType); + dataMovementInterface.setPriorityOrder(priorityOrder); + return dataMovementInterface; + } + + public static JobSubmissionInterface createJobSubmissionInterface( + String jobSubmissionInterfaceId, + JobSubmissionProtocol jobSubmissionProtocolType, int priorityOrder) { + JobSubmissionInterface jobSubmissionInterface = new JobSubmissionInterface(); + jobSubmissionInterface.setJobSubmissionInterfaceId(jobSubmissionInterfaceId); + jobSubmissionInterface.setJobSubmissionProtocol(jobSubmissionProtocolType); + jobSubmissionInterface.setPriorityOrder(priorityOrder); + return jobSubmissionInterface; + } + + public static ComputeResourceDescription createComputeResourceDescription( + String hostName, List hostAliases, List ipAddresses) { + ComputeResourceDescription host = new ComputeResourceDescription(); + host.setHostName(hostName); + host.setIpAddresses(ipAddresses); + host.setHostAliases(hostAliases); + return host; + } + + public static ResourceJobManager createResourceJobManager( + ResourceJobManagerType resourceJobManagerType, + String jobManagerBinPath, + Map jobManagerCommands, + String pushMonitoringEndpoint) { + ResourceJobManager resourceJobManager=new ResourceJobManager();; + resourceJobManager.setResourceJobManagerType(resourceJobManagerType); + resourceJobManager.setJobManagerBinPath(jobManagerBinPath); + resourceJobManager.setJobManagerCommands(jobManagerCommands); + resourceJobManager.setPushMonitoringEndpoint(pushMonitoringEndpoint); + return resourceJobManager; + } + + public static InputDataObjectType createAppInput (String inputName, String argumentName, String description, String value, org.apache.airavata.model.appcatalog.appinterface.DataType type ){ + InputDataObjectType input = new InputDataObjectType(); +// input.setIsEmpty(false); + if (inputName!=null) { + input.setName(inputName); + } + if (value!=null) { + input.setValue(value); + } + if (type!=null) { + input.setType(type); + } + if (argumentName!=null) { + input.setApplicationArgument(argumentName); + } + if (description!=null) { + input.setUserFriendlyDescription(description); + } + return input; + } + + public static OutputDataObjectType createAppOutput (String inputName, String value, org.apache.airavata.model.appcatalog.appinterface.DataType type ){ + OutputDataObjectType outputDataObjectType = new OutputDataObjectType(); +// outputDataObjectType.setIsEmpty(false); + if (inputName!=null) { + outputDataObjectType.setName(inputName); + } + if (value!=null) { + outputDataObjectType.setValue(value); + } + if (type!=null) { + outputDataObjectType.setType(type); + } + return outputDataObjectType; + } + +} http://git-wip-us.apache.org/repos/asf/airavata/blob/2654424b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/NameValuePairType.java ---------------------------------------------------------------------- diff --git a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/NameValuePairType.java b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/NameValuePairType.java new file mode 100644 index 0000000..5bf5cb5 --- /dev/null +++ b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/NameValuePairType.java @@ -0,0 +1,48 @@ +/* + * + * 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.client.tools; + +public class NameValuePairType { + + private String name; + private String value; + private String description; + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getValue() { + return value; + } + public void setValue(String value) { + this.value = value; + } + public String getDescription() { + return description; + } + public void setDescription(String description) { + this.description = description; + } + +} http://git-wip-us.apache.org/repos/asf/airavata/blob/2654424b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/PeriodicExecutorThread.java ---------------------------------------------------------------------- diff --git a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/PeriodicExecutorThread.java b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/PeriodicExecutorThread.java new file mode 100644 index 0000000..6a1a4ed --- /dev/null +++ b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/PeriodicExecutorThread.java @@ -0,0 +1,61 @@ +/* + * + * 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.client.tools; + +import org.apache.airavata.client.api.AiravataAPI; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public abstract class PeriodicExecutorThread extends Thread { + + private AiravataAPI airavataAPI; + public static final int URL_UPDATE_INTERVAL = 1000 * 60 * 60 * 3; + public static final int JCR_AVAIALABILITY_WAIT_INTERVAL = 1000 * 10; + + private static final Logger log = LoggerFactory.getLogger(PeriodicExecutorThread.class); + + public PeriodicExecutorThread(AiravataAPI airavataAPI) { + this.airavataAPI = airavataAPI; + } + + public void run() { + while (true) { + try { + updateRegistry(airavataAPI); + Thread.sleep(URL_UPDATE_INTERVAL); + } catch (InterruptedException e) { + break; + } catch (Exception e) { + try { + Thread.sleep(JCR_AVAIALABILITY_WAIT_INTERVAL); + } catch (InterruptedException e1) { + e1.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + return; + } + log.error(e.getMessage()); + log.error("Workflow Interpreter Service URL update thread is interrupted"); + } + } + } + + protected abstract void updateRegistry(AiravataAPI airavataAPI) throws Exception; +} http://git-wip-us.apache.org/repos/asf/airavata/blob/2654424b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/UltrascanDocumentCreator.java ---------------------------------------------------------------------- diff --git a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/UltrascanDocumentCreator.java b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/UltrascanDocumentCreator.java new file mode 100644 index 0000000..f4fceeb --- /dev/null +++ b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/UltrascanDocumentCreator.java @@ -0,0 +1,444 @@ +///** +// * 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.client.tools; +// +//import java.io.File; +//import java.util.ArrayList; +//import java.util.Date; +//import java.util.List; +//import java.util.UUID; +// +//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.ApplicationDeploymentDescriptionType; +//import org.apache.airavata.schemas.gfac.DataType; +//import org.apache.airavata.schemas.gfac.GsisshHostType; +//import org.apache.airavata.schemas.gfac.HpcApplicationDeploymentType; +//import org.apache.airavata.schemas.gfac.InputParameterType; +//import org.apache.airavata.schemas.gfac.JobTypeType; +//import org.apache.airavata.schemas.gfac.OutputParameterType; +//import org.apache.airavata.schemas.gfac.ParameterType; +//import org.apache.airavata.schemas.gfac.ProjectAccountType; +//import org.apache.airavata.schemas.gfac.QueueType; +// +//public class UltrascanDocumentCreator { +// +// private AiravataAPI airavataAPI = null; +// private String hpcHostAddress = "trestles.sdsc.edu"; +// private String gsiSshHostNameTrestles = "gsissh-trestles"; +// private String gsiSshHostNameStampede = "gsissh-stampede"; +// +// +// public UltrascanDocumentCreator(AiravataAPI airavataAPI) { +// this.airavataAPI = airavataAPI; +// } +// +// public void createEchoPBSDocsforTestles() { +// HostDescription host = new HostDescription(GsisshHostType.type); +// host.getType().setHostAddress(hpcHostAddress); +// host.getType().setHostName(gsiSshHostNameTrestles); +// ((GsisshHostType) host.getType()).setPort(22); +// ((GsisshHostType) host.getType()).setInstalledPath("/opt/torque/bin/"); +// +// 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 = "US3EchoTrestles"; +// ServiceDescription serv = new ServiceDescription(); +// serv.getType().setName(serviceName); +// +// List inputList = new ArrayList(); +// List outputList = new ArrayList(); +// +// +// 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(serviceName); +// app.setApplicationName(name); +// ProjectAccountType projectAccountType = app.addNewProjectAccount(); +// projectAccountType.setProjectAccountNumber("uot111"); +// +// QueueType queueType = app.addNewQueue(); +// queueType.setQueueName("normal"); +// +// app.setCpuCount(1); +// app.setJobType(JobTypeType.SERIAL); +// app.setNodeCount(1); +// app.setProcessorsPerNode(1); +// app.setMaxWallTime(10); +// /* +// * Use bat file if it is compiled on Windows +// */ +// app.setExecutableLocation("/bin/echo"); +// +// /* +// * Default tmp location +// */ +// String tempDir = "/oasis/projects/nsf/uot111/us3/airavata-workdirs/"; +// +// app.setScratchWorkingDirectory(tempDir); +// app.setInstalledParentPath("/opt/torque/bin/"); +// +// try { +// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, gsiSshHostNameTrestles, appDesc); +// } catch (AiravataAPIInvocationException e) { +// e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. +// } +// } +// +// public void createMPIPBSDocsTrestles() { +// HostDescription host = new HostDescription(GsisshHostType.type); +// host.getType().setHostAddress(hpcHostAddress); +// host.getType().setHostName(gsiSshHostNameTrestles); +// ((GsisshHostType) host.getType()).setPort(22); +// ((GsisshHostType) host.getType()).setInstalledPath("/opt/torque/bin/"); +// +// 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 = "US3AppTrestles"; +// ServiceDescription serv = new ServiceDescription(); +// serv.getType().setName(serviceName); +// +// List inputList = new ArrayList(); +// List outputList = new ArrayList(); +// +// +// InputParameterType input = InputParameterType.Factory.newInstance(); +// input.setParameterName("input"); +// ParameterType parameterType = input.addNewParameterType(); +// parameterType.setType(DataType.URI); +// parameterType.setName("URI"); +// +// OutputParameterType output = OutputParameterType.Factory.newInstance(); +// output.setParameterName("output"); +// ParameterType parameterType1 = output.addNewParameterType(); +// parameterType1.setType(DataType.URI); +// parameterType1.setName("URI"); +// +// OutputParameterType output1 = OutputParameterType.Factory.newInstance(); +// output1.setParameterName("stdout"); +// ParameterType parameterType2 = output1.addNewParameterType(); +// parameterType2.setType(DataType.STD_OUT); +// parameterType2.setName("StdOut"); +// +// OutputParameterType output2 = OutputParameterType.Factory.newInstance(); +// output2.setParameterName("stderr"); +// ParameterType parameterType3 = output2.addNewParameterType(); +// parameterType3.setType(DataType.STD_ERR); +// parameterType3.setName("StdErr"); +// +// inputList.add(input); +// outputList.add(output); +// outputList.add(output1); +// outputList.add(output2); +// +// 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(serviceName); +// app.setApplicationName(name); +// ProjectAccountType projectAccountType = app.addNewProjectAccount(); +// projectAccountType.setProjectAccountNumber("uot111"); +// +// QueueType queueType = app.addNewQueue(); +// queueType.setQueueName("normal"); +// +// app.setCpuCount(1); +// app.setJobType(JobTypeType.MPI); +// app.setNodeCount(32); +// app.setProcessorsPerNode(2); +// app.setMaxWallTime(10); +// /* +// * Use bat file if it is compiled on Windows +// */ +// app.setExecutableLocation("/home/us3/trestles/bin/us_mpi_analysis"); +// +// /* +// * Default tmp location +// */ +// String tempDir = "/oasis/projects/nsf/uot111/us3/airavata-workdirs/"; +// app.setScratchWorkingDirectory(tempDir); +// app.setInstalledParentPath("/opt/torque/bin/"); +// app.setJobSubmitterCommand("/opt/mvapich2/pgi/ib/bin/mpiexec"); +// try { +// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, gsiSshHostNameTrestles, appDesc); +// } catch (AiravataAPIInvocationException e) { +// e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. +// } +// } +// public void createMPISLURMDocsStampede() { +// HostDescription host = new HostDescription(GsisshHostType.type); +// host.getType().setHostAddress("stampede.tacc.xsede.org"); +// host.getType().setHostName("gsissh-stampede"); +// ((GsisshHostType) host.getType()).setJobManager("slurm"); +// ((GsisshHostType) host.getType()).setInstalledPath("/usr/bin/"); +// ((GsisshHostType) host.getType()).setPort(2222); +// +// 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 = "US3AppStampede"; +// ServiceDescription serv = new ServiceDescription(); +// serv.getType().setName(serviceName); +// +// List inputList = new ArrayList(); +// List outputList = new ArrayList(); +// +// +// InputParameterType input = InputParameterType.Factory.newInstance(); +// input.setParameterName("input"); +// ParameterType parameterType = input.addNewParameterType(); +// parameterType.setType(DataType.URI); +// parameterType.setName("URI"); +// +// OutputParameterType output = OutputParameterType.Factory.newInstance(); +// output.setParameterName("output"); +// ParameterType parameterType1 = output.addNewParameterType(); +// parameterType1.setType(DataType.URI); +// parameterType1.setName("URI"); +// +// OutputParameterType output1 = OutputParameterType.Factory.newInstance(); +// output1.setParameterName("stdout"); +// ParameterType parameterType2 = output1.addNewParameterType(); +// parameterType2.setType(DataType.STD_OUT); +// parameterType2.setName("StdOut"); +// +// OutputParameterType output2 = OutputParameterType.Factory.newInstance(); +// output2.setParameterName("stderr"); +// ParameterType parameterType3 = output2.addNewParameterType(); +// parameterType3.setType(DataType.STD_ERR); +// parameterType3.setName("StdErr"); +// +// inputList.add(input); +// outputList.add(output); +// outputList.add(output1); +// outputList.add(output2); +// +// 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(serviceName); +// app.setApplicationName(name); +// ProjectAccountType projectAccountType = app.addNewProjectAccount(); +// projectAccountType.setProjectAccountNumber("TG-MCB070039N"); +// +// QueueType queueType = app.addNewQueue(); +// queueType.setQueueName("normal"); +// +// app.setCpuCount(1); +// app.setJobType(JobTypeType.MPI); +// app.setNodeCount(32); +// app.setProcessorsPerNode(2); +// app.setMaxWallTime(10); +// /* +// * Use bat file if it is compiled on Windows +// */ +// app.setExecutableLocation("/home1/01623/us3/bin/us_mpi_analysis"); +// +// /* +// * Default tmp location +// */ +// String tempDir = "/home1/01623/us3"; +// app.setScratchWorkingDirectory(tempDir); +// app.setInstalledParentPath("/usr/bin/"); +// app.setJobSubmitterCommand("/usr/local/bin/ibrun"); +// try { +// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, gsiSshHostNameStampede, appDesc); +// } catch (AiravataAPIInvocationException e) { +// e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. +// } +// } +// public void createEchoSlurmDocsofStampede() { +// HostDescription host = new HostDescription(GsisshHostType.type); +// host.getType().setHostAddress("stampede.tacc.xsede.org"); +// host.getType().setHostName("stampede-host"); +// ((GsisshHostType) host.getType()).setJobManager("slurm"); +// ((GsisshHostType) host.getType()).setInstalledPath("/usr/bin/"); +// ((GsisshHostType) host.getType()).setPort(2222); +// ((GsisshHostType) host.getType()).setMonitorMode("push"); +//// ((GsisshHostType) host.getType()).setMo(2222); +// +// +// 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 = "US3EchoStampede"; +// ServiceDescription serv = new ServiceDescription(); +// serv.getType().setName(serviceName); +// +// List inputList = new ArrayList(); +// List outputList = new ArrayList(); +// +// +// 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(serviceName); +// app.setApplicationName(name); +// ProjectAccountType projectAccountType = app.addNewProjectAccount(); +// projectAccountType.setProjectAccountNumber("TG-MCB070039N"); +// +// QueueType queueType = app.addNewQueue(); +// queueType.setQueueName("normal"); +// +// app.setCpuCount(1); +// app.setJobType(JobTypeType.SERIAL); +// app.setNodeCount(1); +// app.setProcessorsPerNode(1); +// app.setMaxWallTime(10); +// /* +// * Use bat file if it is compiled on Windows +// */ +// app.setExecutableLocation("/bin/echo"); +// +// /* +// * Default tmp location +// */ +// String tempDir = "/home1/01623/us3"; +// +// app.setScratchWorkingDirectory(tempDir); +// app.setInstalledParentPath("/usr/bin/"); +// +// try { +// airavataAPI.getApplicationManager().saveApplicationDescription(serviceName, gsiSshHostNameStampede, 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; +// } +//}