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 22:54:56 UTC

[1/7] airavata-php-gateway git commit: Trigger mirror sync

Repository: airavata-php-gateway
Updated Branches:
  refs/heads/master fa310a19e -> 85c0766da


Trigger mirror sync


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/e189880b
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/e189880b
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/e189880b

Branch: refs/heads/master
Commit: e189880bda9b8a34200245224dd33a6069bae0bc
Parents: fa310a1
Author: Marcus Christie <ma...@iu.edu>
Authored: Wed Sep 27 15:00:19 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Wed Sep 27 15:00:19 2017 -0400

----------------------------------------------------------------------

----------------------------------------------------------------------



[5/7] airavata-php-gateway git commit: Set the gateway level maximum values for walltime, node and CPU counts

Posted by ma...@apache.org.
Set the gateway level maximum values for walltime, node and CPU counts


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/d3900b9a
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/d3900b9a
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/d3900b9a

Branch: refs/heads/master
Commit: d3900b9ab94a9fb5c68d686480429ae003d9a21e
Parents: e189880
Author: Sneha Tilak <ti...@149-160-247-119.dhcp-bl.indiana.edu>
Authored: Fri Sep 29 18:15:38 2017 -0400
Committer: Sneha Tilak <ti...@149-160-247-119.dhcp-bl.indiana.edu>
Committed: Fri Sep 29 18:15:38 2017 -0400

----------------------------------------------------------------------
 app/config/pga_config.php.template       | 15 ++++++++++
 app/controllers/ExperimentController.php | 40 +++++++++++++++++++++++++--
 app/libraries/ExperimentUtilities.php    | 20 +++++++++++++-
 3 files changed, 71 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d3900b9a/app/config/pga_config.php.template
----------------------------------------------------------------------
diff --git a/app/config/pga_config.php.template b/app/config/pga_config.php.template
index 654a1ed..495c98c 100644
--- a/app/config/pga_config.php.template
+++ b/app/config/pga_config.php.template
@@ -180,6 +180,21 @@ return array(
         'wall-time-limit' => '30',
 
         /**
+         * Max node count
+         */
+        'max-node-count' => '4',
+
+        /**
+         * Max total core count
+         */
+        'max-total-cpu-count' => '96',
+
+        /**
+         * Max wall time limit
+         */
+        'max-wall-time-limit' => '120',
+
+        /**
          * Enable app-catalog cache
          */
         'enable-app-catalog-cache' => true,

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d3900b9a/app/controllers/ExperimentController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ExperimentController.php b/app/controllers/ExperimentController.php
index 131fa1d..5660a36 100755
--- a/app/controllers/ExperimentController.php
+++ b/app/controllers/ExperimentController.php
@@ -55,7 +55,6 @@ class ExperimentController extends BaseController
                 "wallTimeLimit" => $wallTimeLimit
             );
 
