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/master Commit: 85c0766dace86296365f975ea0c36b3d6819c696 Parents: e03d5e7 Author: Marcus Christie <[email protected]> Authored: Mon Oct 2 10:37:09 2017 -0400 Committer: Marcus Christie <[email protected]> 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))
