瀏覽代碼

AMBARI-4703. Jobs API calls use hardcoded ATS port value (Denys Buzhor via alexantonenko)

Alex Antonenko 11 年之前
父節點
當前提交
a593a644cb

+ 2 - 2
ambari-web/app/app.js

@@ -177,8 +177,8 @@ module.exports = Em.Application.create({
    * remove/restore related data.
    * remove/restore related data.
    */
    */
   handleStackDependedComponents: function() {
   handleStackDependedComponents: function() {
-    // need for unit testing
-    if (this.get('handleStackDependencyTest')) return;
+    // need for unit testing and test mode
+    if (this.get('handleStackDependencyTest') || this.testMode) return;
     var stackVersion, stackDependedComponents;
     var stackVersion, stackDependedComponents;
     stackVersion = this.get('currentStackVersionNumber');
     stackVersion = this.get('currentStackVersionNumber');
     stackDependedComponents = [];
     stackDependedComponents = [];

+ 2 - 2
ambari-web/app/controllers/global/configuration_controller.js

@@ -73,8 +73,8 @@ App.ConfigurationController = Em.Controller.extend({
       // Access the Local storage App.db.data.app.configs object only if its defined
       // Access the Local storage App.db.data.app.configs object only if its defined
       var storedSite = !!storedConfigs && storedConfigs.findProperty('type', loadedSite.type);
       var storedSite = !!storedConfigs && storedConfigs.findProperty('type', loadedSite.type);
       if (storedSite) {
       if (storedSite) {
-        storedConfigs.tag = loadedSite.tag;
-        storedConfigs.properties = loadedSite.properties;
+        storedConfigs.findProperty('type', storedSite.type).tag = loadedSite.tag;
+        storedConfigs.findProperty('type', storedSite.type).properties = loadedSite.properties;
       } else {
       } else {
         // Initialize storedConfigs object if it's undefined
         // Initialize storedConfigs object if it's undefined
         if (storedConfigs === undefined) {
         if (storedConfigs === undefined) {

+ 1 - 1
ambari-web/app/controllers/main/jobs_controller.js

@@ -243,7 +243,7 @@ App.MainJobsController = Em.ArrayController.extend({
       var historyServerHostName = yarnService.get('resourceManagerNode.hostName');
       var historyServerHostName = yarnService.get('resourceManagerNode.hostName');
       var filtersLink = this.get('filterObject').createJobsFiltersLink();
       var filtersLink = this.get('filterObject').createJobsFiltersLink();
       var hiveQueriesUrl = App.testMode ? "/data/jobs/hive-queries.json" : "/proxy?url=http://" + historyServerHostName
       var hiveQueriesUrl = App.testMode ? "/data/jobs/hive-queries.json" : "/proxy?url=http://" + historyServerHostName
-          + ":8188/ws/v1/apptimeline/HIVE_QUERY_ID" + filtersLink;
+          + ":" + yarnService.get('ahsWebPort') + "/ws/v1/apptimeline/HIVE_QUERY_ID" + filtersLink;
       App.HttpClient.get(hiveQueriesUrl, App.hiveJobsMapper, {
       App.HttpClient.get(hiveQueriesUrl, App.hiveJobsMapper, {
         complete : function(jqXHR, textStatus) {
         complete : function(jqXHR, textStatus) {
           self.set('loading', false);
           self.set('loading', false);

+ 4 - 0
ambari-web/app/models/service/yarn.js

@@ -37,6 +37,10 @@ App.YARNService = App.Service.extend({
   appsCompleted: DS.attr('number'),
   appsCompleted: DS.attr('number'),
   appsKilled: DS.attr('number'),
   appsKilled: DS.attr('number'),
   appsFailed: DS.attr('number'),
   appsFailed: DS.attr('number'),
+  ahsWebPort: function() {
+    return App.db.getConfigs().findProperty('type', 'yarn-site').properties['yarn.ahs.webapp.address']
+      .match(/:(\d+)/)[1];
+  }.property(),
   yarnClientNodes: function(){
   yarnClientNodes: function(){
     return this.get('hostComponents').filterProperty('componentName', 'YARN_CLIENT').mapProperty('host');
     return this.get('hostComponents').filterProperty('componentName', 'YARN_CLIENT').mapProperty('host');
   }.property('hostComponents.length'),
   }.property('hostComponents.length'),

+ 3 - 3
ambari-web/app/utils/ajax.js

@@ -1605,17 +1605,17 @@ var urls = {
   },
   },
 
 
   'jobs.tezDag.NametoID': {
   'jobs.tezDag.NametoID': {
-    'real': '/proxy?url=http://{historyServerHostName}:8188/ws/v1/apptimeline/TEZ_DAG_ID?primaryFilter=dagName:{tezDagName}',
+    'real': '/proxy?url=http://{historyServerHostName}:{ahsWebPort}/ws/v1/apptimeline/TEZ_DAG_ID?primaryFilter=dagName:{tezDagName}',
     'mock': '/data/jobs/tezDag-name-to-id.json',
     'mock': '/data/jobs/tezDag-name-to-id.json',
     'apiPrefix': ''
     'apiPrefix': ''
   },
   },
   'jobs.tezDag.tezDagId': {
   'jobs.tezDag.tezDagId': {
-    'real': '/proxy?url=http://{historyServerHostName}:8188/ws/v1/apptimeline/TEZ_DAG_ID/{tezDagId}?fields=relatedentities',
+    'real': '/proxy?url=http://{historyServerHostName}:{ahsWebPort}/ws/v1/apptimeline/TEZ_DAG_ID/{tezDagId}?fields=relatedentities',
     'mock': '/data/jobs/tezDag.json',
     'mock': '/data/jobs/tezDag.json',
     'apiPrefix': ''
     'apiPrefix': ''
   },
   },
   'jobs.tezDag.tezDagVertexId': {
   'jobs.tezDag.tezDagVertexId': {
-    'real': '/proxy?url=http://{historyServerHostName}:8188/ws/v1/apptimeline/TEZ_VERTEX_ID/{tezDagVertexId}?fields=otherinfo',
+    'real': '/proxy?url=http://{historyServerHostName}:{ahsWebPort}/ws/v1/apptimeline/TEZ_VERTEX_ID/{tezDagVertexId}?fields=otherinfo',
     'mock': '/data/jobs/tezDagVertex.json',
     'mock': '/data/jobs/tezDagVertex.json',
     'apiPrefix': ''
     'apiPrefix': ''
   }
   }

+ 16 - 7
ambari-web/app/utils/jobs.js

@@ -49,11 +49,13 @@ module.exports = {
   refreshHiveJobDetails : function(hiveJob, successCallback) {
   refreshHiveJobDetails : function(hiveJob, successCallback) {
     var self = this;
     var self = this;
     // TODO - to be changed to history server when implemented in stack.
     // TODO - to be changed to history server when implemented in stack.
-    var historyServerHostName = App.YARNService.find().objectAt(0).get('resourceManagerNode.hostName')
+    var yarnService = App.YARNService.find().objectAt(0);
+    var historyServerHostName = yarnService.get('resourceManagerNode.hostName');
+    var ahsWebPort = yarnService.get('ahsWebPort');
     var hiveJobId = hiveJob.get('id');
     var hiveJobId = hiveJob.get('id');
     // First refresh query
     // First refresh query
     var hiveQueriesUrl = App.testMode ? "/data/jobs/hive-query-2.json" : "/proxy?url=http://" + historyServerHostName
     var hiveQueriesUrl = App.testMode ? "/data/jobs/hive-query-2.json" : "/proxy?url=http://" + historyServerHostName
-        + ":8188/ws/v1/apptimeline/HIVE_QUERY_ID/" + hiveJob.get('id') + "?fields=otherinfo";
+        + ":" + ahsWebPort + "/ws/v1/apptimeline/HIVE_QUERY_ID/" + hiveJob.get('id') + "?fields=otherinfo";
     App.HttpClient.get(hiveQueriesUrl, App.hiveJobMapper, {
     App.HttpClient.get(hiveQueriesUrl, App.hiveJobMapper, {
       complete : function(jqXHR, textStatus) {
       complete : function(jqXHR, textStatus) {
         // Now get the Tez DAG ID from the DAG name
         // Now get the Tez DAG ID from the DAG name
@@ -79,7 +81,8 @@ module.exports = {
             sender : sender,
             sender : sender,
             data : {
             data : {
               historyServerHostName : historyServerHostName,
               historyServerHostName : historyServerHostName,
-              tezDagName : tezDagName
+              tezDagName : tezDagName,
+              ahsWebPort: ahsWebPort
             },
             },
             success : 'dagNameToIdSuccess',
             success : 'dagNameToIdSuccess',
             error : 'dagNameToIdError'
             error : 'dagNameToIdError'
@@ -102,7 +105,9 @@ module.exports = {
    */
    */
   refreshTezDagDetails : function(tezDagId, successCallback) {
   refreshTezDagDetails : function(tezDagId, successCallback) {
     var self = this;
     var self = this;
-    var historyServerHostName = App.YARNService.find().objectAt(0).get('resourceManagerNode.hostName');
+    var yarnService = App.YARNService.find().objectAt(0);
+    var ahsWebPort = yarnService.get('ahsWebPort');
+    var historyServerHostName = yarnService.get('resourceManagerNode.hostName');
     var tezDag = App.TezDag.find(tezDagId);
     var tezDag = App.TezDag.find(tezDagId);
     if (tezDag) {
     if (tezDag) {
       var tezDagInstanceId = tezDag.get('instanceId');
       var tezDagInstanceId = tezDag.get('instanceId');
@@ -129,7 +134,8 @@ module.exports = {
         sender : sender,
         sender : sender,
         data : {
         data : {
           historyServerHostName : historyServerHostName,
           historyServerHostName : historyServerHostName,
-          tezDagId : tezDagInstanceId
+          tezDagId : tezDagInstanceId,
+          ahsWebPort: ahsWebPort
         },
         },
         success : 'loadTezDagSuccess',
         success : 'loadTezDagSuccess',
         error : 'loadTezDagError'
         error : 'loadTezDagError'
@@ -151,7 +157,9 @@ module.exports = {
    *          successCallback
    *          successCallback
    */
    */
   refreshTezDagVertex : function(tezDagId, tezVertexInstanceId, successCallback) {
   refreshTezDagVertex : function(tezDagId, tezVertexInstanceId, successCallback) {
-    var historyServerHostName = App.YARNService.find().objectAt(0).get('resourceManagerNode.hostName');
+    var yarnService = App.YARNService.find().objectAt(0);
+    var ahsWebPort = yarnService.get('ahsWebPort');
+    var historyServerHostName = yarnService.get('resourceManagerNode.hostName');
     var sender = {
     var sender = {
       loadTezDagVertexSuccess : function(data) {
       loadTezDagVertexSuccess : function(data) {
         if (data && data.otherinfo) {
         if (data && data.otherinfo) {
@@ -185,7 +193,8 @@ module.exports = {
       sender : sender,
       sender : sender,
       data : {
       data : {
         historyServerHostName : historyServerHostName,
         historyServerHostName : historyServerHostName,
-        tezDagVertexId : tezVertexInstanceId
+        tezDagVertexId : tezVertexInstanceId,
+        ahsWebPort: ahsWebPort
       },
       },
       success : 'loadTezDagVertexSuccess',
       success : 'loadTezDagVertexSuccess',
       error : 'loadTezDagVertexError'
       error : 'loadTezDagVertexError'