You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ra...@apache.org on 2014/07/13 15:30:43 UTC
git commit: updated tester script
Repository: airavata
Updated Branches:
refs/heads/master 16d2d38f0 -> b0618e404
updated tester script
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b0618e40
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b0618e40
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b0618e40
Branch: refs/heads/master
Commit: b0618e404c7688597d356dcf2c3db8179b3c175a
Parents: 16d2d38
Author: raminder <ra...@apache.org>
Authored: Sun Jul 13 09:30:36 2014 -0400
Committer: raminder <ra...@apache.org>
Committed: Sun Jul 13 09:30:36 2014 -0400
----------------------------------------------------------------------
.../airavata-client-api-tester.php | 124 +++++++++----------
1 file changed, 60 insertions(+), 64 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/b0618e40/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/airavata-client-api-tester.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/airavata-client-api-tester.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/airavata-client-api-tester.php
index 7ebf0a2..10b9c44 100755
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/airavata-client-api-tester.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/airavata-client-api-tester.php
@@ -31,12 +31,9 @@ use Airavata\Model\Workspace\Experiment\ExperimentState;
$transport = new TSocket($airavataconfig['AIRAVATA_SERVER'], $airavataconfig['AIRAVATA_PORT']);
$transport->setRecvTimeout($airavataconfig['AIRAVATA_TIMEOUT']);
*/
-$transport = new TSocket('gw127.iu.xsede.org', 8930);
-$transport->setRecvTimeout(20000);
-$transport->setSendTimeout(20000);
-$protocol = new TBinaryProtocol($transport);
-$transport->open();
-$airavataclient = new AiravataClient($protocol);
+include 'getAiravataClient.php';
+global $airavataclient;
+global $transport;
try
{
@@ -47,79 +44,78 @@ try
else
{
- /* ComputationalResourceScheduling data for Trestles*/
- $cmRST = new ComputationalResourceScheduling();
- $cmRST->resourceHostId = "trestles.sdsc.edu";
- $cmRST->ComputationalProjectAccount = "sds128";
- $cmRST->totalCPUCount = 1;
- $cmRST->nodeCount = 1;
- $cmRST->numberOfThreads = 0;
- $cmRST->queueName = "normal";
- $cmRST->wallTimeLimit = 15;
- $cmRST->jobStartTime = 0;
- $cmRST->totalPhysicalMemory = 0;
-
- /* ComputationalResourceScheduling data for Stampede */
- $cmRSS = new ComputationalResourceScheduling();
- $cmRSS->resourceHostId = "stampede.tacc.xsede.org";
- $cmRSS->ComputationalProjectAccount = "TG-STA110014S";
- $cmRSS->totalCPUCount = 1;
- $cmRSS->nodeCount = 1;
- $cmRSS->numberOfThreads = 0;
- $cmRSS->queueName = "normal";
- $cmRSS->wallTimeLimit = 15;
- $cmRSS->jobStartTime = 0;
- $cmRSS->totalPhysicalMemory = 0;
-
- /* UserConfigurationData using either Trestles or Stampede*/
- //$cmRS = $cmRSS;
- $cmRS = $cmRST;
+ $applicationId = $appcatalogdocs['echoInterfaceId'];
+
+ $applicationInput = new DataObjectType();
+ $applicationInput->key = "Input_to_Echo";
+ $applicationInput->value = "Hello World";
+ $experimentInputs = array($applicationInput);
+
+ /**
+ * NOTE: For convenience, all the computational hosts are provided.
+ * Comment/Uncomment appropriately to schedule on alternative resources
+ * If all hosts are uncommented, the last one will be picked.
+ */
+
+ $scheduling = new ComputationalResourceScheduling();
+
+ /* IU BigRed II Cluster */
+ $scheduling->resourceHostId = $appcatalogdocs['bigredResourceId'];
+
+ /* TACC Stampede Cluster */
+ $scheduling->resourceHostId = $appcatalogdocs['stampedeResourceId'];
+ $scheduling->ComputationalProjectAccount = "TG-STA110014S";
+
+ /* SDSC Trestles Cluster */
+ $scheduling->resourceHostId = $appcatalogdocs['trestlesResourceId'];
+ $scheduling->ComputationalProjectAccount = "sds128";
+
+ /* Job dimensions and resource queue */
+ $scheduling->totalCPUCount = 1;
+ $scheduling->nodeCount = 1;
+ $scheduling->wallTimeLimit = 15;
+ $scheduling->queueName = "normal";
+
$userConfigurationData = new UserConfigurationData();
$userConfigurationData->airavataAutoSchedule = 0;
$userConfigurationData->overrideManualScheduledParams = 0;
- $userConfigurationData->computationalResourceScheduling = $cmRS;
- //var_dump($cmRS);
- //var_dump($userConfigurationData);
-
- /*Application ID for Trestles or Stamepede */
- $appId_trestles = "SimpleEcho2";
- $appId_stampede = "SimpleEcho3";
- //$appId = $appId_stampede;
- $appId = $appId_trestles;
-
- /* Experiment input and output data. */
- $input = new DataObjectType();
- $input->key = "echo_input";
- $input->value = "echo_output=Hello World";
- $input->type = DataType::STRING;
- $exInputs = array($input);
-
- $output = new DataObjectType();
- $output->key = "echo_output";
- $output->value = "";
- $output->type = DataType::STRING;
- $exOutputs = array($output);
-
-
+ $userConfigurationData->computationalResourceScheduling = $scheduling;
+
+ /**
+ * An experiment is created within Airavata and all the provided inputs and configurations are persisted
+ * within the Airavata Registry.
+ *
+ * NOTE: Airavata uses a 2 step launch process. The creation just creates the experiment. The launch step
+ * executes the created experiment.
+ */
+
+ $experiment = new Experiment();
+ $experiment->projectID = $projectId;
+ $experiment->userName = $userName;
+ $experiment->name = $experimentName;
+ $experiment->applicationId = $applicationId;
+ $experiment->userConfigurationData = $userConfigurationData;
+ $experiment->experimentInputs = $experimentInputs;
+
+
/* Simple workflow test. */
$user = $argv[1];
/* Create Project */
$project = new Project();
- $project->owner = $user;
- $project->name = "LoadTesterProject";
- $projId = $airavataclient->createProject($project);
- echo "$user created project $projId. \n";
+ $project->owner = $user;
+ $project->name = "LoadTesterProject";
+ $projId = $airavataclient->createProject($project);
+ echo "$user created project $projId. \n";
/* Create Experiment */
$experiment = new Experiment();
$experiment->projectID = $projId;
$experiment->userName = $user;
$experiment->name = "LoadTesterExperiment_".time();
- $experiment->applicationId = $appId;
+ $experiment->applicationId = $applicationId;
$experiment->userConfigurationData = $userConfigurationData;
$experiment->experimentInputs = $exInputs;
- $experiment->experimentOutputs = $exOutputs;
$expId = $airavataclient->createExperiment($experiment);
echo "$user created experiment $expId. \n";
//var_dump($experiment);
@@ -152,7 +148,7 @@ try
$update_userConfigurationData = new UserConfigurationData();
$update_userConfigurationData->airavataAutoSchedule = 0;
$update_userConfigurationData->overrideManualScheduledParams = 0;
- $update_userConfigurationData->computationalResourceScheduling = $cmRSS;
+ $update_userConfigurationData->computationalResourceScheduling = $scheduling;
$airavataclient->updateExperimentConfiguration($expId, $update_userConfigurationData);
echo "$user updated user configuration data for experiment $expId. \n";