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.

   1. Register the compute resource
   2. Register the gatewayResource preference for the gateway profile
   3. Register an application module
   4. Register the application interface
   5. 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 <smash...@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
>

Reply via email to