You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2013/02/04 19:45:41 UTC

svn commit: r1442298 - in /incubator/ambari/trunk: CHANGES.txt ambari-web/app/controllers/wizard/step9_controller.js

Author: yusaku
Date: Mon Feb  4 18:45:41 2013
New Revision: 1442298

URL: http://svn.apache.org/viewvc?rev=1442298&view=rev
Log:
AMBARI-1340. Enhance Install/Start/Test progress display. (yusaku)

Modified:
    incubator/ambari/trunk/CHANGES.txt
    incubator/ambari/trunk/ambari-web/app/controllers/wizard/step9_controller.js

Modified: incubator/ambari/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/CHANGES.txt?rev=1442298&r1=1442297&r2=1442298&view=diff
==============================================================================
--- incubator/ambari/trunk/CHANGES.txt (original)
+++ incubator/ambari/trunk/CHANGES.txt Mon Feb  4 18:45:41 2013
@@ -38,6 +38,8 @@ Trunk (unreleased changes):
 
  IMPROVEMENTS
 
+ AMBARI-1340. Enhance Install/Start/Test progress display. (yusaku) 
+
  AMBARI-1339. Validate usernames in Misc section of Customize Services step
  in Install Wizard. (yusaku)
 

Modified: incubator/ambari/trunk/ambari-web/app/controllers/wizard/step9_controller.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/wizard/step9_controller.js?rev=1442298&r1=1442297&r2=1442298&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/wizard/step9_controller.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/wizard/step9_controller.js Mon Feb  4 18:45:41 2013
@@ -356,6 +356,12 @@ App.WizardStep9Controller = Em.Controlle
     }
   },
 
+  /**
+   * calculate progress of tasks per host
+   * @param actions
+   * @param contentHost
+   * @return {Number}
+   */
   progressPerHost: function (actions, contentHost) {
     var progress = 0;
     var actionsPerHost = actions.length;
@@ -364,15 +370,20 @@ App.WizardStep9Controller = Em.Controlle
       + actions.filterProperty('Tasks.status', 'FAILED').length
       + actions.filterProperty('Tasks.status', 'ABORTED').length
       + actions.filterProperty('Tasks.status', 'TIMEDOUT').length;
-
-    // for the install phase (PENDING), % completed per host goes up to 33%; floor(100 / 3)
-    // for the start phase (INSTALLED), % completed starts from 34%
+    var queuedActions = actions.filterProperty('Tasks.status', 'QUEUED').length;
+    var inProgressActions = actions.filterProperty('Tasks.status', 'IN_PROGRESS').length;
+    /** for the install phase (PENDING), % completed per host goes up to 33%; floor(100 / 3)
+     * for the start phase (INSTALLED), % completed starts from 34%
+     * when task in queued state means it's completed on 9%
+     * in progress - 35%
+     * completed - 100%
+     */
     switch (this.get('content.cluster.status')) {
       case 'PENDING':
-        progress = Math.floor(((completedActions / actionsPerHost) * 100) / 3);
+        progress = Math.ceil(((queuedActions * 0.09) + (inProgressActions * 0.35) + completedActions ) / actionsPerHost * 33);
         break;
       case 'INSTALLED':
-        progress = 34 + Math.floor(((completedActions / actionsPerHost) * 100 * 2) / 3);
+        progress = 34 + Math.ceil(((queuedActions * 0.09) + (inProgressActions * 0.35) + completedActions ) / actionsPerHost * 66);
         break;
       default:
         progress = 100;