-
             $experimentInputs = array(
                 "disabled" => ' disabled',
                 "experimentName" => $_POST['experiment-name'],
@@ -94,7 +93,17 @@ class ExperimentController extends BaseController
 
         } else if (isset($_POST['save']) || isset($_POST['launch'])) {
             try {
-                $expId = ExperimentUtilities::create_experiment();
+                $computeResourceId = Input::get("crId");
+                //Validate entered queue details
+                $queueValues = array("queueName" => Input::get("queue-name"),
+                    "nodeCount" => Input::get("nodeCount"),
+                    "cpuCount" => Input::get("cpuCount"),
+                    "wallTimeLimit" => Input::get("wallTimeLimit")
+                );
+                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");
             } catch (Exception $ex) {
                 Log::error("Failed to create experiment!");
                 Log::error($ex);
@@ -396,7 +405,17 @@ class ExperimentController extends BaseController
     {
         $experiment = ExperimentUtilities::get_experiment(Input::get('expId')); // update local experiment variable
         try {
-            $updatedExperiment = ExperimentUtilities::apply_changes_to_experiment($experiment, Input::all());
+            $computeResourceId = Input::get("crId");
+            //Validate entered queue details
+            $queueValues = array("queueName" => Input::get("queue-name"),
+                "nodeCount" => Input::get("nodeCount"),
+                "cpuCount" => Input::get("cpuCount"),
+                "wallTimeLimit" => Input::get("wallTimeLimit")
+            );
+            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");
         } catch (Exception $ex) {
             $errMessage = "Failed to update experiment: " . $ex->getMessage();
             Log::error($errMessage);
@@ -590,6 +609,21 @@ class ExperimentController extends BaseController
         }
         return $allowedFileSize;
     }
+
+    private function validateQueueData($computeResourceId, $queue)
+    {
+        $queues = ExperimentUtilities::getQueueDatafromResourceId($computeResourceId);
+        $queueName = $queue['queueName'];
+
+        foreach($queues as $aQueue){
+            if($aQueue->queueName == $queueName) {
+                if($queue['validateQueueData'] <= $aQueue->maxNodes && $queue['maxCPUCount'] <= $aQueue->maxProcessors && $queue['wallTimeLimit'] <= $aQueue->maxRunTime)
+                    return true;
+            }
+        }
+
+        return false;
+    }
 }
 
 ?>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d3900b9a/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 9424893..f3c96ce 100755
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -1422,7 +1422,25 @@ class ExperimentUtilities
     public static function getQueueDatafromResourceId($crId)
     {
         $resourceObject = Airavata::getComputeResource(Session::get('authz-token'), $crId);
-        return $resourceObject->batchQueues;
+        $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"];
+
+        foreach($queues as $aQueue){
+            if($aQueue->maxNodes > $maxNodeCount){
+                $aQueue->maxNodes = $maxNodeCount;
+            }
+            if($aQueue->maxProcessors > $maxCPUCount){
+                $aQueue->maxProcessors = $maxCPUCount;
+            }
+            if($aQueue->maxRunTime > $maxWallTimeLimit){
+                $aQueue->maxRunTime = $maxWallTimeLimit;
+            }
+        }
+        return $queues;
     }
 
     /**


[4/7] airavata-php-gateway git commit: AIRAVATA-2520 Defer running queue block init code until jquery loaded

Posted by ma...@apache.org.
AIRAVATA-2520 Defer running queue block init code until jquery loaded

Also made some pull request review changes


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/07d3255b
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/07d3255b
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/07d3255b

Branch: refs/heads/master
Commit: 07d3255be5cf882a67b785d69a68b1796d6d5e85
Parents: 33b1b88
Author: Marcus Christie <ma...@iu.edu>
Authored: Fri Sep 29 16:37:14 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Fri Sep 29 16:37:14 2017 -0400

----------------------------------------------------------------------
 app/views/experiment/edit.blade.php             |  2 -
 .../partials/experiment-queue-block.blade.php   | 49 +++++++++++---------
 2 files changed, 28 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/07d3255b/app/views/experiment/edit.blade.php
----------------------------------------------------------------------
diff --git a/app/views/experiment/edit.blade.php b/app/views/experiment/edit.blade.php
index aeeb620..714db8a 100755
--- a/app/views/experiment/edit.blade.php
+++ b/app/views/experiment/edit.blade.php
@@ -13,8 +13,6 @@
 
 //$appResources = array('Echo' => $echoResources, 'WRF' => $wrfResources);
 ?>
-<!-- Included the jquery script here! -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
 
 <div class="container">
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/07d3255b/app/views/partials/experiment-queue-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-queue-block.blade.php b/app/views/partials/experiment-queue-block.blade.php
index 8935ff1..61948d4 100644
--- a/app/views/partials/experiment-queue-block.blade.php
+++ b/app/views/partials/experiment-queue-block.blade.php
@@ -123,6 +123,7 @@
 </div>
 
 <script>
+var experimentQueueBlockInit = function() {
     //To work with experiment edit (Not Ajax)
     $( document ).ready(function() {
         var selectedQueue = $("#select-queue").val();
@@ -178,15 +179,13 @@
         });
     });
     
-    //I commented this as I see this as repeated code!
-
-    //To work work with experiment create (Ajax)
-    // var selectedQueue = $("#select-queue").val();
-    // getQueueData(selectedQueue);
-    // $("#select-queue").change(function () {
-    //     var selectedQueue = $(this).val();
-    //     getQueueData(selectedQueue);
-    // });
+    // To work work with experiment create (Ajax)
+    var selectedQueue = $("#select-queue").val();
+    getQueueData(selectedQueue);
+    $("#select-queue").change(function () {
+        var selectedQueue = $(this).val();
+        getQueueData(selectedQueue);
+    });
 
     $("#enable-auto-scheduling").change(function () {
         var selectedQueue = $("#select-queue").val();
@@ -198,10 +197,10 @@
         var queueDefaults = $.parseJSON($("#queue-defaults-array").val());
         var appDefaults = $.parseJSON($("#app-deployment-defaults-array").val());
         //getting the html values we set to hidden fields above!
-        var nodeCount = parseInt($("#passed-nodeCount").val());
-        var cpuCount = parseInt($('#passed-cpuCount').val());
-        var wallTime = parseInt($('#passed-wallTime').val());
-        var physicalMemory = parseInt($('#passed-physicalmem').val());
+        var passedNodeCount = parseInt($("#passed-nodeCount").val());
+        var passedCpuCount = parseInt($('#passed-cpuCount').val());
+        var passedWallTime = parseInt($('#passed-wallTime').val());
+        var passedPhysicalMemory = parseInt($('#passed-physicalmem').val());
         var veryLargeValue = 9999999;
 
         console.log(queues);
@@ -229,8 +228,8 @@
                     $("#node-count").val(queueDefaults['nodeCount']);
                 }
                 // load previously set values on page load.
-                if(nodeCount!=0){
-                    $("#node-count").val(nodeCount);
+                if(passedNodeCount!=0){
+                    $("#node-count").val(passedNodeCount);
                 }
 
                 //core-count
@@ -255,8 +254,8 @@
                 }
 
                 // load previously set values on page load.
-                if(cpuCount!=0){
-                    $("#cpu-count").val(cpuCount);
+                if(passedCpuCount!=0){
+                    $("#cpu-count").val(passedCpuCount);
                 }
 
 
@@ -280,8 +279,8 @@
                 }
 
                 // load previously set values on page load.
-                if(wallTime!=0){
-                    $("#wall-time").val(wallTime);
+                if(passedWallTime!=0){
+                    $("#wall-time").val(passedWallTime);
                 }
 
                 //memory-count
@@ -304,8 +303,8 @@
                 }
 
                 // load previously set values on page load.
-                if(physicalMemory!=0){
-                    $("#memory-count").val(physicalMemory);
+                if(passedPhysicalMemory!=0){
+                    $("#memory-count").val(passedPhysicalMemory);
                 }
 
 
@@ -336,4 +335,12 @@
         }
         $(".queue-view").removeClass("hide");
     }
+}
+
+// On initial load jQuery isn't loaded until later so wait until DOMContentLoaded
+if (typeof $ === 'undefined') {
+    document.addEventListener("DOMContentLoaded", experimentQueueBlockInit);
+} else {
+    experimentQueueBlockInit();
+}
 </script>
\ No newline at end of file


[2/7] airavata-php-gateway git commit: Changed the : notation to => for logo key in auth-options array

Posted by ma...@apache.org.
Changed the : notation to => for logo key in auth-options array


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/89547b30
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/89547b30
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/89547b30

Branch: refs/heads/master
Commit: 89547b3081d895e46c9f5dd2be78bbb379e88d08
Parents: fa310a1
Author: Marcus Christie <ma...@iu.edu>
Authored: Fri Sep 29 16:01:53 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Fri Sep 29 16:01:53 2017 -0400

----------------------------------------------------------------------
 app/config/pga_config.php.template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/89547b30/app/config/pga_config.php.template
----------------------------------------------------------------------
diff --git a/app/config/pga_config.php.template b/app/config/pga_config.php.template
index 654a1ed..48ddc1d 100644
--- a/app/config/pga_config.php.template
+++ b/app/config/pga_config.php.template
@@ -74,7 +74,7 @@ return array(
                 // http://www.keycloak.org/docs/2.5/server_admin/topics/identity-broker/suggested.html
                 'oauth-authorize-url-extra-params' => 'kc_idp_hint=oidc',
                 // Optional
-                'logo': '/assets/path_to_image.png'
+                'logo' => '/assets/path_to_image.png'
             ],
         ],
 


[3/7] airavata-php-gateway git commit: Fixed the client side validation issue for experiment edit mode issue #2520 Included a jquery script for edit page as it seems to be missing it Added changes to load previously set values through jquery

Posted by ma...@apache.org.
Fixed the client side validation issue for experiment edit mode
issue #2520
Included a jquery script for edit page as it seems to be missing it
Added changes to load previously set values through jquery


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/33b1b88f
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/33b1b88f
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/33b1b88f

Branch: refs/heads/master
Commit: 33b1b88ff16e998bc8d36a2683619732e30bcb6f
Parents: 89547b3
Author: stephenpaul2727 <st...@gmail.com>
Authored: Tue Sep 26 21:27:06 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Fri Sep 29 16:03:38 2017 -0400

----------------------------------------------------------------------
 app/views/experiment/edit.blade.php             |  3 +-
 .../partials/experiment-queue-block.blade.php   | 70 ++++++++++++++++++--
 2 files changed, 65 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/33b1b88f/app/views/experiment/edit.blade.php
----------------------------------------------------------------------
diff --git a/app/views/experiment/edit.blade.php b/app/views/experiment/edit.blade.php
index 9e6b156..aeeb620 100755
--- a/app/views/experiment/edit.blade.php
+++ b/app/views/experiment/edit.blade.php
@@ -13,7 +13,8 @@
 
 //$appResources = array('Echo' => $echoResources, 'WRF' => $wrfResources);
 ?>
-
+<!-- Included the jquery script here! -->
+<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
 
 <div class="container">
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/33b1b88f/app/views/partials/experiment-queue-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-queue-block.blade.php b/app/views/partials/experiment-queue-block.blade.php
index b78d391..8935ff1 100644
--- a/app/views/partials/experiment-queue-block.blade.php
+++ b/app/views/partials/experiment-queue-block.blade.php
@@ -10,6 +10,35 @@
 <input type="hidden" id="queue-array" value="{{ htmlentities( json_encode( $queues ) ) }}"/>
 <input type="hidden" id="app-deployment-defaults-array" value="{{ htmlentities( json_encode( $appDeploymentDefaults ) ) }}"/>
 <input type="hidden" id="queue-defaults-array" value="{{ htmlentities( json_encode( $queueDefaults ) ) }}"/>
+
+<!-- Setting the node count we got from previous page to a hidden field for jquery -->
+@if(isset($expVal['scheduling']->nodeCount))
+<input type="hidden" id="passed-nodeCount" value="{{ $expVal['scheduling']->nodeCount }}"/>
+@else
+<input type="hidden" id="passed-nodeCount" value="0"/>
+@endif
+
+<!-- Setting the cpu count we got from previous page to a hidden field for jquery -->
+@if(isset($expVal['scheduling']->totalCPUCount))
+<input type="hidden" id="passed-cpuCount" value="{{ $expVal['scheduling']->totalCPUCount }}"/>
+@else
+<input type="hidden" id="passed-cpuCount" value="0"/>
+@endif
+
+<!-- Setting the wall time limit we got from previous page to a hidden field for jquery -->
+@if(isset($expVal['scheduling']->wallTimeLimit))
+<input type="hidden" id="passed-wallTime" value="{{ $expVal['scheduling']->wallTimeLimit }}"/>
+@else
+<input type="hidden" id="passed-wallTime" value="0"/>
+@endif
+
+<!-- Setting the physical memory we got from previous page to a hidden field for jquery -->
+@if(isset($expVal['scheduling']->totalPhysicalMemory))
+<input type="hidden" id="passed-physicalmem" value="{{ $expVal['scheduling']->totalPhysicalMemory }}"/>
+@else
+<input type="hidden" id="passed-physicalmem" value="0"/>
+@endif
+
 <div class="form-group required">
     @if( count( $queues) > 0 )
     <label class="control-label" for="node-count">Select a Queue</label>
@@ -148,14 +177,16 @@
             readBlob(startByte, endByte, fileId);
         });
     });
+    
+    //I commented this as I see this as repeated code!
 
     //To work work with experiment create (Ajax)
-    var selectedQueue = $("#select-queue").val();
-    getQueueData(selectedQueue);
-    $("#select-queue").change(function () {
-        var selectedQueue = $(this).val();
-        getQueueData(selectedQueue);
-    });
+    // var selectedQueue = $("#select-queue").val();
+    // getQueueData(selectedQueue);
+    // $("#select-queue").change(function () {
+    //     var selectedQueue = $(this).val();
+    //     getQueueData(selectedQueue);
+    // });
 
     $("#enable-auto-scheduling").change(function () {
         var selectedQueue = $("#select-queue").val();
@@ -166,8 +197,13 @@
         var queues = $.parseJSON($("#queue-array").val());
         var queueDefaults = $.parseJSON($("#queue-defaults-array").val());
         var appDefaults = $.parseJSON($("#app-deployment-defaults-array").val());
-
+        //getting the html values we set to hidden fields above!
+        var nodeCount = parseInt($("#passed-nodeCount").val());
+        var cpuCount = parseInt($('#passed-cpuCount').val());
+        var wallTime = parseInt($('#passed-wallTime').val());
+        var physicalMemory = parseInt($('#passed-physicalmem').val());
         var veryLargeValue = 9999999;
+
         console.log(queues);
         $(".queue-view").addClass("hide");
         for (var i = 0; i < queues.length; i++) {
@@ -192,6 +228,10 @@
                 }else{
                     $("#node-count").val(queueDefaults['nodeCount']);
                 }
+                // load previously set values on page load.
+                if(nodeCount!=0){
+                    $("#node-count").val(nodeCount);
+                }
 
                 //core-count
                 if (queues[i]['maxProcessors'] != 0 && queues[i]['maxProcessors'] != null) {
@@ -214,6 +254,11 @@
                     $("#cpu-count").val(queueDefaults['cpuCount']);
                 }
 
+                // load previously set values on page load.
+                if(cpuCount!=0){
+                    $("#cpu-count").val(cpuCount);
+                }
+
 
                 //walltime-count
                 if (queues[i]['maxRunTime'] != null && queues[i]['maxRunTime'] != 0) {
@@ -234,6 +279,11 @@
                     $("#wall-time").val(queueDefaults['wallTimeLimit']);
                 }
 
+                // load previously set values on page load.
+                if(wallTime!=0){
+                    $("#wall-time").val(wallTime);
+                }
+
                 //memory-count
                 if (queues[i]['maxMemory'] != 0 && queues[i]['maxMemory'] != null) {
                     if($('#enable-auto-scheduling').prop('checked')){
@@ -253,6 +303,12 @@
                     var cpusPerNode = queueDefaults['cpusPerNode'];
                 }
 
+                // load previously set values on page load.
+                if(physicalMemory!=0){
+                    $("#memory-count").val(physicalMemory);
+                }
+
+
                 var nodeCount=$("#node-count");
                 var cpuCount=$("#cpu-count");
 


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

Posted by ma...@apache.org.
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 <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))


[6/7] airavata-php-gateway git commit: Merge branch 'AIRAVATA-2520-bugfix' into gateway-level-max-queue-values

Posted by ma...@apache.org.
Merge branch 'AIRAVATA-2520-bugfix' into gateway-level-max-queue-values


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/e03d5e77
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/e03d5e77
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/e03d5e77

Branch: refs/heads/master
Commit: e03d5e7789f3a13a55dd7c5846fa8c97d60c5ca7
Parents: d3900b9 07d3255
Author: Marcus Christie <ma...@iu.edu>
Authored: Mon Oct 2 10:11:03 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Mon Oct 2 10:11:03 2017 -0400

----------------------------------------------------------------------
 app/config/pga_config.php.template              |  2 +-
 app/views/experiment/edit.blade.php             |  1 -
 .../partials/experiment-queue-block.blade.php   | 69 +++++++++++++++++++-
 3 files changed, 67 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e03d5e77/app/config/pga_config.php.template
----------------------------------------------------------------------