airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suresh Marru <sma...@apache.org>
Subject Re: Register a remote computational resource steps
Date Thu, 30 Apr 2015 13:51:24 GMT
Hi Alfredo,

We will be happy to walk through these steps using a test PHP interface which consumes the
same API you are programming against. 

http://dev.test-drive.airavata.org/portal/pga/public/ <http://dev.test-drive.airavata.org/portal/pga/public/>

Navigating through the working PHP code in this repo might help understand the API sequences
better.

Suresh

> On Apr 30, 2015, at 9:30 AM, Chathuri Wimalasena <kamalasini@gmail.com> wrote:
> 
> Hi, 
> 
> You do not need to have airavata server running in remote instance. Only local instance
is sufficient. Here are the steps you should do in order to use your application. 
> Register the compute resource
> Register the gatewayResource preference for the gateway profile 
> Register an application module
> Register the application interface
> Register the application deployment
> I assume you went through all the above steps. From each register method of the API,
you will get a ID in return. When you create the experiment object, you need to give the application
interface id as the "applicationId" and give the compute resource id as the "resourceHostId"
of the ComputationalResourceScheduling object. Sample experiment object is like this. 
> 
> 
> Experiment simpleExperiment =
>                                     ExperimentModelUtil.createSimpleExperiment(projectID,
testUser, "TestFR_Ultrascan_Experiment", "Ultrascan Experiment run", appId, applicationInputs);
> simpleExperiment.setExperimentOutputs(appOutputs);
> ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(hostId,
4, 1, 1, "normal", 30, 0, 1, null);
> UserConfigurationData userConfigurationData = new UserConfigurationData();
> userConfigurationData.setAiravataAutoSchedule(false);
> userConfigurationData.setOverrideManualScheduledParams(false);
> userConfigurationData.setComputationalResourceScheduling(scheduling);
> simpleExperiment.setUserConfigurationData(userConfigurationData);
> experimentId = airavata.createExperiment(gatewayId, simpleExperiment);
> 
> Hope this helps.
> 
> Thanks..
> Chathuri
> 
> 
> On Wed, Apr 29, 2015 at 8:39 AM, SmashRod Alfredo <smashrod@hotmail.it <mailto:smashrod@hotmail.it>>
wrote:
> Hi Everyone,
> I need some details on the steps necessary in order to register a remote computational
resource on Airavata.
> 
> The first question is really dumb but I don't find anywhere a detailed answer or explanation:
it is necessary to have an airavata-server instance running on both local (where computational
resource is registered) and remote machine?
> 
> 
> I've try to register an internal computational resource without success doing the following:
> -> Register the computational resources (following the provided samples)
>             computeResourceID = registerComputeHost(remoteMachineDomainName, "RTSRV SSC
Machine",
>                     ResourceJobManagerType.FORK, "push", "/usr/bin", SecurityProtocol.SSH_KEYS,
22, null);
>             System.out.println("Resource Id is " + computeResourceID);
> 
> -> Register the GatewayResourceProfile
> 
>             ComputeResourcePreference rtsrvComputateResourcePreference = RegisterSampleApplicationsUtils.
>                     createComputeResourcePreference(computeResourceID , null, false,
null,
>                             JobSubmissionProtocol.SSH, DataMovementProtocol.SCP, "/tmp");
>     
>             GatewayResourceProfile gatewayResourceProfile = new GatewayResourceProfile();
>             gatewayResourceProfile.setGatewayID(DEFAULT_GATEWAY);
>             gatewayResourceProfile.setGatewayName(DEFAULT_GATEWAY);
>             gatewayResourceProfile.addToComputeResourcePreferences(rtsrvComputateResourcePreference);
>  
>             String gatewayProfile = airavataClient.registerGatewayResourceProfile(gatewayResourceProfile);
>             System.out.println("Gateway Profile is registered with Id " + gatewayProfile);
>             writeIdPropertyFile("Gateway Profile ID",gatewayProfile,propertyFile);
> 
> -> Register an application deployment of the remote host
> 
> When try to execute a workflow using the defined application on the registered remote
machine I got the following error:
> Computational resource scheduling is not configured for host ......
> 
> Does something missing on my remote machine (airavata-server running or some kind of
services?), or something is not properly configured on the local machine (some properties
file?)?
> 
> Thanks for the explanation
> 
> Alfredo
> 


Mime
View raw message