You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/10/02 14:38:35 UTC

[4/5] airavata-php-gateway git commit: AIRAVATA-2521 Some pull requests fixes

AIRAVATA-2521 Some pull requests fixes


Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/85c0766d
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/85c0766d
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/85c0766d

Branch: refs/heads/develop
Commit: 85c0766dace86296365f975ea0c36b3d6819c696
Parents: e03d5e7
Author: Marcus Christie <ma...@iu.edu>
Authored: Mon Oct 2 10:37:09 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Mon Oct 2 10:37:09 2017 -0400

----------------------------------------------------------------------
 app/controllers/ExperimentController.php       | 32 ++++++++++++---------
 app/libraries/ExperimentUtilities.php          | 12 ++++----
 app/views/partials/experiment-inputs.blade.php |  2 +-
 3 files changed, 25 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/85c0766d/app/controllers/ExperimentController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ExperimentController.php b/app/controllers/ExperimentController.php
index 5660a36..36131f9 100755
--- a/app/controllers/ExperimentController.php
+++ b/app/controllers/ExperimentController.php
@@ -93,17 +93,17 @@ class ExperimentController extends BaseController
 
         } else if (isset($_POST['save']) || isset($_POST['launch'])) {
             try {
-                $computeResourceId = Input::get("crId");
+                $computeResourceId = Input::get("compute-resource");
                 //Validate entered queue details
                 $queueValues = array("queueName" => Input::get("queue-name"),
-                    "nodeCount" => Input::get("nodeCount"),
-                    "cpuCount" => Input::get("cpuCount"),
-                    "wallTimeLimit" => Input::get("wallTimeLimit")
+                    "nodeCount" => Input::get("node-count"),
+                    "cpuCount" => Input::get("cpu-count"),
+                    "wallTimeLimit" => Input::get("walltime-count")
                 );
                 if($this->validateQueueData($computeResourceId, $queueValues))
                     $expId = ExperimentUtilities::create_experiment();
                 else
-                    Redirect::to("experiment/create")->with("error-message", "Validate the number f nodes, CPUs and the wall time limit");
+                    return Redirect::to("experiment/create")->with("error-message", "Validate the number of nodes, CPUs and the wall time limit");
             } catch (Exception $ex) {
                 Log::error("Failed to create experiment!");
                 Log::error($ex);
@@ -329,6 +329,7 @@ class ExperimentController extends BaseController
 
         $userComputeResourcePreferences = URPUtilities::get_all_user_compute_resource_prefs();
         $userHasComputeResourcePreference = array_key_exists($expVal['scheduling']->resourceHostId, $userComputeResourcePreferences);
+        $batchQueues = ExperimentUtilities::getQueueDatafromResourceId($computeResourceId);
 
         $experimentInputs = array(
             "disabled" => ' ',
@@ -347,7 +348,8 @@ class ExperimentController extends BaseController
             'project' => $experiment->projectId,
             'expVal' => $expVal,
             'cloning' => true,
-            'advancedOptions' => Config::get('pga_config.airavata')["advanced-experiment-options"]
+            'advancedOptions' => Config::get('pga_config.airavata')["advanced-experiment-options"],
+            'batchQueues' => $batchQueues
         );
 
         if(Config::get('pga_config.airavata')["data-sharing-enabled"]){
@@ -405,17 +407,19 @@ class ExperimentController extends BaseController
     {
         $experiment = ExperimentUtilities::get_experiment(Input::get('expId')); // update local experiment variable
         try {
-            $computeResourceId = Input::get("crId");
+            $computeResourceId = Input::get("compute-resource");
             //Validate entered queue details
             $queueValues = array("queueName" => Input::get("queue-name"),
-                "nodeCount" => Input::get("nodeCount"),
-                "cpuCount" => Input::get("cpuCount"),
-                "wallTimeLimit" => Input::get("wallTimeLimit")
+                "nodeCount" => Input::get("node-count"),
+                "cpuCount" => Input::get("cpu-count"),
+                "wallTimeLimit" => Input::get("walltime-count")
             );
-            if($this->validateQueueData($computeResourceId, $queueValues))
+            if($this->validateQueueData($computeResourceId, $queueValues)) {
                 $updatedExperiment = ExperimentUtilities::apply_changes_to_experiment($experiment, Input::all());
-            else
-                Redirect::to("experiment/create")->with("error-message", "Validate the number of nodes, CPUs and the wall time limit");
+            } else {
+                $errMessage = "Validate the number of nodes, CPUs and the wall time limit";
+                return Redirect::to("experiment/edit?expId=" . urlencode(Input::get('expId')))->with("error-message", $errMessage);
+            }
         } catch (Exception $ex) {
             $errMessage = "Failed to update experiment: " . $ex->getMessage();
             Log::error($errMessage);
@@ -617,7 +621,7 @@ class ExperimentController extends BaseController
 
         foreach($queues as $aQueue){
             if($aQueue->queueName == $queueName) {
-                if($queue['validateQueueData'] <= $aQueue->maxNodes && $queue['maxCPUCount'] <= $aQueue->maxProcessors && $queue['wallTimeLimit'] <= $aQueue->maxRunTime)
+                if($queue['nodeCount'] <= $aQueue->maxNodes && $queue['cpuCount'] <= $aQueue->maxProcessors && $queue['wallTimeLimit'] <= $aQueue->maxRunTime)
                     return true;
             }
         }

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/85c0766d/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index f3c96ce..4ddc460 100755
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -1425,18 +1425,18 @@ class ExperimentUtilities
         $queues =  $resourceObject->batchQueues;
 
         //Defining maximum allowed value for queue resources
-        $maxNodeCount = Config::get('pga_config.airavata')["max-node-count"];
-        $maxCPUCount = Config::get('pga_config.airavata')["max-total-cpu-count"];
-        $maxWallTimeLimit = Config::get('pga_config.airavata')["max-wall-time-limit"];
+        $maxNodeCount = Config::get('pga_config.airavata.max-node-count', null);
+        $maxCPUCount = Config::get('pga_config.airavata.max-total-cpu-count', null);
+        $maxWallTimeLimit = Config::get('pga_config.airavata.max-wall-time-limit', null);
 
         foreach($queues as $aQueue){
-            if($aQueue->maxNodes > $maxNodeCount){
+            if($maxNodeCount && $aQueue->maxNodes > $maxNodeCount){
                 $aQueue->maxNodes = $maxNodeCount;
             }
-            if($aQueue->maxProcessors > $maxCPUCount){
+            if($maxCPUCount && $aQueue->maxProcessors > $maxCPUCount){
                 $aQueue->maxProcessors = $maxCPUCount;
             }
-            if($aQueue->maxRunTime > $maxWallTimeLimit){
+            if($maxWallTimeLimit && $aQueue->maxRunTime > $maxWallTimeLimit){
                 $aQueue->maxRunTime = $maxWallTimeLimit;
             }
         }

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/85c0766d/app/views/partials/experiment-inputs.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-inputs.blade.php b/app/views/partials/experiment-inputs.blade.php
index 1318961..eb94ae2 100644
--- a/app/views/partials/experiment-inputs.blade.php
+++ b/app/views/partials/experiment-inputs.blade.php
@@ -83,7 +83,7 @@
             <div class="queue-view">
                 @if(isset($expInputs['expVal']) )
                 @include( 'partials/experiment-queue-block', array('queues'=>
-                $expInputs['expVal']['computeResource']->batchQueues, 'expVal' => $expInputs['expVal'],
+                $expInputs['batchQueues'], 'expVal' => $expInputs['expVal'],
                 'useUserCRPref' => $expInputs['useUserCRPref'],
                 'userHasComputeResourcePreference' => $expInputs['userHasComputeResourcePreference'],
                  'cpusPerNode' => $cpusPerNode))