This is an automated email from the ASF dual-hosted git repository.

rohithsharmaks pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 84bb980  YARN-7761. [UI2] Clicking 'master container log' or 'Link' 
next to 'log' under application's appAttempt goes to Old UI's Log link. 
Contributed by Akhil PB.
84bb980 is described below

commit 84bb9808a2f56fcdfbfe496337033d9aa0cb583e
Author: Rohith Sharma K S <[email protected]>
AuthorDate: Fri Jan 25 14:00:19 2019 +0530

    YARN-7761. [UI2] Clicking 'master container log' or 'Link' next to 'log' 
under application's appAttempt goes to Old UI's Log link. Contributed by Akhil 
PB.
---
 .../src/main/webapp/app/components/timeline-view.js          | 12 ++++++------
 .../src/main/webapp/app/controllers/yarn-app/logs.js         |  9 +++++++--
 .../src/main/webapp/app/helpers/log-files-comma.js           |  2 +-
 .../src/main/webapp/app/initializers/loader.js               |  4 +++-
 .../src/main/webapp/app/models/yarn-app-attempt.js           |  6 ++++++
 .../src/main/webapp/app/models/yarn-container.js             |  9 ++++++++-
 .../src/main/webapp/app/models/yarn-timeline-container.js    |  9 ++++++++-
 .../src/main/webapp/app/routes/yarn-app/logs.js              |  6 ++++++
 .../src/main/webapp/app/routes/yarn-node-container.js        |  8 +++++---
 .../webapp/app/templates/components/app-attempt-table.hbs    |  8 +++++---
 .../main/webapp/app/templates/components/container-table.hbs |  8 +++++---
 .../src/main/webapp/app/templates/yarn-app.hbs               |  4 ++--
 .../src/main/webapp/app/templates/yarn-apps/apps.hbs         |  2 ++
 .../src/main/webapp/app/templates/yarn-node/info.hbs         |  4 +---
 14 files changed, 65 insertions(+), 26 deletions(-)

diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/timeline-view.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/timeline-view.js
index b4de94f..031dd41 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/timeline-view.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/timeline-view.js
@@ -408,9 +408,9 @@ export default Ember.Component.extend({
       contentPath: 'logsLink',
       cellComponentName: 'em-table-html-cell',
       getCellContent: function(row) {
-        var logUrl = self.checkHttpProtocol(row.get('logsLink'));
-        if (logUrl) {
-          return `<a href="${logUrl}" target="_blank">Link</a>`;
+        var containerLogUrl = row.get('appAttemptContainerLogsURL');
+        if (containerLogUrl) {
+          return `<a href="${containerLogUrl}">Link</a>`;
         } else {
           return 'N/A';
         }
@@ -490,9 +490,9 @@ export default Ember.Component.extend({
       contentPath: 'logUrl',
       cellComponentName: 'em-table-html-cell',
       getCellContent: function(row) {
-        var url = self.checkHttpProtocol(row.get('logUrl'));
-        if (url) {
-          return `<a href="${url}" target="_blank">${url}</a>`;
+        var containerLogUrl = row.get('appAttemptContainerLogsURL');
+        if (containerLogUrl) {
+          return `<a href="${containerLogUrl}">Link</a>`;
         } else {
           return 'N/A';
         }
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/yarn-app/logs.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/yarn-app/logs.js
index 8224011..e1a8ec8 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/yarn-app/logs.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/yarn-app/logs.js
@@ -20,8 +20,10 @@ import Ember from 'ember';
 import Constants from 'yarn-ui/constants';
 
 export default Ember.Controller.extend({
-  queryParams: ["service"],
+  queryParams: ["service", "attempt", "containerid"],
   service: undefined,
+  attempt: undefined,
+  containerid: undefined,
 
   selectedAttemptId: "",
   attemptContainerList: null,
@@ -40,7 +42,7 @@ export default Ember.Controller.extend({
   },
 
   actions: {
-    showContainersForAttemptId(attemptId) {
+    showContainersForAttemptId(attemptId, containerId = "") {
       this.set("selectedAttemptId", "");
       if (attemptId) {
         this.set("_isLoadingTopPanel", true);
@@ -75,6 +77,9 @@ export default Ember.Controller.extend({
             }
             this.set("attemptContainerList", containers);
             this.initializeSelect(".js-fetch-logs-containers");
+            if (containerId) {
+              this.send("showLogFilesForContainerId", containerId);
+            }
           })
           .finally(() => {
             this.set("_isLoadingTopPanel", false);
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/helpers/log-files-comma.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/helpers/log-files-comma.js
index 026cd7f..963fc14 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/helpers/log-files-comma.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/helpers/log-files-comma.js
@@ -47,7 +47,7 @@ export default Ember.Helper.helper(function(params,hash) {
         nodeAddr + '/' + containerId + '/' + logFileName + '">' + logFileName +
         '</a>';
     if (i !== logFilesLen - 1) {
-      html = html + ",";
+      html = html + ", ";
     }
   }
   html = html + '</td>';
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/initializers/loader.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/initializers/loader.js
index e695ea6..ad0132c 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/initializers/loader.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/initializers/loader.js
@@ -113,7 +113,8 @@ function getClusterIdFromYARN(rmhost, application) {
 function getNodeManagerPort(rmhost, application) {
   var httpUrl = window.location.protocol + "//" +
     (ENV.hosts.localBaseAddress ? ENV.hosts.localBaseAddress + '/' : '') + 
rmhost
-    + ":" + window.location.port + 
"/conf?name=yarn.nodemanager.webapp.address";
+    + "/conf?name=yarn.nodemanager.webapp.address";
+
   var port = "8042";
   $.ajax({
     type: 'GET',
@@ -158,6 +159,7 @@ function updateConfigs(application) {
   ENV.clusterId = clusterIdFromYARN;
 
   var nodeManagerPort = getNodeManagerPort(rmhost, application);
+  Ember.Logger.log("NodeMananger port: " + nodeManagerPort);
   ENV.nodeManagerPort = nodeManagerPort;
 
   if(!ENV.hosts.timelineWebAddress) {
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js
index 6538f20..b89db46 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js
@@ -147,4 +147,10 @@ export default DS.Model.extend({
     return `#/yarn-node/${this.get("nodeId")}/${addr}/info/`;
   }.property("nodeId", "nodeHttpAddress"),
 
+  appAttemptContainerLogsURL: function() {
+    const attemptId = this.get("id");
+    const containerId = this.get("appMasterContainerId");
+    const appId = Converter.attemptIdToAppId(attemptId);
+    return 
`#/yarn-app/${appId}/logs?attempt=${attemptId}&containerid=${containerId}`;
+  }.property("id", "appMasterContainerId")
 });
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-container.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-container.js
index f13c405..6a33e9a 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-container.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-container.js
@@ -66,5 +66,12 @@ export default DS.Model.extend({
   masterNodeURL: function() {
     var addr = encodeURIComponent(this.get("nodeHttpAddress"));
     return `#/yarn-node/${this.get("nodeId")}/${addr}/info/`;
-  }.property("nodeId", "nodeHttpAddress")
+  }.property("nodeId", "nodeHttpAddress"),
+
+  appAttemptContainerLogsURL: function() {
+    const containerId = this.get("id");
+    const attemptId = Converter.containerIdToAttemptId(containerId);
+    const appId = Converter.attemptIdToAppId(attemptId);
+    return 
`#/yarn-app/${appId}/logs?attempt=${attemptId}&containerid=${containerId}`;
+  }.property("id")
 });
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js
index 104c1a9..1a97236 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js
@@ -67,5 +67,12 @@ export default DS.Model.extend({
   masterNodeURL: function() {
     var addr = encodeURIComponent(this.get("nodeHttpAddress"));
     return `#/yarn-node/${this.get("nodeId")}/${addr}/info/`;
-  }.property("nodeId", "nodeHttpAddress")
+  }.property("nodeId", "nodeHttpAddress"),
+
+  appAttemptContainerLogsURL: function() {
+    const containerId = this.get("id");
+    const attemptId = Converter.containerIdToAttemptId(containerId);
+    const appId = Converter.attemptIdToAppId(attemptId);
+    return 
`#/yarn-app/${appId}/logs?attempt=${attemptId}&containerid=${containerId}`;
+  }.property("id")
 });
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-app/logs.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-app/logs.js
index 99e4cff..b73bc80 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-app/logs.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-app/logs.js
@@ -37,8 +37,14 @@ export default AbstractRoute.extend(AppAttemptMixin, {
 
   activate() {
     const controller = this.controllerFor("yarn-app.logs");
+    const { attempt, containerid } = this.paramsFor('yarn-app.logs');
     controller.resetAfterRefresh();
     controller.initializeSelect();
+    if (attempt) {
+      controller.send("showContainersForAttemptId", attempt, containerid);
+    } else {
+      controller.set("selectedAttemptId", "");
+    }
   },
 
   unloadAll() {
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-node-container.js
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-node-container.js
index 388918e..0060e2b 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-node-container.js
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-node-container.js
@@ -22,12 +22,14 @@ import AbstractRoute from './abstract';
 
 export default AbstractRoute.extend({
   model(param) {
+    let nodeAddress = decodeURIComponent(param.node_addr);
+    nodeAddress = nodeAddress.replace(/(^\w+:|^)\/\//, '');
     // Get a specific container running on a specific node.
     return Ember.RSVP.hash({
       nodeContainer: this.store.queryRecord('yarn-node-container',
-          { nodeHttpAddr: param.node_addr, containerId: param.container_id }),
-      nmGpuInfo: this.store.findRecord('yarn-nm-gpu', param.node_addr, 
{reload:true}),
-      nodeInfo: { id: param.node_id, addr: param.node_addr, containerId: 
param.container_id }
+          { nodeHttpAddr: nodeAddress, containerId: param.container_id }),
+      nmGpuInfo: this.store.findRecord('yarn-nm-gpu', nodeAddress, 
{reload:true}),
+      nodeInfo: { id: param.node_id, addr: nodeAddress, containerId: 
param.container_id }
     });
   },
 
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs
index 06dd754..91c7eea 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs
@@ -62,10 +62,12 @@
       <td title="{{attempt.exposedPorts}}">{{attempt.exposedPorts}}</td>
     </tr>
     {{/if}}
-    {{#if attempt.logsLink}}
+    {{#if attempt.appAttemptContainerLogsURL}}
     <tr>
-      <td>Log</td>
-      <td><a href="{{prepend-protocol attempt.logsLink}}" 
target="_blank">Link</a></td>
+      <td>Logs</td>
+      <td>
+        <a href="{{attempt.appAttemptContainerLogsURL}}">Link</a>
+      </td>
     </tr>
     {{/if}}
     {{#if attempt.diagnosticsInfo}}
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/container-table.hbs
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/container-table.hbs
index 9bdabec..25d57c5 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/container-table.hbs
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/container-table.hbs
@@ -60,10 +60,12 @@
       <td title="{{container.exposedPorts}}">{{container.exposedPorts}}</td>
     </tr>
     {{/if}}
-    {{#if container.logUrl}}
+    {{#if container.appAttemptContainerLogsURL}}
     <tr>
-      <td>Log</td>
-      <td><a href="{{prepend-protocol container.logUrl}}" 
target="_blank">Link</a></td>
+      <td>Logs</td>
+      <td>
+        <a href="{{container.appAttemptContainerLogsURL}}">Link</a>
+      </td>
     </tr>
     {{/if}}
     {{#if container.nodeHttpAddress}}
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app.hbs
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app.hbs
index 6e9bc08..c16a7a5 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app.hbs
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app.hbs
@@ -19,7 +19,7 @@
 {{breadcrumb-bar breadcrumbs=breadcrumbs}}
 
 {{#if actionResponse}}
-  <div class="row">
+  <div class="alert-wrapper">
     <div class="col-md-12">
       <div class="alert alert-dismissible {{if (eq actionResponse.type 
'error') 'alert-danger' 'alert-success'}}" role="alert">
         <button class="close" data-dismiss="alert" aria-label="Close" {{action 
"resetActionResponse"}}><span aria-hidden="true">&times;</span></button>
@@ -29,7 +29,7 @@
   </div>
 {{/if}}
 
-<div class="panel-group">
+<div class="panel-group col-md-12">
   <div class="panel panel-default">
     <div class="yarn-app-header">
       <div class="flex">
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-apps/apps.hbs
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-apps/apps.hbs
index f740083..743e2bf 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-apps/apps.hbs
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-apps/apps.hbs
@@ -20,7 +20,9 @@
   <h4 align="center">Loading...</h4>
 {{else}}
   {{#if model.apps}}
+    <div class="col-md-12">
     {{em-table columns=columns rows=model.apps definition=tableDefinition}}
+    </div>
   {{else}}
     <h4 align="center">Could not find any applications from this cluster</h4>
   {{/if}}
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-node/info.hbs
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-node/info.hbs
index a2c708e..59cbbf0 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-node/info.hbs
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-node/info.hbs
@@ -129,9 +129,7 @@
           <div class="col-lg-6 container-fluid">
             <div class="panel panel-default">
               <div class="panel-heading">
-                <li>
-                  Resources - yarn.io/gpu
-                </li>
+                Resources - yarn.io/gpu
               </div>
               <div class="container-fluid" id="gpu-donut-chart">
                 {{donut-chart data=model.rmNode.getGpuDataForDonutChart


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to