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;