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

svn commit: r1442010 [25/29] - in /incubator/ambari/branches/branch-1.2: ./ ambari-agent/ ambari-agent/conf/unix/ ambari-agent/src/examples/ ambari-agent/src/main/puppet/modules/hdp-ganglia/files/ ambari-agent/src/main/puppet/modules/hdp-ganglia/manife...

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/item/bar.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/item/bar.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/item/bar.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/item/bar.hbs Mon Feb  4 02:23:55 2013
@@ -18,12 +18,12 @@
 
 <div class="btn-group">
   <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
-    Job {{view.activeJob.id}} - {{view.activeJob.run.id}}
+    {{t apps.dagCharts.popup.job}} {{view.activeJob.id}} - {{view.activeJob.run.id}}
     <span class="caret"></span>
   </button>
   <ul class="dropdown-menu">
     {{#each job in view.content}}
-    <li><a {{action "selectJob" job target="view"}} href="javascript:void(null)">Job {{job.id}} - {{job.run.id}}</a></li>
+    <li><a {{action "selectJob" job target="view"}} href="javascript:void(null)">{{t apps.dagCharts.popup.job}} {{job.id}} - {{job.run.id}}</a></li>
     {{/each}}
   </ul>
 </div>
@@ -31,8 +31,9 @@
 <div id="graph1" class="pull-left">
   <div class="pull-left">
     <div id="graph1_desc" class="graph_desc">
-      <h4>Job Timeline</h4>
+      <h4>{{t apps.dagCharts.popup.tasks.timeline}}</h4>
     </div>
+    <div id="y-axis"></div>
     <div id="chart"></div>
     <div id="timeline1"></div>
   </div>
@@ -43,8 +44,9 @@
 <div id="graph2" class="pull-right">
   <div class="pull-left">
     <div id="graph2_desc" class="graph_desc">
-      <h4>Job Tasks' View</h4>
+      <h4>{{t apps.dagCharts.popup.tasks.tasks}}</h4>
     </div>
+    <div id="y-axis2"></div>
     <div id="job_tasks"></div>
     <div id="timeline2"></div>
   </div>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/item/dag.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/item/dag.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/item/dag.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/item/dag.hbs Mon Feb  4 02:23:55 2013
@@ -31,9 +31,9 @@
       </tr>
       </thead>
       <tbody>
-      {{#each job in view.content}}
+      {{#each job in controller.content.jobs}}
       <tr>
-        <td>{{job.workflowEntityName}}</td>
+        <td>{{job.workflow_entity_name}}</td>
         <td>{{job.id}}</td>
         <td>{{job.status}}</td>
         <td>{{job.maps}}</td>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/list_row.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/list_row.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/list_row.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/list_row.hbs Mon Feb  4 02:23:55 2013
@@ -15,8 +15,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 }}
-<td><a href="#" {{action "starClick" target="controller"}}><span class="icon-star"></span></a></td>
-<td>{{unbound run.id}}</td>
+
 <td class="appId" title="{{unbound run.id}}">{{unbound run.idFormatted}}</td>
 <td>{{unbound run.appName}}</td>
 <td>{{unbound run.type}}</td>
@@ -25,4 +24,12 @@
 <td>{{unbound run.inputFormatted}}</td>
 <td>{{unbound run.outputFormatted}}</td>
 <td>{{unbound run.duration}}</td>
-<td ><span title="{{unbound run.lastUpdateTimeFormatted}}">{{unbound run.lastUpdateTimeFormattedShort}}</span>&nbsp;{{#if run.isRunning}}<b class='red'>*</b>{{/if}}</td>
\ No newline at end of file
+{{#if run.isRunning}}
+<td rel="popover" {{translateAttr title="apps.isRunning.popup.title" data-content="apps.isRunning.popup.content"}}>
+    <span title="{{unbound run.lastUpdateTimeFormatted}}">{{unbound run.lastUpdateTimeFormattedShort}}</span>
+    <b class='red'>*</b></td>
+{{else}}
+<td>
+    <span title="{{unbound run.lastUpdateTimeFormatted}}">{{unbound run.lastUpdateTimeFormattedShort}}</span>
+</td>
+{{/if}}

Added: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/user_filter.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/user_filter.hbs?rev=1442010&view=auto
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/user_filter.hbs (added)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/apps/user_filter.hbs Mon Feb  4 02:23:55 2013
@@ -0,0 +1,31 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+<button class="btn btn-info single-btn-group" {{action "clickFilterButton" target="view"}}>
+  User&nbsp;<span class="caret"></span>
+</button>
+<ul class="dropdown-menu filter-components">
+  {{#each user in view.users}}
+    <li>
+      <label class="checkbox">{{view Ember.Checkbox checkedBinding="user.checked"}} {{user.name}}</label>
+    </li>
+  {{/each}}
+  <li>
+    <button class="btn" {{action "closeFilter" target="view"}}>Cancel</button>
+    <button class="btn btn-primary" {{action "applyFilter" target="view"}}>Apply</button>
+  </li>
+</ul>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/charts/heatmap.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/charts/heatmap.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/charts/heatmap.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/charts/heatmap.hbs Mon Feb  4 02:23:55 2013
@@ -20,7 +20,7 @@
 
   <div class="container-fluid">
 	  <div class="row-fluid">
-	    <div class="span2">
+	    <div class="span2 legend-column">
 		     <div class="btn-group">
 				  <button class="btn">Select Metric...</button>
 				  <button class="btn dropdown-toggle" data-toggle="dropdown">

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/charts/heatmap/heatmap_host_detail.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/charts/heatmap/heatmap_host_detail.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/charts/heatmap/heatmap_host_detail.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/charts/heatmap/heatmap_host_detail.hbs Mon Feb  4 02:23:55 2013
@@ -30,4 +30,7 @@ IP: {{view.details.ip}}<br/>
 {{/if}}
 {{#if view.details.memoryUsage}}
   Memory: {{view.details.memoryUsage}}%<br/>
+{{/if}}
+{{#if view.details.hostComponents}}
+  Components: {{view.details.hostComponents}}<br/>
 {{/if}}
\ No newline at end of file

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hbase.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hbase.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hbase.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hbase.hbs Mon Feb  4 02:23:55 2013
@@ -36,7 +36,7 @@
     {{view.summaryHeader}}
   </div>
 </div>
-<div id="hbase-info">
+<div class="service-body">
   <div class="span4">
     <table class="table no-borders">
       <tbody>
@@ -54,7 +54,7 @@
       <!-- Version -->
       <tr>
         <td>{{t dashboard.services.hbase.version}}</td>
-        <td>{{view.service.version}} {{view.service.revision}}</td>
+        <td>{{view.version}} {{view.service.revision}}</td>
       </tr>
       <!-- HBaseMaster Web UI -->
       <tr>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hdfs.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hdfs.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hdfs.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hdfs.hbs Mon Feb  4 02:23:55 2013
@@ -36,7 +36,7 @@
     {{view.summaryHeader}}
   </div>
 </div>
-<div id="hdfs-info">
+<div class="service-body">
   <div class="span4">
     <table class="table no-borders">
       <tbody>
@@ -62,7 +62,7 @@
       <!-- Version -->
       <tr>
         <td>{{t dashboard.services.hdfs.version}}</td>
-        <td>{{view.service.version}}</td>
+        <td>{{view.version}}</td>
       </tr>
       <!-- NameNode Web UI -->
       <tr>
@@ -97,21 +97,21 @@
       <!-- Blocks Total -->
       <tr>
         <td>{{t services.service.summary.blocksTotal}}</td>
-        <td>{{view.service.dfsTotalBlocks}}</td>
+        <td>{{view.dfsTotalBlocks}}</td>
       </tr>
       <!-- Block Errors -->
       <tr>
         <td>{{t services.service.summary.blockErrors}}</td>
         <td>
-          {{view.service.dfsCorruptBlocks}} corrupt /
-          {{view.service.dfsMissingBlocks}} missing /
-          {{view.service.dfsUnderReplicatedBlocks}} under replicated
+          {{view.dfsCorruptBlocks}} corrupt /
+          {{view.dfsMissingBlocks}} missing /
+          {{view.dfsUnderReplicatedBlocks}} under replicated
         </td>
       </tr>
       <!-- Total Files And Directories -->
       <tr>
         <td>{{t dashboard.services.hdfs.totalFilesAndDirs}}</td>
-        <td>{{view.service.dfsTotalFiles}}</td>
+        <td>{{view.dfsTotalFiles}}</td>
       </tr>
       <!-- Upgrade Status -->
       <tr>
@@ -141,7 +141,9 @@
     </table>
   </div>
 <div class="dashboard-mini-chart span2">
-  {{view view.Chart serviceBinding="view.service"}}
+  <div {{bindAttr title="view.capacity"}}>
+    {{view view.Chart serviceBinding="view.service"}}
+  </div>
   <div class="chartLabel">{{t dashboard.services.hdfs.chart.label}}</div>
   {{#if view.service.quickLinks.length}}
     {{#view App.QuickViewLinks contentBinding="view.service"}}

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hive.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hive.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hive.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/hive.hbs Mon Feb  4 02:23:55 2013
@@ -28,12 +28,10 @@
     {{/if}}
   </div>
   <div class="summary span">
-    {{#each component in view.service.components}}
-    {{#if component.type}}
-    <a href="#" {{action selectHost component.host}}>{{component.displayName}}</a>,
-    {{else}}
-    <a href="#" {{action filterHosts component}}>{{component.displayName}}</a>
-    {{/if}}
+    {{#each component in view.titleMasters}}
+      <a href="#" {{action showDetails component.host}}>{{component.displayName}}</a>,
     {{/each}}
+
+    <a href="#" {{action filterHosts view.clients.component}}>{{view.clients.title}}</a>
   </div>
-</div>
+</div>
\ No newline at end of file

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/mapreduce.hbs Mon Feb  4 02:23:55 2013
@@ -36,7 +36,7 @@
     {{view.summaryHeader}}
   </div>
 </div>
-<div id="mapreduce-info">
+<div class="service-body">
   <div class="span4">
     <table class="table no-borders">
       <tbody>
@@ -54,7 +54,7 @@
       <!-- Version -->
       <tr>
         <td>{{t dashboard.services.hdfs.version}}</td>
-        <td>{{view.service.version}}</td>
+        <td>{{view.version}}</td>
       </tr>
       <!-- JobTracker Web UI -->
       <tr>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/oozie.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/oozie.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/oozie.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/oozie.hbs Mon Feb  4 02:23:55 2013
@@ -28,12 +28,13 @@
     {{/if}}
   </div>
   <div class="summary span">
-    {{#each component in view.service.components}}
-    {{#if component.type}}
-    <a href="#" {{action selectHost component.host}}>{{component.displayName}}</a>,
-    {{else}}
-    <a href="#" {{action filterHosts component}}>{{component.displayName}}</a>
-    {{/if}}
+    {{#each component in view.masters}}
+      <a href="#" {{action showDetails component.host}}>{{component.displayName}}</a>,
     {{/each}}
+
+    <a href="#" {{action filterHosts view.clients.component}}>{{view.clients.title}}</a>,
+
+    <a href="{{unbound view.webUi}}" target="_blank">{{t dashboard.services.oozie.webUi}}</a>
+
   </div>
-</div>
+</div>
\ No newline at end of file

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/zookeeper.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/zookeeper.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/zookeeper.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/dashboard/service/zookeeper.hbs Mon Feb  4 02:23:55 2013
@@ -28,12 +28,8 @@
     {{/if}}
   </div>
   <div class="summary span">
-    {{#each component in view.service.components}}
-    {{#if component.type}}
-    <a href="#" {{action selectHost component.host}}>{{component.displayName}}</a>,
-    {{else}}
-    <a href="#" {{action filterHosts component}}>{{component.displayName}}</a>
-    {{/if}}
-    {{/each}}
+    {{view.titleInfo.pre}}
+    <a href="#" {{action filterHosts view.titleInfo.component}}>{{view.titleInfo.title}}</a>
+    {{t dashboard.services.zookeeper.postfix}}
   </div>
-</div>
+</div>
\ No newline at end of file

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host.hbs Mon Feb  4 02:23:55 2013
@@ -17,7 +17,7 @@
 }}
 
 <div id="hosts">
-  {{#if controller.isAdmin}}
+  {{#if App.isAdmin}}
   <div class="box-header">
     <div class="button-section">
       <button class="btn btn-inverse add-host-button" {{action addHost}}>
@@ -41,16 +41,15 @@
       <th></th>
       <th></th>
     </tr>
+    <tr>
       <th class="first">&nbsp;</th>
-      <th class="notActive"><div class="view-wrapper">{{view view.nameFilterView viewName="nameFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_nameFilterViewInstance" class="ui-icon ui-icon-circle-close ui-name"></a></th>
-      <th class="notActive"><div class="view-wrapper">{{view view.rackFilterView viewName="ipFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_ipFilterViewInstance" class="ui-icon ui-icon-circle-close ui-rack"></a></th>
-      <th class="notActive"><div class="view-wrapper">{{view view.cpuFilterView viewName="cpuFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_cpuFilterViewInstance" class="ui-icon ui-icon-circle-close ui-cpu"></a></th>
-      <th class="notActive"><div class="view-wrapper">{{view view.ramFilterView viewName="ramFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_ramFilterViewInstance" class="ui-icon ui-icon-circle-close ui-ram"></a></th>
+      <th>{{view view.nameFilterView}}</th>
+      <th>{{view view.ipFilterView}}</th>
+      <th>{{view view.cpuFilterView}}</th>
+      <th>{{view view.ramFilterView}}</th>
       <th></th>
-      <th class="notActive"><div class="view-wrapper">{{view view.loadAvgFilterView viewName="loadAvgFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_loadAvgFilterViewInstance" class="ui-icon ui-icon-circle-close ui-load_avg"></a></th>
-      <th class="notActive"><input id="components_filter" type="hidden" />
-          <div class="view-wrapper">{{view view.componentsFilterView viewName="componentsFilterViewInstance"}}</div> <a href="#" {{action "clearFilterButtonClick" target="view"}} id="view_componentsFilterViewInstance" class="ui-icon ui-icon-circle-close ui-components"></a>
-      </th>
+      <th>{{view view.loadAvgFilterView}}</th>
+      <th>{{view view.componentsFilterView}}</th>
       <th></th>
       <th></th>
     </tr>
@@ -60,7 +59,7 @@
     {{#view view.HostView contentBinding="host"}}
     <tr>
       <td class="first">
-        <span {{bindAttr class="host.healthClass"}}></span>
+        <span {{bindAttr class="host.healthClass"}} {{bindAttr title="view.healthToolTip" }}></span>
       </td>
       <td class="name">
         <a title="{{unbound host.publicHostName}}" href="#" {{action "showDetails" host}}>{{unbound host.publicHostNameFormatted}}</a>

Added: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/component_filter.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/component_filter.hbs?rev=1442010&view=auto
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/component_filter.hbs (added)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/component_filter.hbs Mon Feb  4 02:23:55 2013
@@ -0,0 +1,73 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+    <button class="btn btn-info single-btn-group" {{action "clickFilterButton" target="view"}}>
+        Components <span class="caret"></span>
+    </button>
+    <ul class="dropdown-menu filter-components">
+        <li>
+            <ul>
+                <li>
+                    <label class="checkbox">
+                        {{view Ember.Checkbox checkedBinding="view.masterComponentsChecked"}} Master Components:
+                    </label>
+                    <ul>
+                        {{#each component in masterComponents}}
+                            <li>
+                                <label class="checkbox">
+                                    {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
+                                </label>
+                            </li>
+                        {{/each}}
+                    </ul>
+                </li>
+                <li>
+                    <label class="checkbox">
+                        {{view Ember.Checkbox checkedBinding="view.slaveComponentsChecked"}} Slave Components:
+                    </label>
+                    <ul>
+                        {{#each component in slaveComponents}}
+                            <li>
+                                <label class="checkbox">
+                                    {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
+                                </label>
+                            </li>
+                        {{/each}}
+                    </ul>
+                </li>
+                <li>
+                    <label class="checkbox">
+                        {{view Ember.Checkbox checkedBinding="view.clientComponentsChecked"}} Client Components:
+                    </label>
+                    <ul>
+                        {{#each component in clientComponents}}
+                            <li>
+                                <label class="checkbox">
+                                    {{view Ember.Checkbox checkedBinding="component.checkedForHostFilter" }} {{unbound component.displayName}}
+                                </label>
+                            </li>
+                        {{/each}}
+                    </ul>
+                </li>
+            </ul>
+        </li>
+        <li>
+            <button class="btn" {{action "closeFilter" target="view"}}>Cancel</button>
+            <button class="btn btn-primary" {{action "applyFilter" target="view"}}>Apply</button>
+        </li>
+    </ul>
\ No newline at end of file

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/details.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/details.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/details.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/details.hbs Mon Feb  4 02:23:55 2013
@@ -17,9 +17,9 @@
 }}
 
 <div id="host-details">
-  <span {{bindAttr class="view.content.healthClass"}}></span><span class='host-title'>{{unbound view.content.publicHostName}}</span>
+  <span {{bindAttr class="view.content.healthClass"}} {{bindAttr title="view.healthToolTip" }}></span><span class='host-title'>{{unbound view.content.publicHostName}}</span>
   <div><a href="javascript:void(null)" data-toggle="modal" {{action backToHostsList}}><i class="icon-arrow-left"></i>&nbsp;Back to Hosts</a></div>
-<!--   {{#if controller.isAdmin}} -->
+<!--   {{#if App.isAdmin}} -->
 <!--   <div class="host-maintenance"> -->
 <!--     <div class="host-maintenance-btn btn-group display-inline-block"> -->
 <!--       <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> -->

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/summary.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/summary.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/summary.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/host/summary.hbs Mon Feb  4 02:23:55 2013
@@ -48,13 +48,13 @@
           {{#each component in view.sortedComponents}}
           <div class="row-fluid">
           {{#view view.ComponentView contentBinding="component" decommissionDataNodeHostNamesBinding="view.decommissionDataNodeHostNames"}}
-            <div class="span8">
+            <div class="span7">
               <span {{bindAttr class="view.statusClass :components-health"}}></span>&nbsp;
               {{component.displayName}}&nbsp;/&nbsp;
               <a href="#" {{action routeToService component.service target="controller"  }}>{{component.service.displayName}}</a>
             </div>
-            <div class="span4">
-              {{#if controller.isAdmin}}
+            <div class="span5">
+              {{#if App.isAdmin}}
               <div class="btn-group">
                 <a {{ bindAttr class=":btn :dropdown-toggle view.disabledClass"}} data-toggle="dropdown">
                   Action

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service.hbs Mon Feb  4 02:23:55 2013
@@ -19,7 +19,7 @@
 <div class="row-fluid">
   <div id="services-menu" class="well span2" style="padding: 8px 0">
     {{view App.MainServiceMenuView}}
-    {{#if controller.isAdmin}}
+    {{#if App.isAdmin}}
     {{#if App.addServicesEnabled}}
     <div class="add-service-button">
       <a class="btn" {{action addService href="true"}}>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/configs.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/configs.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/configs.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/configs.hbs Mon Feb  4 02:23:55 2013
@@ -54,7 +54,7 @@
           </div>
       {{/each}}
     </div>
-    {{#if App.router.loginController.isAdmin}}
+    {{#if App.isAdmin}}
     <p class="pull-right">
         <!--<input class="btn btn-primary" type="button" value="Save" {{!bindAttr disabled="isSubmitDisabled"}} />-->
         <a class="btn btn-primary" {{bindAttr disabled="isSubmitDisabled"}}

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary.hbs Mon Feb  4 02:23:55 2013
@@ -47,7 +47,7 @@
       {{#unless view.serviceStatus.mapreduce}}
       {{#unless view.serviceStatus.hbase}}
       {{#unless view.serviceStatus.ganglia}}
-      {{#each component in controller.content.components}}
+      {{#each component in controller.content.hostComponents}}
         <tr>
           {{#if component.isMaster}}
             <td class="summary-label">{{component.displayName}}</td>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary/ganglia.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary/ganglia.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary/ganglia.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary/ganglia.hbs Mon Feb  4 02:23:55 2013
@@ -15,7 +15,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 }}
-{{#each component in controller.content.components}}
+{{#each component in controller.content.hostComponents}}
   {{#if component.isMaster}}
     <tr>
         <td class="summary-label">{{component.displayName}}</td>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary/oozie.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary/oozie.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary/oozie.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/info/summary/oozie.hbs Mon Feb  4 02:23:55 2013
@@ -16,7 +16,7 @@
 * limitations under the License.
 }}
 
-{{#each component in controller.content.components}}
+{{#each component in controller.content.hostComponents}}
   {{#if component.isMaster}}
     <tr>
         <td class="summary-label">Server</td>
@@ -27,10 +27,7 @@
 <tr>
   <td class="summary-label">Clients</td>
   <td>
-    {{#each view.clients}}
-      <a {{action filterHosts view.clientObj}} href="javascript:void(null)">{{displayName}}</a>{{#if isComma}}, {{/if}}
-      {{#if isAnd}} and {{/if}}
-    {{/each}}
+    <a {{action filterHosts view.clientObj}} href="javascript:void(null)">{{view.clients.length}} Oozie Client{{#if view.hasManyClients}}s{{/if}}</a>
   </td>
 </tr>
 <tr>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/item.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/item.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/item.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/main/service/item.hbs Mon Feb  4 02:23:55 2013
@@ -17,7 +17,7 @@
 }}
 
 {{view App.MainServiceInfoMenuView configTabBinding="view.hasConfigTab"}}
-{{#if controller.isAdmin}}
+{{#if App.isAdmin}}
 <div class="service-button">
   {{#if view.hasMaintenanceControl}}
   <div class="btn-group display-inline-block">
@@ -28,7 +28,7 @@
     <ul class="dropdown-menu">
       <!-- dropdown menu links -->
       {{#each option in view.maintenance}}
-      <li>
+      <li {{bindAttr class="controller.content.isStopDisabled:disabled"}}>
         <a {{action "doAction" option.action target="controller" href=true}}>{{option.label}}</a>
       </li>
       {{/each}}

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step2.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step2.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step2.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step2.hbs Mon Feb  4 02:23:55 2013
@@ -24,7 +24,7 @@
   <div id="targetHosts">
     <h5>{{t installer.step2.targetHosts}}</h5>
 
-    <div {{bindAttr class="hostsError:error :control-group"}}>
+    <div {{bindAttr class="hostsError:error :control-group :target-hosts-input"}}>
       <p>{{t installer.step2.targetHosts.info}}. Or use
         <a href="javascript:void(null)"
            rel="popover"
@@ -33,19 +33,6 @@
         </a>
       </p>
 
-      {{#if view.parentView.controller.hideBackButton}}
-        {{#if view.hostsInfo.oldHostNames }}
-          <p class="alert alert-info">
-            {{t hosts.add.step2.warning}}
-            <br/>
-            {{{view.hostsInfo.oldHostNames}}}
-              {{#if view.hostsInfo.showMoreHostsText}}
-                <a href="" {{action "showMoreHosts" target="view"}}>{{view.hostsInfo.showMoreHostsText}}</a>
-              {{/if}}
-          </p>
-        {{/if}}
-      {{/if}}
-
       <div class="controls">
         {{view Ember.TextArea class="span6" valueBinding="content.installOptions.hostNames" rows="5" placeholder="host names"}}
         {{#if hostsError}}
@@ -59,30 +46,38 @@
     <div class="ambari-agents">
       <h5>{{t installer.step2.sshKey}}</h5>
 
-      <label class="checkbox">
-        {{view Ember.Checkbox checkedBinding="content.installOptions.useSsh"}}
+      <label class="radio">
+        {{view view.providingSSHKeyRadioButton}}
         {{t installer.step2.useSsh.provide}}
           <a href="javascript:void(null)"
              rel="popover"
             {{translateAttr title="installer.step2.useSsh.tooltip.title" data-content="installer.step2.useSsh.tooltip.content"}}>
-              {{t installer.step2.useSsh.tooltip.title}}</a>
-          {{t installer.step2.useSsh.provide_id_rsa}}
+            {{t installer.step2.useSsh.tooltip.title}}</a>
+        {{t installer.step2.useSsh.provide_id_rsa}}
       </label>
-
-      <div {{bindAttr class="sshKeyError:error :control-group"}}>
+      <div {{bindAttr class="sshKeyError:error :control-group :ssh-key-input"}}>
         {{#if view.isFileApi}}
-          {{view App.SshKeyFileUploader}}
-          <pre {{bindAttr class="view.sshKeyPreviewClass"}}>{{content.installOptions.sshKey}}</pre>
+          {{view App.SshKeyFileUploader disabledBinding="view.sshKeyState"}}
         {{/if}}
-        <div class="controls">
-          {{view Ember.TextArea class="span6" rows="4" classBinding="view.sshKeyClass"  id="sshKey"
-          placeholder="ssh private key" disabledBinding="view.sshKeyState" valueBinding="content.installOptions.sshKey"}}
-          {{#if sshKeyError}}
-          <span class="help-inline">{{sshKeyError}}</span>
-          {{/if}}
-        </div>
+          <div class="controls">
+            {{view Ember.TextArea class="span6" rows="3" id="sshKey"
+            placeholder="ssh private key" disabledBinding="view.sshKeyState" valueBinding="content.installOptions.sshKey"}}
+            {{#if sshKeyError}}
+                <span class="help-inline">{{sshKeyError}}</span>
+            {{/if}}
+          </div>
       </div>
 
+      <label class="radio">
+        {{view view.manualRegistrationRadioButton}}
+        {{t installer.step2.manualInstall.perform}}
+          <a href="javascript:void(null)"
+             rel="popover"
+            {{translateAttr title="installer.step2.manualInstall.tooltip.title" data-content="installer.step2.manualInstall.tooltip.content"}}>
+            {{t installer.step2.manualInstall.tooltip.title}}</a>
+        {{t installer.step2.manualInstall.perform_on_hosts}}
+      </label>
+
     </div>
   </div>
 
@@ -109,7 +104,6 @@
            rel="popover"
           {{translateAttr title="installer.step2.javaHome.tooltip.title" data-content="installer.step2.javaHome.tooltip.content"}}>
             {{t installer.step2.javaHome.tooltip.title}}</a>
-        {{t installer.step2.javaHome.label2}}
       </div>
       {{view App.WizardTextField valueBinding="content.installOptions.javaHome" placeholder="/usr/jdk/jdk1.6.0_31"}}
     </label>

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step3.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step3.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step3.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step3.hbs Mon Feb  4 02:23:55 2013
@@ -81,7 +81,7 @@
         </thead>
 
         <tbody>
-
+        {{#if visibleHosts.length}}
         {{#each host in visibleHosts}}
         {{#view App.WizardHostView categoryBinding="controller.category" hostInfoBinding="host"}}
         <td>
@@ -108,6 +108,11 @@
         </td>
         {{/view}}
         {{/each}}
+        {{else}}
+        <tr>
+            <td colspan="5"><p>{{t installer.step3.hosts.noHosts}}</p></td>
+        </tr>
+        {{/if}}
 
         </tbody>
 
@@ -119,8 +124,21 @@
       </div>
     </div>
   </div>
+    {{#if isWarningsBoxVisible}}
+      {{#if isHostHaveWarnings}}
+      <div class="alert alert-warn">
+        {{t installer.step3.warnings.description}}<br>
+        <a href="javascript:void(0)" {{action hostWarningsPopup warnings target="controller"}}>{{t installer.step3.warnings.linkText}}</a>
+      </div>
+      {{else}}
+      <div class="alert alert-success">
+        {{t installer.step3.warnings.noWarnings}}
+        <a href="javascript:void(0)" {{action hostWarningsPopup warnings target="controller"}}>{{t installer.step3.noWarnings.linkText}}</a>
+      </div>
+      {{/if}}
+    {{/if}}
   <div class="btn-area">
-    <a class="btn pull-left" {{action back}}>&larr; Back</a>
+    <a class="btn pull-left" {{bindAttr disabled="isInstallInProgress"}} {{action back}}>&larr; Back</a>
     <a class="btn btn-success pull-right" {{bindAttr disabled="isSubmitDisabled"}} {{action submit target="controller"}}>Next &rarr;</a>
   </div>
 </div>
\ No newline at end of file

Added: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step3_host_warnings_popup.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step3_host_warnings_popup.hbs?rev=1442010&view=auto
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step3_host_warnings_popup.hbs (added)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step3_host_warnings_popup.hbs Mon Feb  4 02:23:55 2013
@@ -0,0 +1,112 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+
+<div id="host-warnings">
+    <div class="row-fluid">
+            <div class="span6">
+              {{view Ember.Select
+              contentBinding="view.categories"
+              selectionBinding="view.category"
+              }}
+            </div>
+        <div class="span3 offset3">
+            <a href="javascript.void(0)" title="Show Details" {{action openWarningsInDialog target="view"}} class="task-detail-open-dialog"><i class="icon-external-link"></i> Show Details</a>
+        </div>
+    </div>
+    <div class="content-area">
+          <div class="warnings-list">
+              <table class="table">
+                  <thead>
+                  <tr>
+                      <th class="category-title" colspan="2">DIRECTORIES & FILES</th>
+                  </tr>
+                  </thead>
+                  <tbody>
+                  {{#each path in view.content.directoriesFiles}}
+                  <tr>
+                      <td>{{path.name}}</td>
+                      <td>
+                        <span>
+                        {{#if path.isWarn}}
+                          <i class="icon-warning-sign"></i>
+                        {{else}}
+                          <i class="icon-ok"></i>
+                        {{/if}}
+                        {{path.message}}
+                        </span>
+                      </td>
+                  </tr>
+                  {{/each}}
+                  </tbody>
+              </table>
+              <table class="table">
+                  <thead>
+                  <tr>
+                      <th class="category-title" colspan="2">PACKAGES</th>
+                  </tr>
+                  </thead>
+                  <tbody>
+                    {{#each package in view.content.packages}}
+                    <tr>
+                        <td>{{package.name}}</td>
+                        <td>
+                          <span>
+                          {{#if package.isWarn}}
+                            <i class="icon-warning-sign"></i>
+                          {{else}}
+                            <i class="icon-ok"></i>
+                          {{/if}}
+                          {{package.message}}
+                          </span>
+                        </td>
+                    </tr>
+                    {{/each}}
+                  </tbody>
+              </table>
+              <table class="table">
+                  <thead>
+                  <tr>
+                      <th class="category-title" colspan="2">PROCESSES</th>
+                  </tr>
+                  </thead>
+                  <tbody>
+                  {{#if view.content.processes.length}}
+                    {{#each process in view.content.processes}}
+                    <tr>
+                        <td {{bindAttr title="process.command"}}>{{process.shortCommand}}}</td>
+                        <td>
+                          <span>
+                          {{#if process.isWarn}}
+                            <i class="icon-warning-sign"></i>
+                          {{else}}
+                            <i class="icon-ok"></i>
+                          {{/if}}
+                          {{process.message}}
+                          </span>
+                        </td>
+                    </tr>
+                    {{/each}}
+                  {{else}}
+                  <tr><td colspan="2">No processes to display</td></tr>
+                  {{/if}}
+                  </tbody>
+              </table>
+          </div>
+    </div>
+</div>

Added: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step8_log_popup.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step8_log_popup.hbs?rev=1442010&view=auto
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step8_log_popup.hbs (added)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step8_log_popup.hbs Mon Feb  4 02:23:55 2013
@@ -0,0 +1,22 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+<p>Preparing to Deploy: <strong>{{view.ajaxQueueComplete}}</strong> of <strong>{{view.ajaxQueueLength}}</strong> tasks completed.</p>
+<div class="progress">
+    <div class="bar" {{bindAttr style="view.barWidth"}}>
+    </div>
+</div>
\ No newline at end of file

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step9HostTasksLogPopup.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step9HostTasksLogPopup.hbs?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step9HostTasksLogPopup.hbs (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/templates/wizard/step9HostTasksLogPopup.hbs Mon Feb  4 02:23:55 2013
@@ -29,19 +29,17 @@
     </div>
   </div>
   <div id="host-log">
-    {{#each role in view.roles}}
-    {{#each taskInfo in role.taskInfos}}
+    {{#each taskInfo in view.tasks}}
     <div {{bindAttr class="taskInfo.isVisible::hidden :log-list-wrap"}}>
       <div {{action toggleTaskLog taskInfo}} class="task-list-line-cursor">
         <i {{bindAttr class="taskInfo.status taskInfo.icon"}}></i>
         <a href="#" class="" >
-          {{{role.roleName}} {{taskInfo.command}}
+          {{{taskInfo.role}} {{taskInfo.command}}
         </a>
         <div class="show-details"><i class="icon-caret-right"></i></div>
       </div>
     </div>
     {{/each}}
-    {{/each}}
     {{#if view.isEmptyList}}
       <div class="log-list-wrap">No tasks to show</div>
     {{/if}}
@@ -53,12 +51,12 @@
     <a class="task-detail-back" href="javascript:void(null)" {{action backToTaskList}} ><i class="icon-arrow-left"></i>&nbsp;Tasks</a>
     <div>
       <!--<img src="data:image/png;base64,R0lGODlhFAAUAIAAAP///wAAACH5BAEAAAAALAAAAAAUABQAAAIRhI+py+0Po5y02ouz3rz7rxUAOw==" class="task-detail-status-ico" />-->
-      <i class="task-detail-status-ico"></i>
-      <span class="task-detail-log-rolename" ></span>
+      <i {{bindAttr class="view.openedTask.status :task-detail-status-ico view.openedTask.icon"}} class="task-detail-status-ico"></i>
+      <span class="task-detail-log-rolename" >{{{view.openedTask.role}} {{view.openedTask.command}}</span>
     </div>
     <div class="task-detail-ico-wrap">
-      <div {{action "textTrigger" taskInfo target="view"}} class="task-detail-copy"><i class="icon-copy"></i></div>
-      <div {{action openTaskLogInDialog}} class="task-detail-open-dialog"><i class="icon-external-link"></i></div>
+      <div title="Click to Copy" {{action "textTrigger" taskInfo target="view"}} class="task-detail-copy"><i class="icon-copy"></i> Copy</div>
+      <div title="Open in New Window" {{action openTaskLogInDialog}} class="task-detail-open-dialog"><i class="icon-external-link"></i> Open</div>
     </div>
   </div>
   <div class="task-detail-log-info">
@@ -66,9 +64,9 @@
       <div class="task-detail-log-clipboard-wrap" ></div>
       <div class="task-detail-log-maintext">
         <h5>stderr:</h5>
-        <pre class="stderr"></pre>
+        <pre class="stderr">{{view.openedTask.stderr}}</pre>
         <h5>stdout:</h5>
-        <pre class="stdout"></pre>
+        <pre class="stdout">{{view.openedTask.stdout}}</pre>
       </div>
     </div>
   </div>

Added: incubator/ambari/branches/branch-1.2/ambari-web/app/utils/component.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/utils/component.js?rev=1442010&view=auto
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/utils/component.js (added)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/utils/component.js Mon Feb  4 02:23:55 2013
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Here will be stored slave functions related to components
+ * @type {Object}
+ */
+module.exports = {
+
+  /**
+   * Return list of installed components. Syntax is:
+   *
+   * [{
+   *    id : 'DATANODE',
+   *    displayName : 'DataNode',
+   *    isMaster : true,
+   *    isSlave : false,
+   *    isClient : false
+   * }]
+   *
+   */
+  getInstalledComponents : function(){
+    var components = App.HostComponent.find();
+    var names = components.mapProperty('componentName').uniq();
+    var result = [];
+
+    names.forEach(function(componentName){
+      var component = components.findProperty('componentName', componentName);
+      result.push(Ember.Object.create({
+        id: componentName,
+        isMaster: component.get('isMaster'),
+        isSlave: component.get('isSlave'),
+        isClient: component.get('isClient'),
+        displayName: component.get('displayName')
+      }));
+    });
+
+    return result;
+  }
+};

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/utils/data_table.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/utils/data_table.js?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/utils/data_table.js (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/utils/data_table.js Mon Feb  4 02:23:55 2013
@@ -198,7 +198,7 @@ jQuery.extend($.fn.dataTableExt.afnFilte
             break;
           case 'ambari-bandwidth':
             if (cellValue && match) {
-              bandwidthFilter(cellValue, aData[inputFilters[i].iColumn]);
+              bandwidthFilter(cellValue, aData[inputFilters[i].iColumn], inputFilters[i].iColumn);
             }
             break;
           case 'star':
@@ -220,7 +220,8 @@ jQuery.extend($.fn.dataTableExt.afnFilte
         match = false;
         rowValue = (jQuery(rowValue).text()) ? jQuery(rowValue).text() : rowValue;
         for (var i = 0; i < options.length; i++) {
-          if (rowValue.indexOf(options[i]) !== -1) match = true;
+          var str = new RegExp('(\\W|^)' + options[i] + '(\\W|$)');
+          if (rowValue.search(str) !== -1) match = true;
         }
       }
 
@@ -254,17 +255,27 @@ jQuery.extend($.fn.dataTableExt.afnFilte
         }
       }
 
-      function bandwidthFilter(rangeExp, rowValue) {
+      function bandwidthFilter(rangeExp, rowValue, iColumn) {
         //rowValue = $(rowValue).text();
-        var compareChar = rangeExp.charAt(0);
+        var compareChar = isNaN(rangeExp.charAt(0)) ? rangeExp.charAt(0) : false;
         var compareScale = rangeExp.charAt(rangeExp.length - 1);
-        var compareValue = isNaN(parseFloat(compareScale)) ? parseFloat(rangeExp.substr(1, rangeExp.length - 2)) : parseFloat(rangeExp.substr(1, rangeExp.length - 1));
+        var compareValue = compareChar ? parseFloat(rangeExp.substr(1, rangeExp.length)) : parseFloat(rangeExp.substr(0, rangeExp.length));
         switch (compareScale) {
+          case 'g':
+            compareValue *= 1073741824;
+            break;
           case 'm':
             compareValue *= 1048576;
             break;
-          default:
+          case 'k':
             compareValue *= 1024;
+            break;
+          default:
+            if (iColumn=='4') {
+              compareValue *= 1073741824;
+            } else {
+              compareValue *= 1024;
+            }
         }
         rowValue = (jQuery(rowValue).text()) ? jQuery(rowValue).text() : rowValue;
 
@@ -280,6 +291,9 @@ jQuery.extend($.fn.dataTableExt.afnFilte
             case 'MB':
               convertedRowValue = parseFloat(rowValue)*1048576;
               break;
+            case 'GB':
+              convertedRowValue = parseFloat(rowValue)*1073741824;
+              break;
           }
         }
         match = false;
@@ -290,11 +304,10 @@ jQuery.extend($.fn.dataTableExt.afnFilte
           case '>':
             if (compareValue < convertedRowValue) match = true;
             break;
+          case false:
           case '=':
             if (compareValue == convertedRowValue) match = true;
             break;
-          default:
-            match = false;
         }
       }
 

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/utils/graph.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/utils/graph.js?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/utils/graph.js (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/utils/graph.js Mon Feb  4 02:23:55 2013
@@ -31,6 +31,92 @@ module.exports = {
       }
     }
   },
+  /**
+   * Get min, max for X and Y for provided series
+   * @param series
+   * @return {Object}
+   */
+  getExtInSeries: function(series) {
+    var maxY = 0;
+    var maxX = 0;
+    var minX = 2147465647; // max timestamp value
+    var minY = 2147465647;
+    if (series.length > 0) {
+      series.forEach(function(item){
+        if (item.y > maxY) {
+          maxY = item.y;
+        }
+        if (item.y < minY) {
+          minY = item.y;
+        }
+        if (item.x > maxX) {
+          maxX = item.x;
+        }
+        if (item.x < minX) {
+          minX = item.x;
+        }
+      });
+    }
+    return {maxX: maxX, minX: minX, maxY: maxY, minY: minY};
+  },
+  /**
+   * Get min, max for x and Y for all provided series
+   * @param args array of series
+   * @return {Object}
+   */
+  getExtInAllSeries: function(args) {
+    var maxx = [];
+    var minx = [];
+    var maxy = [];
+    var miny = [];
+    for (var i = 0; i < args.length; i++) {
+      var localExt = this.getExtInSeries(args[i]);
+      maxx.push(localExt.maxX);
+      minx.push(localExt.minX);
+      maxy.push(localExt.maxY);
+      miny.push(localExt.minY);
+    }
+    return {
+      maxX: Math.max.apply(null, maxx),
+      minX: Math.min.apply(null, minx),
+      maxY: Math.max.apply(null, maxy),
+      minY: Math.min.apply(null, miny)
+    };
+  },
+  /**
+   * Get coordinates for new circle in the graph
+   * New circle needed to prevent cut on the borders of the graph
+   * List of arguments - series arrays
+   * @return {Object}
+   */
+  getNewCircle: function() {
+    var ext = this.getExtInAllSeries(arguments);
+    var newX;
+    if (ext.minX != 2147465647) {
+      newX = ext.maxX + Math.round((ext.maxX - ext.minX) * 0.2);
+    }
+    else {
+      newX = (new Date()).getTime();
+    }
+    var newY = ext.maxY * 1.2;
+    return {
+      x: newX,
+      y: newY,
+      r: 0,
+      io: 0
+    };
+  },
+  /**
+   *
+   * @param map
+   * @param shuffle
+   * @param reduce
+   * @param w
+   * @param h
+   * @param element
+   * @param legend_id
+   * @param timeline_id
+   */
   drawJobTimeLine:function (map, shuffle, reduce, w, h, element, legend_id, timeline_id) {
     map = $.parseJSON(map);
     shuffle = $.parseJSON(shuffle);
@@ -40,11 +126,17 @@ module.exports = {
       return;
     }
     this.uniformSeries(map, reduce, shuffle);
+    var ext = this.getExtInAllSeries([map, reduce, shuffle]);
+    var submitTime = ext.minX;
+    var maxX = ext.maxX; // Used on X-axis time stamps
+
     var graph = new Rickshaw.Graph({
       width:w,
       height:h,
       element:document.querySelector(element),
       renderer:'area',
+      interpolation: 'step-after',
+      strokeWidth: 2,
       stroke:true,
       series:[
         {
@@ -65,7 +157,6 @@ module.exports = {
       ]
       }
     );
-
     graph.render();
 
     var legend = new Rickshaw.Graph.Legend({
@@ -89,13 +180,18 @@ module.exports = {
     });
 
     var xAxis = new Rickshaw.Graph.Axis.Time({
-
-      graph:graph
+      graph:graph,
+      timeUnit: {
+        name: 'Custom',
+        seconds: Math.round((maxX - submitTime) / 2),
+        formatter: function(d) { return (new Date(d)).getTime() / 1000 - submitTime + 's'; }
+      }
     });
     xAxis.render();
 
     var yAxis = new Rickshaw.Graph.Axis.Y({
-
+      orientation: 'left',
+      element: document.querySelector('#y-axis'),
       graph:graph
     });
     yAxis.render();
@@ -107,11 +203,24 @@ module.exports = {
       }
     });
 
-    var annotator = new Rickshaw.Graph.Annotate({
+    /*var annotator = new Rickshaw.Graph.Annotate({
       graph:graph,
-      element:document.getElementById(timeline_id)
-    });
+      //element:document.getElementById(timeline_id)
+    });*/
   },
+  /**
+   *
+   * @param mapNodeLocal
+   * @param mapRackLocal
+   * @param mapOffSwitch
+   * @param reduceOffSwitch
+   * @param submitTime
+   * @param w
+   * @param h
+   * @param element
+   * @param legend_id
+   * @param timeline_id
+   */
   drawJobTasks:function (mapNodeLocal, mapRackLocal, mapOffSwitch, reduceOffSwitch, submitTime, w, h, element, legend_id, timeline_id) {
     mapNodeLocal = $.parseJSON(mapNodeLocal);
     mapRackLocal = $.parseJSON(mapRackLocal);
@@ -122,7 +231,13 @@ module.exports = {
       return;
     }
     this.uniformSeries(mapNodeLocal, mapRackLocal, mapOffSwitch, reduceOffSwitch);
-
+    var newC = this.getNewCircle(mapNodeLocal, mapRackLocal, mapOffSwitch, reduceOffSwitch);
+    var ext = this.getExtInAllSeries([mapNodeLocal, mapRackLocal, mapOffSwitch, reduceOffSwitch]);
+    var maxX = ext.maxX; // Used on X-axis time stamps
+    mapNodeLocal.push(newC);
+    mapRackLocal.push(newC);
+    mapOffSwitch.push(newC);
+    reduceOffSwitch.push(newC);
     var graph = new Rickshaw.Graph({
       width:w,
       height:h,
@@ -137,7 +252,7 @@ module.exports = {
         },
         {
           data:mapRackLocal,
-          color:'lightblue',
+          color:'#66B366',
           name:'rack_local_map'
         },
         {
@@ -147,7 +262,7 @@ module.exports = {
         },
         {
           data:reduceOffSwitch,
-          color:'red',
+          color:'steelblue',
           name:'reduce'
         }
       ]
@@ -177,6 +292,11 @@ module.exports = {
 
     var xAxis = new Rickshaw.Graph.Axis.Time({
       graph:graph,
+      timeUnit: {
+        name: 'Custom',
+        seconds: Math.round((maxX - submitTime) / 2),
+        formatter: function(d) { return (new Date(d)).getTime() / 1000 - submitTime + 's'; }
+      },
       ticksTreatment:ticksTreatment
     });
     xAxis.render();
@@ -184,6 +304,8 @@ module.exports = {
     var yAxis = new Rickshaw.Graph.Axis.Y({
       graph:graph,
       ticksTreatment:ticksTreatment,
+      orientation: 'left',
+      element: document.querySelector('#y-axis2'),
       tickFormat: function(y) { return y / 1000 + 's' }
     });
     yAxis.render();
@@ -212,10 +334,5 @@ module.exports = {
       }
 
     });
-    var annotator = new Rickshaw.Graph.Annotate({
-      graph:graph,
-      element:document.getElementById(timeline_id)
-    });
-    graph.update();
   }
 }

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/utils/http_client.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/utils/http_client.js?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/utils/http_client.js (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/utils/http_client.js Mon Feb  4 02:23:55 2013
@@ -56,6 +56,9 @@ App.HttpClient = Em.Object.create({
     $.extend(options, {
       url: url,
       success: function (data) {
+        try {
+          App.store.commit();
+        } catch (err) {}
         mapper.map(data);
       },
       error: errorHandler
@@ -74,6 +77,7 @@ App.HttpClient = Em.Object.create({
    * @param {number} interval - frequecy request
    */
   get: function (url, mapper, data, errorHandler, interval) {
+    var eHandler = data.complete
     var client = this;
     var request = function () {
       client.request(url, data, mapper, errorHandler);

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/utils/string_utils.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/utils/string_utils.js?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/utils/string_utils.js (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/utils/string_utils.js Mon Feb  4 02:23:55 2013
@@ -52,14 +52,12 @@ module.exports = {
     return str;
 
   },
-  underScoreToCamelCase: function(string){
-    var result = string.split('');
-    for(var i = 0; i < result.length; i++){
-      if(result[i] === '_'){
-        result[i] = result[i+1].toUpperCase();
-        result.splice(i+1,1);
-      }
+  underScoreToCamelCase: function(name){
+    var new_name = name.replace(/_\w/g,replacer);
+    function replacer(str, p1, p2, offset, s)
+    {
+      return str[1].toUpperCase();
     }
-    return result.join('');
+    return new_name;
   }
 }

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/utils/validator.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/utils/validator.js?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/utils/validator.js (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/utils/validator.js Mon Feb  4 02:23:55 2013
@@ -35,6 +35,21 @@ module.exports = {
     var floatRegex = /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/;
     return floatRegex.test(value);
   },
+  /**
+   * validate directory with slash at the start
+   * @param value
+   * @return {Boolean}
+   */
+  isValidDir: function(value){
+    var floatRegex = /^\/[0-9a-z]*/;
+    var dirs = value.replace(/,/g,' ').trim().split(new RegExp("\\s+", "g"));
+    for(var i = 0; i < dirs.length; i++){
+      if(!floatRegex.test(dirs[i])){
+        return false;
+      }
+    }
+    return true;
+  },
 
   /**
    * validate ip address with port

Modified: incubator/ambari/branches/branch-1.2/ambari-web/app/views.js
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/branch-1.2/ambari-web/app/views.js?rev=1442010&r1=1442009&r2=1442010&view=diff
==============================================================================
--- incubator/ambari/branches/branch-1.2/ambari-web/app/views.js (original)
+++ incubator/ambari/branches/branch-1.2/ambari-web/app/views.js Mon Feb  4 02:23:55 2013
@@ -22,7 +22,6 @@
 
 require('views/application');
 require('views/common/chart');
-require('views/common/combobox');
 require('views/common/chart/pie');
 require('views/common/chart/linear');
 require('views/common/chart/linear_time');
@@ -31,10 +30,8 @@ require('views/common/metric');
 require('views/common/time_range');
 require('views/common/form/field');
 require('views/common/quick_view_link_view');
-require('views/common/empty_view');
 require('views/login');
 require('views/main');
-require('views/main/test');
 require('views/main/menu');
 require('views/main/charts');
 require('views/main/host');
@@ -42,7 +39,6 @@ require('views/main/host/details');
 require('views/main/host/menu');
 require('views/main/host/summary');
 require('views/main/host/metrics');
-require('views/main/host/audit');
 require('views/main/host/add_view');
 require('views/main/host/metrics/cpu');
 require('views/main/host/metrics/disk');
@@ -56,7 +52,6 @@ require('views/main/admin/advanced/passw
 require('views/main/admin/audit');
 require('views/main/admin/authentication');
 require('views/main/admin/menu');
-require('views/main/admin/security');
 require('views/main/admin/user');
 require('views/main/admin/user/create');
 require('views/main/admin/user/edit');
@@ -78,9 +73,7 @@ require('views/main/service/menu');
 require('views/main/service/item');
 require('views/main/service/info/menu');
 require('views/main/service/info/summary');
-require('views/main/service/info/metrics');
 require('views/main/service/info/configs');
-require('views/main/service/info/audit');
 require('views/main/service/info/metrics/hdfs/jvm_threads');
 require('views/main/service/info/metrics/hdfs/jvm_heap');
 require('views/main/service/info/metrics/hdfs/io');
@@ -106,8 +99,6 @@ require('views/main/service/info/metrics
 require('views/main/service/add_view');
 require('views/main/charts/menu');
 require('views/main/charts/heatmap');
-require('views/main/charts/horizon');
-require('views/main/charts/horizon/chart');
 require('views/main/charts/heatmap/heatmap_rack');
 require('views/main/charts/heatmap/heatmap_host');
 require('views/main/charts/heatmap/heatmap_host_detail');