Procházet zdrojové kódy

AMBARI-6052 Load host-components of displayed Hosts. (atkach)

atkach před 11 roky
rodič
revize
34f659b5c3

+ 1 - 1
ambari-web/app/controllers/global/update_controller.js

@@ -156,7 +156,7 @@ App.UpdateController = Em.Controller.extend({
     var testUrl = App.get('isHadoop2Stack') ? '/data/hosts/HDP2/hosts.json' : '/data/hosts/hosts.json';
     var realUrl = '/hosts?<parameters>fields=Hosts/host_name,Hosts/maintenance_state,Hosts/public_host_name,Hosts/cpu_count,Hosts/ph_cpu_count,Hosts/total_mem,' +
         'Hosts/host_status,Hosts/last_heartbeat_time,Hosts/os_arch,Hosts/os_type,Hosts/ip,host_components/HostRoles/state,host_components/HostRoles/maintenance_state,' +
-        'metrics/disk,metrics/load/load_one,metrics/cpu/cpu_system,metrics/cpu/cpu_user,' +
+        'host_components/HostRoles/stale_configs,host_components/HostRoles/service_name,metrics/disk,metrics/load/load_one,metrics/cpu/cpu_system,metrics/cpu/cpu_user,' +
         'metrics/memory/mem_total,metrics/memory/mem_free,alerts/summary&minimal_response=true';
 
     this.get('queryParams').set('Hosts', App.router.get('mainHostController').getQueryParameters());

+ 13 - 0
ambari-web/app/mappers/hosts_mapper.js

@@ -54,16 +54,28 @@ App.hostsMapper = App.QuickDataMapper.create({
     ip: 'Hosts.ip',
     passive_state: 'Hosts.maintenance_state'
   },
+  hostComponentConfig: {
+    component_name: 'HostRoles.component_name',
+    service_id: 'HostRoles.service_name',
+    passive_state: 'HostRoles.maintenance_state',
+    work_status: 'HostRoles.state',
+    stale_configs: 'HostRoles.stale_configs'
+  },
   map: function (json, isAll) {
     console.time('App.hostsMapper execution time');
     if (json.items) {
       var hostsWithFullInfo = [];
       var hostIds = {};
+      var components = [];
 
       json.items.forEach(function (item) {
         item.host_components = item.host_components || [];
         item.host_components.forEach(function (host_component) {
           host_component.id = host_component.HostRoles.component_name + "_" + item.Hosts.host_name;
+          var component = this.parseIt(host_component, this.hostComponentConfig);
+          component.id = host_component.HostRoles.component_name + "_" + item.Hosts.host_name;
+          component.host_id = item.Hosts.host_name;
+          components.push(component);
         }, this);
         item.critical_alerts_count = (item.alerts) ? item.alerts.summary.CRITICAL + item.alerts.summary.WARNING : 0;
         item.cluster_id = App.get('clusterName');
@@ -87,6 +99,7 @@ App.hostsMapper = App.QuickDataMapper.create({
           host.set('isRequested', false);
         }
       });
+      App.store.loadMany(App.HostComponent, components);
       App.store.loadMany(App.Host, hostsWithFullInfo);
       App.router.set('mainHostController.filteredCount', json.itemTotal);
     }