in ambari-web/app/models/stack_service.js [365:545]
App.StackService.configCategories = function () {
var serviceConfigCategories = [];
switch (this.get('serviceName')) {
case 'HDFS':
serviceConfigCategories.pushObject(App.ServiceConfigCategory.create({ name: 'NAMENODE', displayName: 'NameNode', showHost: true}));
if (!App.get('isHaEnabled')) {
serviceConfigCategories.pushObject(App.ServiceConfigCategory.create({ name: 'SECONDARY_NAMENODE', displayName: 'Secondary NameNode', showHost: true}));
}
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'DATANODE', displayName: 'DataNode', showHost: true}),
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
App.ServiceConfigCategory.create({ name: 'NFS_GATEWAY', displayName: 'NFS Gateway', showHost: true})
]);
break;
case 'GLUSTERFS':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
break;
case 'YARN':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'RESOURCEMANAGER', displayName: 'Resource Manager', showHost: true}),
App.ServiceConfigCategory.create({ name: 'NODEMANAGER', displayName: 'Node Manager', showHost: true}),
App.ServiceConfigCategory.create({ name: 'APP_TIMELINE_SERVER', displayName: 'Application Timeline Server', showHost: true}),
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
App.ServiceConfigCategory.create({ name: 'ResourceTypes', displayName: 'Resource Types'}),
App.ServiceConfigCategory.create({ name: 'FaultTolerance', displayName: 'Fault Tolerance'}),
App.ServiceConfigCategory.create({ name: 'Isolation', displayName: 'Isolation'}),
App.ServiceConfigCategory.create({ name: 'CapacityScheduler', displayName: 'Scheduler', siteFileName: 'capacity-scheduler.xml'}),
App.ServiceConfigCategory.create({ name: 'ContainerExecutor', displayName: 'Container Executor', siteFileName: 'container-executor.xml'}),
App.ServiceConfigCategory.create({ name: 'Registry', displayName: 'Registry'})
]);
break;
case 'MAPREDUCE2':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'HISTORYSERVER', displayName: 'History Server', showHost: true}),
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
break;
case 'HIVE':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'HIVE_METASTORE', displayName: 'Hive Metastore', showHost: true}),
App.ServiceConfigCategory.create({ name: 'WEBHCAT_SERVER', displayName: 'WebHCat Server', showHost: true}),
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
App.ServiceConfigCategory.create({ name: 'Performance', displayName: 'Performance'}),
App.ServiceConfigCategory.create({ name: 'HIVE_SERVER2', displayName: 'Hive Server2'}),
App.ServiceConfigCategory.create({ name: 'HIVE_CLIENT', displayName: 'Hive Client'})
]);
break;
case 'HBASE':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'HBASE_MASTER', displayName: 'HBase Master', showHost: true}),
App.ServiceConfigCategory.create({ name: 'HBASE_REGIONSERVER', displayName: 'RegionServer', showHost: true}),
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
break;
case 'ZOOKEEPER':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'ZOOKEEPER_SERVER', displayName: 'ZooKeeper Server', showHost: true})
]);
break;
case 'OOZIE':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'OOZIE_SERVER', displayName: 'Oozie Server', showHost: true}),
App.ServiceConfigCategory.create({ name: 'Falcon - Oozie integration', displayName: 'Falcon - Oozie integration'})
]);
break;
case 'FALCON':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'FALCON_SERVER', displayName: 'Falcon Server', showHost: true}),
App.ServiceConfigCategory.create({ name: 'Falcon - Oozie integration', displayName: 'Falcon - Oozie integration'}),
App.ServiceConfigCategory.create({ name: 'FalconStartupSite', displayName: 'Falcon startup.properties'}),
App.ServiceConfigCategory.create({ name: 'FalconRuntimeSite', displayName: 'Falcon runtime.properties'}),
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
break;
case 'STORM':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'NIMBUS', displayName: 'Nimbus', showHost: true}),
App.ServiceConfigCategory.create({ name: 'SUPERVISOR', displayName: 'Supervisor', showHost: true}),
App.ServiceConfigCategory.create({ name: 'STORM_UI_SERVER', displayName: 'Storm UI Server', showHost: true}),
App.ServiceConfigCategory.create({ name: 'STORM_REST_API', displayName: 'Storm REST API Server', showHost: true}),
App.ServiceConfigCategory.create({ name: 'DRPC_SERVER', displayName: 'DRPC Server', showHost: true}),
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
break;
case 'TEZ':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
break;
case 'FLUME':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'FLUME_HANDLER', displayName: 'flume.conf', siteFileName: 'flume-conf', canAddProperty: false})
]);
break;
case 'KNOX':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'KNOX_GATEWAY', displayName: 'Knox Gateway', showHost: true})
]);
break;
case 'KAFKA':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'KAFKA_BROKER', displayName: 'Kafka Broker', showHost: true})
]);
break;
case 'KERBEROS':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'KDC', displayName: 'KDC'}),
App.ServiceConfigCategory.create({ name: 'Kadmin', displayName: 'Kadmin'}),
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
break;
case 'AMBARI_METRICS':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
App.ServiceConfigCategory.create({ name: 'MetricCollector', displayName: 'Metric Collector'})
]);
break;
case 'RANGER':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'RANGER_ADMIN', displayName: 'Admin Settings', showHost: true}),
App.ServiceConfigCategory.create({ name: 'DBSettings', displayName: 'DB Settings'}),
App.ServiceConfigCategory.create({ name: 'RangerSettings', displayName: 'Ranger Settings'}),
App.ServiceConfigCategory.create({ name: 'UnixAuthenticationSettings', displayName: 'Unix Authentication Settings'}),
App.ServiceConfigCategory.create({ name: 'ADSettings', displayName: 'AD Settings'}),
App.ServiceConfigCategory.create({ name: 'LDAPSettings', displayName: 'LDAP Settings'}),
App.ServiceConfigCategory.create({ name: 'KnoxSSOSettings', displayName: 'Knox SSO Settings'})
]);
break;
case 'ACCUMULO':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
break;
case 'PIG':
break;
case 'SQOOP':
break;
case 'HAWQ':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
App.ServiceConfigCategory.create({ name: 'AdvancedHawqCheck', displayName: 'Advanced HAWQ Check'})
]);
break;
case 'LOGSEARCH':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'LogsearchAdminJson', displayName: 'Advanced logsearch-admin-json'})
]);
break;
default:
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
]);
}
serviceConfigCategories.pushObject(App.ServiceConfigCategory.create({ name: 'Advanced', displayName: 'Advanced'}));
var configTypes = this.get('configTypeList');
// Add Advanced section for every configType to all the services
configTypes.forEach(function (type) {
serviceConfigCategories.pushObject(App.ServiceConfigCategory.create({
name: 'Advanced ' + type,
displayName: Em.I18n.t('common.advanced') + " " + type,
canAddProperty: false
}));
}, this);
// Add custom section for every configType to all the services
configTypes.forEach(function (type) {
if (Em.getWithDefault(this.get('configTypes')[type] || {}, 'supports.adding_forbidden', 'true') === 'false') {
serviceConfigCategories.pushObject(App.ServiceConfigCategory.create({
name: 'Custom ' + type,
displayName: Em.I18n.t('common.custom') + " " + type,
siteFileName: type + '.xml',
canAddProperty: true
}));
}
}, this);
return serviceConfigCategories;
};