Updated Branches: refs/heads/trunk 33bf2302c -> a6f6d20ad
AMBARI-3914 Add Host wizard stuck on configuration step. (atkach) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a6f6d20a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a6f6d20a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a6f6d20a Branch: refs/heads/trunk Commit: a6f6d20adbecf7d54a9023a6ac8cdec14221ae67 Parents: 33bf230 Author: atkach <[email protected]> Authored: Thu Nov 28 15:24:42 2013 +0200 Committer: atkach <[email protected]> Committed: Thu Nov 28 15:24:42 2013 +0200 ---------------------------------------------------------------------- .../app/controllers/main/host/add_controller.js | 55 ++++++++++---------- ambari-web/app/mappers/server_data_mapper.js | 41 ++++++++++++++- ambari-web/app/mappers/status_mapper.js | 41 +-------------- 3 files changed, 69 insertions(+), 68 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a6f6d20a/ambari-web/app/controllers/main/host/add_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/host/add_controller.js b/ambari-web/app/controllers/main/host/add_controller.js index dc66cca..84b2ea4 100644 --- a/ambari-web/app/controllers/main/host/add_controller.js +++ b/ambari-web/app/controllers/main/host/add_controller.js @@ -358,48 +358,49 @@ App.AddHostController = App.WizardController.extend({ loadServiceConfigGroups: function () { var slaveComponentHosts = this.get('content.slaveComponentHosts'); var selectedServices = []; - var selectedClientHosts = slaveComponentHosts.findProperty('componentName','CLIENT').hosts.mapProperty('hostName'); - - slaveComponentHosts.forEach(function (slave){ - if(slave.hosts.length > 0){ - if(slave.componentName != "CLIENT"){ - var service = App.HostComponent.find().findProperty('componentName', slave.componentName).get('service'); - var configGroups = this.get('content.configGroups').filterProperty('ConfigGroup.tag', service.get('id')); - var configGroupsNames = configGroups.mapProperty('ConfigGroup.group_name') + var selectedClientHosts = slaveComponentHosts.findProperty('componentName', 'CLIENT').hosts.mapProperty('hostName'); + var componentServiceMap = App.QuickDataMapper.componentServiceMap; + + slaveComponentHosts.forEach(function (slave) { + if (slave.hosts.length > 0) { + if (slave.componentName != "CLIENT") { + var service = componentServiceMap[slave.componentName]; + var configGroups = this.get('content.configGroups').filterProperty('ConfigGroup.tag', service); + var configGroupsNames = configGroups.mapProperty('ConfigGroup.group_name'); configGroupsNames.push('Default'); selectedServices.push({ - serviceId : service.get('id'), - displayName : service.get('displayName'), - hosts : slave.hosts.mapProperty('hostName'), - configGroupsNames : configGroupsNames, - configGroups : configGroups, + serviceId: service, + displayName: App.Service.DisplayNames[service], + hosts: slave.hosts.mapProperty('hostName'), + configGroupsNames: configGroupsNames, + configGroups: configGroups, selectedConfigGroup: "Default" }); } } - },this); - if(selectedClientHosts.length > 0){ + }, this); + if (selectedClientHosts.length > 0) { this.loadClients(); var clients = this.get('content.clients'); clients.forEach(function (client) { - var service = App.HostComponent.find().findProperty('componentName', client.component_name).get('service'); - var serviceMatch = selectedServices.findProperty('serviceId',service.get('id')); - if(serviceMatch){ + var service = componentServiceMap[client.component_name]; + var serviceMatch = selectedServices.findProperty('serviceId', service); + if (serviceMatch) { serviceMatch.hosts = serviceMatch.hosts.concat(selectedClientHosts).uniq(); - }else{ - var configGroups = this.get('content.configGroups').filterProperty('ConfigGroup.tag', service.get('id')); - var configGroupsNames = configGroups.mapProperty('ConfigGroup.group_name') + } else { + var configGroups = this.get('content.configGroups').filterProperty('ConfigGroup.tag', service); + var configGroupsNames = configGroups.mapProperty('ConfigGroup.group_name'); configGroupsNames.push('Default'); selectedServices.push({ - serviceId : service.get('id'), - displayName : service.get('displayName'), - hosts : selectedClientHosts, - configGroupsNames : configGroupsNames, - configGroups : configGroups, + serviceId: service, + displayName: App.Service.DisplayNames[service], + hosts: selectedClientHosts, + configGroupsNames: configGroupsNames, + configGroups: configGroups, selectedConfigGroup: "Default" }); } - },this); + }, this); } this.set('content.serviceConfigGroups', selectedServices); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/a6f6d20a/ambari-web/app/mappers/server_data_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/server_data_mapper.js b/ambari-web/app/mappers/server_data_mapper.js index c28d2ad..8294869 100644 --- a/ambari-web/app/mappers/server_data_mapper.js +++ b/ambari-web/app/mappers/server_data_mapper.js @@ -134,4 +134,43 @@ App.QuickDataMapper = App.ServerDataMapper.extend({ // } return json; } -}); +}) + +App.QuickDataMapper.componentServiceMap = { + 'NAMENODE': 'HDFS', + 'SECONDARY_NAMENODE': 'HDFS', + 'DATANODE': 'HDFS', + 'HDFS_CLIENT': 'HDFS', + 'JOBTRACKER': 'MAPREDUCE', + 'TASKTRACKER': 'MAPREDUCE', + 'MAPREDUCE_CLIENT': 'MAPREDUCE', + 'MAPREDUCE2_CLIENT': 'MAPREDUCE2', + 'HISTORYSERVER': 'MAPREDUCE2', + 'TEZ_CLIENT': 'TEZ', + 'RESOURCEMANAGER': 'YARN', + 'YARN_CLIENT': 'YARN', + 'NODEMANAGER': 'YARN', + 'ZOOKEEPER_SERVER': 'ZOOKEEPER', + 'ZOOKEEPER_CLIENT': 'ZOOKEEPER', + 'HBASE_MASTER': 'HBASE', + 'HBASE_REGIONSERVER': 'HBASE', + 'HBASE_CLIENT': 'HBASE', + 'PIG': 'PIG', + 'SQOOP': 'SQOOP', + 'OOZIE_SERVER': 'OOZIE', + 'OOZIE_CLIENT': 'OOZIE', + 'HIVE_SERVER': 'HIVE', + 'HIVE_METASTORE': 'HIVE', + 'HIVE_CLIENT': 'HIVE', + 'MYSQL_SERVER': 'HIVE', + 'HCAT': 'HCATALOG', + 'WEBHCAT_SERVER': 'WEBHCAT', + 'NAGIOS_SERVER': 'NAGIOS', + 'GANGLIA_SERVER': 'GANGLIA', + 'GANGLIA_MONITOR': 'GANGLIA', + 'KERBEROS_SERVER': 'KERBEROS', + 'KERBEROS_ADMIN_CLIENT': 'KERBEROS', + 'KERBEROS_CLIENT': 'KERBEROS', + 'HUE_SERVER': 'HUE', + 'HCFS_CLIENT': 'HCFS' +} http://git-wip-us.apache.org/repos/asf/ambari/blob/a6f6d20a/ambari-web/app/mappers/status_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/status_mapper.js b/ambari-web/app/mappers/status_mapper.js index efda4dd..cc33fd1 100644 --- a/ambari-web/app/mappers/status_mapper.js +++ b/ambari-web/app/mappers/status_mapper.js @@ -19,45 +19,6 @@ var App = require('app'); App.statusMapper = App.QuickDataMapper.create({ model: App.HostComponent, - componentServiceMap: { - 'NAMENODE': 'HDFS', - 'SECONDARY_NAMENODE': 'HDFS', - 'DATANODE': 'HDFS', - 'HDFS_CLIENT': 'HDFS', - 'JOBTRACKER': 'MAPREDUCE', - 'TASKTRACKER': 'MAPREDUCE', - 'MAPREDUCE_CLIENT': 'MAPREDUCE', - 'MAPREDUCE2_CLIENT': 'MAPREDUCE2', - 'HISTORYSERVER': 'MAPREDUCE2', - 'TEZ_CLIENT': 'TEZ', - 'RESOURCEMANAGER': 'YARN', - 'YARN_CLIENT': 'YARN', - 'NODEMANAGER': 'YARN', - 'ZOOKEEPER_SERVER': 'ZOOKEEPER', - 'ZOOKEEPER_CLIENT': 'ZOOKEEPER', - 'HBASE_MASTER': 'HBASE', - 'HBASE_REGIONSERVER': 'HBASE', - 'HBASE_CLIENT': 'HBASE', - 'PIG': 'PIG', - 'SQOOP': 'SQOOP', - 'OOZIE_SERVER': 'OOZIE', - 'OOZIE_CLIENT': 'OOZIE', - 'HIVE_SERVER': 'HIVE', - 'HIVE_METASTORE': 'HIVE', - 'HIVE_CLIENT': 'HIVE', - 'MYSQL_SERVER': 'HIVE', - 'HCAT': 'HCATALOG', - 'WEBHCAT_SERVER': 'WEBHCAT', - 'NAGIOS_SERVER': 'NAGIOS', - 'GANGLIA_SERVER': 'GANGLIA', - 'GANGLIA_MONITOR': 'GANGLIA', - 'KERBEROS_SERVER': 'KERBEROS', - 'KERBEROS_ADMIN_CLIENT': 'KERBEROS', - 'KERBEROS_CLIENT': 'KERBEROS', - 'HUE_SERVER': 'HUE', - 'HCFS_CLIENT': 'HCFS' - }, - map: function (json) { console.time('App.statusMapper execution time'); if (json.items) { @@ -65,7 +26,7 @@ App.statusMapper = App.QuickDataMapper.create({ var hostStatuses = {}; var hostComponentStatuses = {}; var addedHostComponents = []; - var componentServiceMap = this.get('componentServiceMap'); + var componentServiceMap = App.QuickDataMapper.componentServiceMap; var currentComponentStatuses = {}; var currentHostStatuses = {}; var previousHostStatuses = App.cache['previousHostStatuses'];
