Browse Source

AMBARI-18826. Stack property definitions made in ambari-web should be made stack agnostic (akovalenko)

Aleksandr Kovalenko 9 years ago
parent
commit
2ce9e3b671
61 changed files with 3892 additions and 3717 deletions
  1. 1 4
      ambari-web/app/assets/test/tests.js
  2. 1 1
      ambari-web/app/controllers/main/admin/highAvailability/hawq/activateStandby/step2_controller.js
  3. 1 2
      ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step3_controller.js
  4. 1 2
      ambari-web/app/controllers/main/admin/highAvailability/journalNode/step2_controller.js
  5. 1 2
      ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js
  6. 1 1
      ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js
  7. 1 1
      ambari-web/app/controllers/main/host/details.js
  8. 1 1
      ambari-web/app/controllers/wizard/step7_controller.js
  9. 1 1
      ambari-web/app/controllers/wizard/step8_controller.js
  10. 0 119
      ambari-web/app/data/HDP2.2/hive_properties.js
  11. 0 275
      ambari-web/app/data/HDP2.2/site_properties.js
  12. 0 54
      ambari-web/app/data/HDP2.2/yarn_properties.js
  13. 0 373
      ambari-web/app/data/HDP2.3/site_properties.js
  14. 0 2579
      ambari-web/app/data/HDP2/site_properties.js
  15. 0 0
      ambari-web/app/data/configs/alert_notification.js
  16. 116 0
      ambari-web/app/data/configs/services/accumulo_properties.js
  17. 167 0
      ambari-web/app/data/configs/services/ambari_infra_properties.js
  18. 188 0
      ambari-web/app/data/configs/services/ambari_metrics_properties.js
  19. 302 0
      ambari-web/app/data/configs/services/falcon_properties.js
  20. 20 25
      ambari-web/app/data/configs/services/flume_properties.js
  21. 37 38
      ambari-web/app/data/configs/services/glusterfs_properties.js
  22. 110 0
      ambari-web/app/data/configs/services/hawq_properties.js
  23. 124 0
      ambari-web/app/data/configs/services/hbase_properties.js
  24. 164 0
      ambari-web/app/data/configs/services/hdfs_properties.js
  25. 590 0
      ambari-web/app/data/configs/services/hive_properties.js
  26. 66 0
      ambari-web/app/data/configs/services/kafka_properties.js
  27. 204 0
      ambari-web/app/data/configs/services/kerberos_properties.js
  28. 32 0
      ambari-web/app/data/configs/services/knox_properties.js
  29. 447 0
      ambari-web/app/data/configs/services/logsearch_properties.js
  30. 45 0
      ambari-web/app/data/configs/services/mapreduce2_properties.js
  31. 93 0
      ambari-web/app/data/configs/services/oozie_properties.js
  32. 309 0
      ambari-web/app/data/configs/services/ranger_properties.js
  33. 296 0
      ambari-web/app/data/configs/services/storm_properties.js
  34. 92 0
      ambari-web/app/data/configs/services/tez_properties.js
  35. 300 0
      ambari-web/app/data/configs/services/yarn_properties.js
  36. 67 0
      ambari-web/app/data/configs/services/zookeeper_properties.js
  37. 55 0
      ambari-web/app/data/configs/site_properties.js
  38. 0 0
      ambari-web/app/data/configs/ui_properties.js
  39. 0 0
      ambari-web/app/data/configs/wizards/ha_properties.js
  40. 0 0
      ambari-web/app/data/configs/wizards/hawq_activate_standby_properties.js
  41. 0 0
      ambari-web/app/data/configs/wizards/hawq_ha_properties.js
  42. 0 0
      ambari-web/app/data/configs/wizards/kerberos_descriptor_properties.js
  43. 0 0
      ambari-web/app/data/configs/wizards/kerberos_identities.js
  44. 0 0
      ambari-web/app/data/configs/wizards/move_journal_node_properties.js
  45. 0 0
      ambari-web/app/data/configs/wizards/rm_ha_properties.js
  46. 0 0
      ambari-web/app/data/configs/wizards/secure_mapping.js
  47. 0 2
      ambari-web/app/data/custom_stack_map.js
  48. 1 1
      ambari-web/app/mappers/configs/stack_config_properties_mapper.js
  49. 1 1
      ambari-web/app/mixins/wizard/addSecurityConfigs.js
  50. 12 1
      ambari-web/app/models/stack_service.js
  51. 4 21
      ambari-web/app/utils/config.js
  52. 3 2
      ambari-web/app/views/common/controls_view.js
  53. 4 2
      ambari-web/app/views/main/dashboard/widgets/hbase_links.js
  54. 2 1
      ambari-web/app/views/main/service/reassign/step5_view.js
  55. 1 1
      ambari-web/copy-pluggable-stack-resources.sh
  56. 22 3
      ambari-web/test/controllers/main/host/details_test.js
  57. 0 76
      ambari-web/test/data/HDP2.2/site_properties_test.js
  58. 0 76
      ambari-web/test/data/HDP2/site_properties_test.js
  59. 2 3
      ambari-web/test/data/configs/site_properties_test.js
  60. 5 5
      ambari-web/test/data/configs/wizards/secure_mapping_test.js
  61. 2 44
      ambari-web/test/utils/config_test.js

+ 1 - 4
ambari-web/app/assets/test/tests.js

@@ -38,10 +38,7 @@ var files = [
   'test/init_computed_aliases',
   'test/init_model_test',
   'test/app_test',
-  'test/data/HDP2/site_properties_test',
-  'test/data/HDP2/secure_mapping_test',
-  'test/data/HDP2.2/site_properties_test',
-  'test/data/HDP2.3/site_properties_test',
+  'test/data/configs/site_properties_test',
   'test/controllers/global/background_operations_test',
   'test/controllers/global/cluster_controller_test',
   'test/controllers/global/update_controller_test',

+ 1 - 1
ambari-web/app/controllers/main/admin/highAvailability/hawq/activateStandby/step2_controller.js

@@ -46,7 +46,7 @@ App.ActivateHawqStandbyWizardStep2Controller = Em.Controller.extend({
   renderConfigs: function () {
     newHawqMaster = App.HostComponent.find().findProperty('componentName','HAWQSTANDBY').get('hostName');
 
-    var configs = require('data/HDP2.3/hawq_activate_standby_properties').haConfig;
+    var configs = require('data/configs/wizards/hawq_activate_standby_properties').haConfig;
 
     var serviceConfig = App.ServiceConfig.create({
       serviceName: configs.serviceName,

+ 1 - 2
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step3_controller.js

@@ -60,7 +60,7 @@ App.AddHawqStandbyWizardStep3Controller = Em.Controller.extend({
    */
   renderConfigs: function () {
 
-    var configs = require('data/HDP2.3/hawq_ha_properties').haConfig;
+    var configs = require('data/configs/wizards/hawq_ha_properties').haConfig;
 
     var serviceConfig = App.ServiceConfig.create({
       serviceName: configs.serviceName,
@@ -157,4 +157,3 @@ App.AddHawqStandbyWizardStep3Controller = Em.Controller.extend({
   },
 
 });
-

+ 1 - 2
ambari-web/app/controllers/main/admin/highAvailability/journalNode/step2_controller.js

@@ -35,7 +35,7 @@ App.ManageJournalNodeWizardStep2Controller = Em.Controller.extend({
   selectedService: null,
   stepConfigs: [],
   serverConfigData: {},
-  moveJNConfig: $.extend(true, {}, require('data/HDP2/move_journal_node_properties').moveJNConfig),
+  moveJNConfig: $.extend(true, {}, require('data/configs/wizards/move_journal_node_properties').moveJNConfig),
   once: false,
   isLoaded: false,
   versionLoaded: true,
@@ -161,4 +161,3 @@ App.ManageJournalNodeWizardStep2Controller = Em.Controller.extend({
   isNextDisabled: Em.computed.not('isLoaded')
 
 });
-

+ 1 - 2
ambari-web/app/controllers/main/admin/highAvailability/nameNode/step3_controller.js

@@ -35,7 +35,7 @@ App.HighAvailabilityWizardStep3Controller = Em.Controller.extend({
   selectedService: null,
   stepConfigs: [],
   serverConfigData: {},
-  haConfig: $.extend(true, {}, require('data/HDP2/ha_properties').haConfig),
+  haConfig: $.extend(true, {}, require('data/configs/wizards/ha_properties').haConfig),
   once: false,
   isLoaded: false,
   versionLoaded: true,
@@ -339,4 +339,3 @@ App.HighAvailabilityWizardStep3Controller = Em.Controller.extend({
   isNextDisabled: Em.computed.not('isLoaded')
 
 });
-

+ 1 - 1
ambari-web/app/controllers/main/admin/highAvailability/resourceManager/step3_controller.js

@@ -49,7 +49,7 @@ App.RMHighAvailabilityWizardStep3Controller = Em.Controller.extend(App.Blueprint
    */
   renderConfigs: function () {
 
-    var configs = $.extend(true, {}, require('data/HDP2/rm_ha_properties').haConfig);
+    var configs = $.extend(true, {}, require('data/configs/wizards/rm_ha_properties').haConfig);
 
     var serviceConfig = App.ServiceConfig.create({
       serviceName: configs.serviceName,

+ 1 - 1
ambari-web/app/controllers/main/host/details.js

@@ -1257,7 +1257,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
    * @method updateStormConfigs
    */
   updateStormConfigs: function () {
-    if (App.Service.find('STORM').get('isLoaded') && App.get('isHadoop23Stack')) {
+    if (App.Service.find('STORM').get('isLoaded') && App.StackService.find('STORM').compareCurrentVersion('0.10') > -1) {
       this.loadConfigs("loadStormConfigs");
     }
   },

+ 1 - 1
ambari-web/app/controllers/wizard/step7_controller.js

@@ -68,7 +68,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
   /**
    * used in services_config.js view to mark a config with security icon
    */
-  secureConfigs: require('data/HDP2/secure_mapping'),
+  secureConfigs: require('data/configs/wizards/secure_mapping'),
 
   /**
    * If configChangeObserver Modal is shown

+ 1 - 1
ambari-web/app/controllers/wizard/step8_controller.js

@@ -1655,7 +1655,7 @@ App.WizardStep8Controller = Em.Controller.extend(App.AddSecurityConfigs, App.wiz
     var miscConfigs = this.get('configs').filterProperty('serviceName', 'MISC'),
       createNotification = miscConfigs.findProperty('name', 'create_notification').value;
     if (createNotification !== 'yes') return;
-      var predefinedNotificationConfigNames = require('data/HDP2/alert_notification').mapProperty('name'),
+      var predefinedNotificationConfigNames = require('data/configs/alert_notification').mapProperty('name'),
       configsForNotification = this.get('configs').filterProperty('filename', 'alert_notification');
     var properties = {},
       names = [

+ 0 - 119
ambari-web/app/data/HDP2.2/hive_properties.js

@@ -1,119 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-var hivePropsByCategory = {
-
-  'Performance': [
-    'hive.cbo.enable',
-    'hive.optimize.reducededuplication.min.reducer',
-    'hive.optimize.reducededuplication',
-    'hive.orc.splits.include.file.footer',
-    'hive.merge.mapfiles',
-    'hive.merge.mapredfiles',
-    'hive.merge.tezfiles',
-    'hive.merge.smallfiles.avgsize',
-    'hive.merge.size.per.task',
-    'hive.merge.orcfile.stripe.level',
-    'hive.auto.convert.join',
-    'hive.auto.convert.join.noconditionaltask',
-    'hive.auto.convert.join.noconditionaltask.size',
-    'hive.optimize.bucketmapjoin.sortedmerge',
-    'hive.tez.smb.number.waves',
-    'hive.map.aggr.hash.percentmemory',
-    'hive.map.aggr',
-    'hive.optimize.sort.dynamic.partition',
-    'hive.stats.autogather',
-    'hive.stats.fetch.column.stats',
-    'hive.vectorized.execution.enabled',
-    'hive.vectorized.execution.reduce.enabled',
-    'hive.vectorized.groupby.checkinterval',
-    'hive.vectorized.groupby.flush.percent',
-    'hive.limit.pushdown.memory.usage',
-    'hive.optimize.index.filter',
-    'hive.exec.reducers.bytes.per.reducer',
-    'hive.smbjoin.cache.rows',
-    'hive.exec.orc.default.stripe.size',
-    'hive.fetch.task.conversion',
-    'hive.fetch.task.conversion.threshold',
-    'hive.fetch.task.aggr',
-    'hive.compute.query.using.stats',
-    'hive.tez.auto.reducer.parallelism',
-    'hive.tez.max.partition.factor',
-    'hive.tez.min.partition.factor',
-    'hive.tez.dynamic.partition.pruning',
-    'hive.tez.dynamic.partition.pruning.max.event.size',
-    'hive.tez.dynamic.partition.pruning.max.data.size'
-  ],
-
-  'General': [
-    'hive.exec.pre.hooks',
-    'hive.exec.post.hooks',
-    'hive.exec.failure.hooks',
-    'hive.execution.engine',
-    'hive.exec.dynamic.partition',
-    'hive.exec.dynamic.partition.mode',
-    'hive.exec.max.dynamic.partitions',
-    'hive.exec.max.dynamic.partitions.pernode',
-    'hive.exec.max.created.files',
-    'hive.enforce.bucketing',
-    'datanucleus.cache.level2.type',
-    'hive.metastore.uris',
-    'hive.metastore.warehouse.dir',
-    'hive.exec.parallel.thread.number',
-    'hive.security.authorization.enabled',
-    'hive.security.authorization.manager',
-    'hive.security.metastore.authenticator.manager',
-    'hive.security.metastore.authorization.manager',
-    'hive.server2.authentication',
-    'hive.server2.enable.doAs',
-    'hive.server2.tez.default.queues',
-    'hive.server2.tez.initialize.default.sessions',
-    'hive.server2.tez.sessions.per.default.queue',
-    'hive.server2.thrift.http.path',
-    'hive.server2.thrift.http.port',
-    'hive.server2.thrift.max.worker.threads',
-    'hive.server2.thrift.port',
-    'hive.server2.thrift.sasl.qop',
-    'hive.server2.transport.mode',
-    'hive.server2.use.SSL',
-    'hive.tez.container.size',
-    'hive.tez.java.opts',
-    'hive.tez.log.level',
-    'hive.txn.manager',
-    'hive.txn.timeout',
-    'hive.txn.max.open.batch',
-    'hive.compactor.initiator.on',
-    'hive.compactor.worker.threads',
-    'hive.compactor.worker.timeout',
-    'hive.compactor.check.interval',
-    'hive.compactor.delta.num.threshold',
-    'hive.compactor.delta.pct.threshold'
-  ]
-};
-
-var hiveProps = [];
-
-for (var category in hivePropsByCategory) {
-  hiveProps = hiveProps.concat(App.config.generateConfigPropertiesByName(hivePropsByCategory[category], 
-    { category: category, serviceName: 'HIVE', filename: 'hive-site.xml'}));
-}
-
-module.exports = hiveProps;
-

+ 0 - 275
ambari-web/app/data/HDP2.2/site_properties.js

@@ -1,275 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-var hdp22SepcificProperties = [
-  require('data/HDP2.2/yarn_properties'),
-  require('data/HDP2.2/tez_properties'),
-  require('data/HDP2.2/hive_properties')
-].reduce(function(p, c) { return c.concat(p); });
-
-var hdp2properties = require('data/HDP2/site_properties').configProperties;
-var excludedConfigs = [
-  'storm.thrift.transport', //In HDP2.2 storm.thrift.transport property is computed on server
-  'tez.am.container.session.delay-allocation-millis',
-  'tez.am.grouping.max-size',
-  'tez.am.grouping.min-size',
-  'tez.am.grouping.split-waves',
-  'tez.am.java.opts',
-  'tez.runtime.intermediate-input.compress.codec',
-  'tez.runtime.intermediate-input.is-compressed',
-  'tez.runtime.intermediate-output.compress.codec',
-  'tez.runtime.intermediate-output.should-compress',
-  'hive.heapsize'
-];
-var hdp22properties = hdp2properties.filter(function (item) {
-  return !excludedConfigs.contains(item.name);
-});
-
-hdp22properties.push(
-  {
-    "name": "yarn.timeline-service.leveldb-state-store.path",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.state-store-class",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "*.falcon.graph.blueprints.graph",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.graph.storage.backend",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  /*********RANGER FOR HDFS************/
-  {
-    "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "dependentConfigPattern": "^XAAUDIT.HDFS",
-    "filename": "ranger-hdfs-plugin-properties.xml",
-    "serviceName": "HDFS"
-  },
-  {
-    "name": "ranger-hdfs-plugin-enabled",
-    "filename": "ranger-hdfs-plugin-properties.xml",
-    "serviceName": "HDFS",
-    "index": 1
-  },
-  /*********RANGER FOR HIVE************/
-  {
-    "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "dependentConfigPattern": "^XAAUDIT.HDFS",
-    "filename": "ranger-hive-plugin-properties.xml",
-    "serviceName": "HIVE"
-  },
-  /*********RANGER FOR HBASE************/
-  {
-    "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "dependentConfigPattern": "^XAAUDIT.HDFS",
-    "filename": "ranger-hbase-plugin-properties.xml",
-    "serviceName": "HBASE"
-  },
-  {
-    "name": "ranger-hbase-plugin-enabled",
-    "filename": "ranger-hbase-plugin-properties.xml",
-    "serviceName": "HBASE",
-    "index": 1
-  },
-  /*********RANGER FOR STORM************/
-  {
-    "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "dependentConfigPattern": "^XAAUDIT.HDFS",
-    "filename": "ranger-storm-plugin-properties.xml",
-    "serviceName": "STORM"
-  },
-  {
-    "name": "ranger-storm-plugin-enabled",
-    "filename": "ranger-storm-plugin-properties.xml",
-    "serviceName": "STORM",
-    "index": 1
-  },
-  /*********RANGER FOR KNOX************/
-  {
-    "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "dependentConfigPattern": "^XAAUDIT.HDFS",
-    "filename": "ranger-knox-plugin-properties.xml",
-    "serviceName": "KNOX"
-  },
-  {
-    "name": "ranger-knox-plugin-enabled",
-    "filename": "ranger-knox-plugin-properties.xml",
-    "serviceName": "KNOX",
-    "index": 1
-  },
-  /**********************************************RANGER***************************************/
-  {
-    "name": "ranger_admin_username",
-    "serviceName": "RANGER",
-    "filename": "ranger-env.xml",
-    "category": "RANGER_ADMIN",
-    "index": 0
-  },
-  {
-    "name": "ranger_admin_username",
-    "serviceName": "RANGER",
-    "filename": "ranger-env.xml",
-    "category": "RANGER_ADMIN",
-    "index": 0
-  },
-  {
-    "name": "ranger_admin_password",
-    "serviceName": "RANGER",
-    "filename": "ranger-env.xml",
-    "category": "RANGER_ADMIN",
-    "index": 1
-  },
-  {
-    "name": "SQL_CONNECTOR_JAR",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "RANGER_ADMIN",
-    "index": 2
-  },
-  {
-    "name": "SQL_COMMAND_INVOKER",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "DBSettings"
-  },
-  {
-    "name": "policymgr_external_url",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "policymgr_http_enabled",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "ranger_user",
-    "serviceName": "RANGER",
-    "filename": "ranger-env.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "ranger_group",
-    "serviceName": "RANGER",
-    "filename": "ranger-env.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "authentication_method",
-    "options": [
-      {
-        displayName: 'LDAP',
-        foreignKeys: ['xa_ldap_userDNpattern', 'xa_ldap_groupRoleAttribute', 'xa_ldap_url', 'xa_ldap_groupSearchBase', 'xa_ldap_groupSearchFilter']
-      },
-      {
-        displayName: 'ACTIVE_DIRECTORY',
-        foreignKeys: ['xa_ldap_ad_domain', 'xa_ldap_ad_url']
-      },
-      {
-        displayName: 'UNIX',
-        foreignKeys: ['remoteLoginEnabled', 'authServiceHostName', 'authServicePort']
-      },
-      {
-        displayName: 'NONE'
-      }
-    ],
-    "displayType": "radio button",
-    "radioName": "authentication-method",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "remoteLoginEnabled",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "UnixAuthenticationSettings"
-  },
-  {
-    "name": "authServiceHostName",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "UnixAuthenticationSettings"
-  },
-  {
-    "name": "authServicePort",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "UnixAuthenticationSettings"
-  },
-  {
-    "name": "xa_ldap_url",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "xa_ldap_userDNpattern",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "xa_ldap_groupRoleAttribute",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "xa_ldap_ad_domain",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "ADSettings"
-  },
-  {
-    "name": "xa_ldap_ad_url",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "ADSettings"
-  }
-);
-
-var additionalProperties = [];
-
-hdp22SepcificProperties.forEach(function (config) {
-  if (!hdp22properties.findProperty('name', config.name)) additionalProperties.push(config);
-  else {
-    hdp22properties.findProperty('name', config.name).category = config.category;
-  }
-});
-
-module.exports =
-{
-  "configProperties": hdp22properties.concat(additionalProperties)
-};

+ 0 - 54
ambari-web/app/data/HDP2.2/yarn_properties.js

@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var App = require('app');
-
-var yarnPropsToCategory = {
-
-  'FaultTolerance': [
-    'yarn.nodemanager.recovery.enabled',
-    'yarn.resourcemanager.recovery.enabled',
-    'yarn.resourcemanager.work-preserving-recovery.enabled',
-    'yarn.resourcemanager.zk-address',
-    'yarn.resourcemanager.connect.retry-interval.ms',
-    'yarn.resourcemanager.connect.max-wait.ms',
-    'yarn.resourcemanager.ha.enabled'
-  ],
-
-  'Isolation': [
-    'yarn.nodemanager.linux-container-executor.group',
-    'yarn.nodemanager.container-executor.class',
-    'yarn.nodemanager.linux-container-executor.resources-handler.class',
-    'yarn.nodemanager.linux-container-executor.cgroups.hierarchy',
-    'yarn.nodemanager.linux-container-executor.cgroups.mount',
-    'yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage'
-  ],
-
-  'CapacityScheduler': [
-    'yarn.nodemanager.resource.cpu-vcores',
-    'yarn.nodemanager.resource.percentage-physical-cpu-limit'
-  ]
-};
-
-var yarnProps = [];
-
-for (var category in yarnPropsToCategory) {
-  yarnProps = yarnProps.concat(App.config.generateConfigPropertiesByName(yarnPropsToCategory[category],
-    { category: category, serviceName: 'YARN', filename: 'yarn-site.xml'}));
-}
-
-module.exports = yarnProps;

+ 0 - 373
ambari-web/app/data/HDP2.3/site_properties.js

@@ -1,373 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-var hdp22properties = require('data/HDP2.2/site_properties').configProperties;
-
-var excludedConfigs = [
-  'nimbus.host',
-  'XAAUDIT.DB.IS_ENABLED',
-  'XAAUDIT.HDFS.IS_ENABLED',
-  'UPDATE_XAPOLICIES_ON_GRANT_REVOKE',
-  'authServiceHostName',
-  'authServicePort',
-  'authentication_method',
-  'remoteLoginEnabled',
-  'xa_ldap_url',
-  'xa_ldap_userDNpattern',
-  'xa_ldap_groupSearchBase',
-  'xa_ldap_groupSearchFilter',
-  'xa_ldap_groupRoleAttribute',
-  'ranger.ldap.base.dn',
-  'ranger.ldap.bind.dn',
-  'ranger.ldap.bind.password',
-  'ranger.ldap.referral',
-  'xa_ldap_userSearchFilter',
-  'xa_ldap_ad_domain',
-  'xa_ldap_ad_url',
-  'ranger.ldap.ad.base.dn',
-  'ranger.ldap.ad.bind.dn',
-  'ranger.ldap.ad.bind.password',
-  'ranger.ldap.ad.referral',
-  'xa_ldap_ad_userSearchFilter',
-  'policymgr_http_enabled',
-  'policymgr_external_url',
-  'hbase.regionserver.global.memstore.lowerLimit',
-  'hbase.regionserver.global.memstore.upperLimit',
-  "port",
-  "hive.metastore.heapsize",
-  "hive.client.heapsize",
-  "SQL_COMMAND_INVOKER",
-  "SYNC_LDAP_USER_SEARCH_FILTER"
-];
-
-var hdp23properties = hdp22properties.filter(function (item) {
-  return !excludedConfigs.contains(item.name);
-});
-
-hdp23properties.push({
-  /**************************************** RANGER - HDFS Plugin ***************************************/
-
-    "name": "ranger-yarn-plugin-enabled",
-    "filename": "ranger-yarn-plugin-properties.xml",
-    "serviceName": "YARN",
-    "index": 1
-  },
-  {
-    "name": "ranger-kafka-plugin-enabled",
-    "filename": "ranger-kafka-plugin-properties.xml",
-    "serviceName": "KAFKA",
-    "index": 1
-  },
-  {
-    "name": "nimbus.seeds",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "ranger.externalurl",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "ranger.service.http.enabled",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "ranger.authentication.method",
-    "options": [
-      {
-        displayName: 'LDAP',
-        foreignKeys: ['ranger.ldap.group.roleattribute', 'ranger.ldap.url', 'ranger.ldap.user.dnpattern','ranger.ldap.base.dn','ranger.ldap.bind.dn','ranger.ldap.bind.password','ranger.ldap.referral','ranger.ldap.user.searchfilter']
-      },
-      {
-        displayName: 'ACTIVE_DIRECTORY',
-        foreignKeys: ['ranger.ldap.ad.domain','ranger.ldap.ad.url','ranger.ldap.ad.base.dn','ranger.ldap.ad.bind.dn','ranger.ldap.ad.bind.password','ranger.ldap.ad.referral','ranger.ldap.ad.user.searchfilter']
-      },
-      {
-         displayName: 'PAM'
-      },
-      {
-        displayName: 'UNIX',
-        foreignKeys: ['ranger.unixauth.service.port', 'ranger.unixauth.service.hostname', 'ranger.unixauth.remote.login.enabled']
-      },
-      {
-        displayName: 'NONE'
-      }
-    ],
-    "displayType": "radio button",
-    "radioName": "authentication-method",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "policymgr_external_url",
-    "serviceName": "RANGER",
-    "filename": "admin-properties.xml",
-    "category": "RangerSettings"
-  },
-  {
-    "name": "ranger.unixauth.remote.login.enabled",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "UnixAuthenticationSettings"
-  },
-  {
-    "name": "ranger.unixauth.service.hostname",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "UnixAuthenticationSettings"
-  },
-  {
-    "name": "ranger.unixauth.service.port",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "UnixAuthenticationSettings"
-  },
-  {
-    "name": "ranger.ldap.url",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "ranger.ldap.user.dnpattern",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "ranger.ldap.group.roleattribute",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "ranger.ldap.base.dn",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "ranger.ldap.bind.dn",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "ranger.ldap.bind.password",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "ranger.ldap.referral",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "ranger.ldap.user.searchfilter",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "LDAPSettings"
-  },
-  {
-    "name": "ranger.sso.providerurl",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "KnoxSSOSettings",
-    "index": 2
-  },
-  {
-    "name": "ranger.sso.publicKey",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "KnoxSSOSettings",
-    "index": 3
-  },
-  {
-    "name": "ranger.sso.cookiename",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "KnoxSSOSettings"
-  },
-  {
-    "name": "ranger.sso.enabled",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "KnoxSSOSettings",
-    "index": 1
-  },
-  {
-    "name": "ranger.sso.query.param.originalurl",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "KnoxSSOSettings"
-  },
-  {
-    "name": "ranger.sso.browser.useragent",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "KnoxSSOSettings"
-  },
-  {
-    "name": "ranger.ldap.ad.domain",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "ADSettings"
-  },
-  {
-    "name": "ranger.ldap.ad.url",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "ADSettings"
-  },
-  {
-    "name": "ranger.ldap.ad.base.dn",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "ADSettings"
-  },
-  {
-    "name": "ranger.ldap.ad.bind.dn",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "ADSettings"
-  },
-  {
-    "name": "ranger.ldap.ad.bind.password",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "ADSettings"
-  },
-  {
-    "name": "ranger.ldap.ad.referral",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "ADSettings"
-  },
-  {
-    "name": "ranger.ldap.ad.user.searchfilter",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "ADSettings"
-  },
-  /*********************************************** HAWQ **********************************************/
-  {
-    "name": "hawq_master_address_host",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 0
-  },
-  {
-    "name": "hawq_standby_address_host",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 1
-  },
-  {
-    "name": "hawq_master_address_port",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 2
-  },
-  {
-    "name": "hawq_segment_address_port",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 3
-  },
-  {
-    "name": "hawq_dfs_url",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 4
-  },
-  {
-    "name": "hawq_master_directory",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 5
-  },
-  {
-    "name": "hawq_master_temp_directory",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 6
-  },
-  {
-    "name": "hawq_segment_directory",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 7
-  },
-  {
-    "name": "hawq_segment_temp_directory",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 8
-  },
-  {
-    "name": "default_segment_num",
-    "filename": "hawq-site.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 9
-  },
-  {
-    "name": "hawq_ssh_exkeys",
-    "filename": "hawq-env.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 10
-  },
-  {
-    "name": "hawq_password",
-    "filename": "hawq-env.xml",
-    "category": "General",
-    "serviceName": "HAWQ",
-    "index": 11
-  },
-  {
-    "name": "content",
-    "serviceName": "HAWQ",
-    "filename": "hawq-check-env.xml",
-    "category": "AdvancedHawqCheck"
-  }
-);
-
-module.exports =
-{
-  "configProperties": hdp23properties
-};

+ 0 - 2579
ambari-web/app/data/HDP2/site_properties.js

@@ -1,2579 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-var hdp2properties = [
-  //***************************************** HDP stack **************************************
-  /**********************************************HDFS***************************************/
-  {
-    "name": "dfs.namenode.checkpoint.dir",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "category": "SECONDARY_NAMENODE",
-    "index": 1
-  },
-  {
-    "name": "dfs.namenode.checkpoint.period",
-    "category": "General",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "index": 3
-  },
-  {
-    "name": "dfs.namenode.name.dir",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "category": "NAMENODE",
-    "index": 1
-  },
-  {
-    "name": "dfs.webhdfs.enabled",
-    "category": "General",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "index": 0
-  },
-  {
-    "name": "dfs.datanode.failed.volumes.tolerated",
-    "category": "DATANODE",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "index": 3
-  },
-  {
-    "name": "dfs.datanode.data.dir",
-    "category": "DATANODE",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "index": 1
-  },
-  {
-    "name": "dfs.datanode.data.dir.perm",
-    "category": "DATANODE",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml"
-  },
-  {
-    "name": "nfs.file.dump.dir",
-    "category": "NFS_GATEWAY",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "index": 1
-  },
-  {
-    "name": "dfs.namenode.accesstime.precision",
-    "category": "General",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "index": 2
-  },
-  {
-    "name": "nfs.exports.allowed.hosts",
-    "category": "NFS_GATEWAY",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "index": 3
-  },
-  {
-    "name": "dfs.replication",
-    "category": "General",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml"
-  },
-  {
-    "name": "dfs.datanode.du.reserved",
-    "category": "General",
-    "serviceName": "HDFS",
-    "filename": "hdfs-site.xml",
-    "index": 2
-  },
-  {
-    "name": "namenode_heapsize",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "NAMENODE",
-    "index": 2
-  },
-  {
-    "name": "namenode_opt_newsize",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "NAMENODE",
-    "index": 3
-  },
-  {
-    "name": "namenode_opt_permsize",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "NAMENODE",
-    "index": 5
-  },
-  {
-    "name": "namenode_opt_maxpermsize",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "NAMENODE",
-    "index": 6
-  },
-  {
-    "name": "namenode_opt_maxnewsize",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "NAMENODE",
-    "index": 4
-  },
-  {
-    "name": "dtnode_heapsize",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "DATANODE",
-    "index": 2
-  },
-  {
-    "name": "nfsgateway_heapsize",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "NFS_GATEWAY",
-    "index": 1
-  },
-  {
-    "name": "hadoop_heapsize",
-    "serviceName": "HDFS",
-    "filename": "hadoop-env.xml",
-    "category": "General",
-    "index": 1
-  },
-
-/**********************************************YARN***************************************/
-  {
-    "name": "yarn.acl.enable",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "RESOURCEMANAGER"
-  },
-  {
-    "name": "yarn.admin.acl",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "RESOURCEMANAGER"
-  },
-  {
-    "name": "yarn.log-aggregation-enable",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "RESOURCEMANAGER"
-  },
-  {
-    "name": "yarn.resourcemanager.scheduler.class",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "CapacityScheduler"
-  },
-  {
-    "name": "yarn.scheduler.minimum-allocation-mb",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "CapacityScheduler"
-  },
-  {
-    "name": "yarn.scheduler.maximum-allocation-mb",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "CapacityScheduler"
-  },
-  {
-    "name": "yarn.nodemanager.resource.memory-mb",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "NODEMANAGER"
-  },
-  {
-    "name": "yarn.nodemanager.vmem-pmem-ratio",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "NODEMANAGER"
-  },
-  {
-    "name": "yarn.nodemanager.linux-container-executor.group",
-    "serviceName": "YARN",
-    "category": "NODEMANAGER",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.nodemanager.log-dirs",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "NODEMANAGER"
-  },
-  {
-    "name": "yarn.nodemanager.local-dirs",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "NODEMANAGER"
-  },
-  {
-    "name": "yarn.nodemanager.remote-app-log-dir",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "NODEMANAGER"
-  },
-  {
-    "name": "yarn.nodemanager.remote-app-log-dir-suffix",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "NODEMANAGER"
-  },
-  {
-    "name": "yarn.nodemanager.aux-services",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "NODEMANAGER"
-  },
-  {
-    "name": "yarn.nodemanager.log.retain-second",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml",
-    "category": "NODEMANAGER"
-  },
-  {
-    "name": "yarn_heapsize",
-    "serviceName": "YARN",
-    "filename": "yarn-env.xml",
-    "category": "General",
-    "index": 0
-  },
-  {
-    "name": "resourcemanager_heapsize",
-    "serviceName": "YARN",
-    "filename": "yarn-env.xml",
-    "category": "RESOURCEMANAGER",
-    "index": 1
-  },
-  {
-    "name": "nodemanager_heapsize",
-    "serviceName": "YARN",
-    "filename": "yarn-env.xml",
-    "category": "NODEMANAGER",
-    "index": 1
-  },
-  {
-    "name": "apptimelineserver_heapsize",
-    "serviceName": "YARN",
-    "filename": "yarn-env.xml",
-    "category": "APP_TIMELINE_SERVER",
-    "index": 1
-  },
-/**********************************************MAPREDUCE2***************************************/
-  {
-    "name": "mapreduce.map.memory.mb",
-    "category": "General",
-    "serviceName": "MAPREDUCE2",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "mapreduce.reduce.memory.mb",
-    "category": "General",
-    "serviceName": "MAPREDUCE2",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "mapreduce.task.io.sort.mb",
-    "category": "General",
-    "serviceName": "MAPREDUCE2",
-    "filename": "mapred-site.xml"
-  },
-  {
-    "name": "jobhistory_heapsize",
-    "serviceName": "MAPREDUCE2",
-    "filename": "mapred-env.xml",
-    "category": "HISTORYSERVER",
-    "index": 1
-  },
-/**********************************************oozie-site***************************************/
-  {
-    "name": "oozie.db.schema.name",
-    "category": "OOZIE_SERVER",
-    "serviceName": "OOZIE",
-    "filename": "oozie-site.xml",
-    "index": 4
-  },
-  {
-    "name": "oozie.service.JPAService.jdbc.username",
-    "category": "OOZIE_SERVER",
-    "serviceName": "OOZIE",
-    "filename": "oozie-site.xml",
-    "index": 5
-  },
-  {
-    "name": "oozie.service.JPAService.jdbc.password",
-    "category": "OOZIE_SERVER",
-    "serviceName": "OOZIE",
-    "filename": "oozie-site.xml",
-    "index": 6
-  },
-  {
-    "name": "oozie.service.JPAService.jdbc.driver", // the default value of this property is overriden in code
-    "category": "OOZIE_SERVER",
-    "serviceName": "OOZIE",
-    "filename": "oozie-site.xml",
-    "index": 7
-  },
-  {
-    "name": "oozie.service.JPAService.jdbc.url",
-    "category": "OOZIE_SERVER",
-    "serviceName": "OOZIE",
-    "filename": "oozie-site.xml",
-    "index": 8
-  },
-  {
-    "name": "oozie_database",
-    "options": [
-      {
-        displayName: 'New Derby Database',
-        hidden: false
-      },
-      {
-        displayName: 'Existing MySQL / MariaDB Database',
-        hidden: false
-      },
-      {
-        displayName: 'Existing PostgreSQL Database',
-        hidden: false
-      },
-      {
-        displayName: 'Existing Oracle Database',
-        hidden: false
-      },
-      {
-        displayName: 'Existing SQL Anywhere Database',
-        hidden: App.get('currentStackName') !== 'SAPHD' && (App.get('currentStackName') !== 'HDP' || !App.get('isHadoop23Stack'))
-      }
-    ],
-    "displayType": "radio button",
-    "radioName": "oozie-database",
-    "serviceName": "OOZIE",
-    "filename": "oozie-env.xml",
-    "category": "OOZIE_SERVER",
-    "index": 2
-  },
-  {
-    "name": "oozie_data_dir",
-    "serviceName": "OOZIE",
-    "filename": "oozie-env.xml",
-    "category": "OOZIE_SERVER",
-    "index": 9
-  },
-
-/**********************************************HIVE***************************************/
-  {
-    "name": "javax.jdo.option.ConnectionDriverName",  // the default value is overwritten in code
-    "category": "HIVE_METASTORE",
-    "serviceName": "HIVE",
-    "filename": "hive-site.xml",
-    "index": 7
-  },
-  {
-    "name": "hive.metastore.heapsize",  // the default value is overwritten in code
-    "category": "HIVE_METASTORE",
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "index": 11
-  },
-  {
-    "name": "hive.heapsize",
-    "serviceName": "HIVE",
-    "filename": "hive-site.xml",
-    "category": "HIVE_SERVER2",
-    "index": 9
-  },
-  {
-    "name": "hive.client.heapsize",
-    "category": "HIVE_CLIENT",
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "index": 10
-  },
-  {
-    "name": "javax.jdo.option.ConnectionUserName",
-    "category": "HIVE_METASTORE",
-    "serviceName": "HIVE",
-    "filename": "hive-site.xml",
-    "index": 5
-  },
-  {
-    "name": "javax.jdo.option.ConnectionPassword",
-    "category": "HIVE_METASTORE",
-    "serviceName": "HIVE",
-    "filename": "hive-site.xml",
-    "index": 6
-  },
-  {
-    "name": "javax.jdo.option.ConnectionURL",
-    "category": "HIVE_METASTORE",
-    "serviceName": "HIVE",
-    "filename": "hive-site.xml",
-    "index": 8
-  },
-  {
-    "name": "ambari.hive.db.schema.name",
-    "serviceName": "HIVE",
-    "filename": "hive-site.xml",
-    "category": "HIVE_METASTORE",
-    "index": 4
-  },
-  {
-    "name": "hive_database",
-    "options": [
-      {
-        displayName: 'New MySQL Database',
-        hidden: false
-      },
-      {
-        displayName: 'Existing MySQL / MariaDB Database',
-        hidden: false
-      },
-      {
-        displayName: 'Existing PostgreSQL Database',
-        hidden: false
-      },
-      {
-        displayName: 'Existing Oracle Database',
-        hidden: false
-      },
-      {
-        displayName: 'Existing SQL Anywhere Database',
-        hidden: App.get('currentStackName') !== 'SAPHD' && (App.get('currentStackName') !== 'HDP' || !App.get('isHadoop23Stack'))
-      }
-    ],
-    "displayType": "radio button",
-    "radioName": "hive-database",
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "category": "HIVE_METASTORE",
-    "index": 2
-  },
-  {
-    "name": "hcat_log_dir",
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "category": "Advanced webhcat-env"
-  },
-  {
-    "name": "hcat_pid_dir",
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "category": "Advanced webhcat-env"
-  },
-  {
-    "name": "hive_database_type",
-    "serviceName": "HIVE",
-    "filename": "hive-env.xml",
-    "category": "HIVE_METASTORE"
-  },
-/**********************************************TEZ*****************************************/
-  {
-    "name": "tez.am.resource.memory.mb",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.am.java.opts",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.am.grouping.split-waves",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.am.grouping.min-size",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.am.grouping.max-size",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.am.log.level",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.runtime.intermediate-input.compress.codec",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.runtime.intermediate-input.is-compressed",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.runtime.intermediate-output.compress.codec",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-  {
-    "name": "tez.runtime.intermediate-output.should-compress",
-    "category": "General",
-    "serviceName": "TEZ",
-    "filename": "tez-site.xml"
-  },
-
-/**********************************************HBASE***************************************/
-  {
-    "name": "hbase.hstore.compactionThreshold",
-    "category": "General",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 0
-  },
-  {
-    "name": "hfile.block.cache.size",
-    "category": "General",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 1
-  },
-  {
-    "name": "hbase.hregion.max.filesize",
-    "category": "General",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 2
-  },
-  {
-    "name": "hbase.regionserver.handler.count",
-    "category": "HBASE_REGIONSERVER",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 2
-  },
-  {
-    "name": "hbase.hregion.majorcompaction",
-    "category": "HBASE_REGIONSERVER",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 3
-  },
-  {
-    "name": "hbase.hregion.memstore.block.multiplier",
-    "category": "HBASE_REGIONSERVER",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 4
-  },
-  {
-    "name": "hbase.hregion.memstore.flush.size",
-    "category": "HBASE_REGIONSERVER",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 5
-  },
-  {
-    "name": "hbase.client.scanner.caching",
-    "category": "General",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 3
-  },
-  {
-    "name": "zookeeper.session.timeout",
-    "category": "General",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 4
-  },
-  {
-    "name": "hbase.client.keyvalue.maxsize",
-    "category": "General",
-    "serviceName": "HBASE",
-    "filename": "hbase-site.xml",
-    "index": 5
-  },
-  {
-    "name": "hbase_master_heapsize",
-    "serviceName": "HBASE",
-    "filename": "hbase-env.xml",
-    "category": "HBASE_MASTER",
-    "index": 1
-  },
-  {
-    "name": "hbase_regionserver_heapsize",
-    "serviceName": "HBASE",
-    "filename": "hbase-env.xml",
-    "category": "HBASE_REGIONSERVER",
-    "index": 1
-  },
-  {
-    "name": "hbase_regionserver_xmn_max",
-    "serviceName": "HBASE",
-    "filename": "hbase-env.xml",
-    "category": "HBASE_REGIONSERVER",
-    "index": 6
-  },
-  {
-    "name": "hbase_regionserver_xmn_ratio",
-    "serviceName": "HBASE",
-    "filename": "hbase-env.xml",
-    "category": "HBASE_REGIONSERVER",
-    "index": 7
-  },
-
-/**********************************************storm-site***************************************/
-  {
-    "name": "storm.zookeeper.root",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.local.dir",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.zookeeper.servers",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.zookeeper.port",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.zookeeper.session.timeout",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.zookeeper.connection.timeout",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.zookeeper.retry.times",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.zookeeper.retry.interval",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.zookeeper.retry.intervalceiling.millis",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.cluster.mode",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.local.mode.zmq",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.thrift.transport",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.messaging.transport",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "storm.messaging.netty.buffer_size",
-    "category": "General",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "serviceName": "STORM",
-    "category": "General",
-    "name": "storm.messaging.netty.max_retries",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "storm.messaging.netty.max_wait_ms",
-    "category": "General",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "storm.messaging.netty.min_wait_ms",
-    "category": "General",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "storm.messaging.netty.server_worker_threads",
-    "category": "General",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "storm.messaging.netty.client_worker_threads",
-    "category": "General",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "nimbus.host",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.thrift.port",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.thrift.max_buffer_size",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.childopts",
-    "serviceName": "STORM",
-    "category": "NIMBUS",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "nimbus.task.timeout.secs",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.supervisor.timeout.secs",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.monitor.freq.secs",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.cleanup.inbox.freq.secs",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.inbox.jar.expiration.secs",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.task.launch.secs",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.reassign",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.file.copy.expiration.secs",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "nimbus.topology.validator",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "NIMBUS"
-  },
-  {
-    "name": "supervisor.slots.ports",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml",
-    "category": "SUPERVISOR"
-  },
-  {
-    "name": "supervisor.childopts",
-    "category": "SUPERVISOR",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "supervisor.worker.start.timeout.secs",
-    "category": "SUPERVISOR",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "supervisor.worker.timeout.secs",
-    "category": "SUPERVISOR",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "supervisor.monitor.frequency.secs",
-    "category": "SUPERVISOR",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "supervisor.heartbeat.frequency.secs",
-    "category": "SUPERVISOR",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "drpc.port",
-    "category": "DRPC_SERVER",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "drpc.worker.threads",
-    "category": "DRPC_SERVER",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "drpc.queue.size",
-    "category": "DRPC_SERVER",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "drpc.invocations.port",
-    "category": "DRPC_SERVER",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "drpc.request.timeout.secs",
-    "category": "DRPC_SERVER",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "drpc.childopts",
-    "category": "DRPC_SERVER",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "ui.port",
-    "category": "STORM_UI_SERVER",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-  {
-    "name": "ui.childopts",
-    "category": "STORM_UI_SERVER",
-    "serviceName": "STORM",
-    "filename": "storm-site.xml"
-  },
-/*********************************************oozie-site for Falcon*****************************/
-  {
-    "name": "oozie.service.ELService.ext.functions.coord-job-submit-instances",
-    "category": "Falcon - Oozie integration",
-    "serviceName": "FALCON",
-    "filename": "oozie-site.xml"
-  },
-  {
-    "serviceName": "FALCON",
-    "category": "Falcon - Oozie integration",
-    "name": "oozie.service.ELService.ext.functions.coord-action-create-inst",
-    "filename": "oozie-site.xml"
-  },
-  {
-    "serviceName": "FALCON",
-    "category": "Falcon - Oozie integration",
-    "name": "oozie.service.ELService.ext.functions.coord-action-create",
-    "filename": "oozie-site.xml"
-  },
-  {
-    "serviceName": "FALCON",
-    "category": "Falcon - Oozie integration",
-    "name": "oozie.service.ELService.ext.functions.coord-job-submit-data",
-    "filename": "oozie-site.xml"
-  },
-  {
-    "serviceName": "FALCON",
-    "category": "Falcon - Oozie integration",
-    "name": "oozie.service.ELService.ext.functions.coord-action-start",
-    "filename": "oozie-site.xml"
-  },
-  {
-    "serviceName": "FALCON",
-    "category": "Falcon - Oozie integration",
-    "name": "oozie.service.ELService.ext.functions.coord-sla-submit",
-    "filename": "oozie-site.xml"
-  },
-  {
-    "serviceName": "FALCON",
-    "category": "Falcon - Oozie integration",
-    "name": "oozie.service.ELService.ext.functions.coord-sla-create",
-    "filename": "oozie-site.xml"
-  },
-
-  // Runtime properties
-  {
-    "name": "*.domain",
-    "category": "FalconRuntimeSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-runtime.properties.xml"
-
-  },
-  {
-    "name": "*.log.cleanup.frequency.minutes.retention",
-    "category": "FalconRuntimeSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-runtime.properties.xml"
-  },
-  {
-    "name": "*.log.cleanup.frequency.hours.retention",
-    "category": "FalconRuntimeSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-runtime.properties.xml"
-  },
-  {
-    "name": "*.log.cleanup.frequency.days.retention",
-    "category": "FalconRuntimeSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-runtime.properties.xml"
-  },
-  {
-    "name": "*.log.cleanup.frequency.months.retention",
-    "category": "FalconRuntimeSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-runtime.properties.xml"
-  },
-
-  //  Startup properties
-
-  {
-    "name": "*.domain",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.workflow.engine.impl",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.oozie.process.workflow.builder",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.oozie.feed.workflow.builder",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.SchedulableEntityManager.impl",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.ConfigSyncService.impl",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.ProcessInstanceManager.impl",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.catalog.service.impl",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.application.services",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.configstore.listeners",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.broker.impl.class",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.shared.libs",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.config.store.uri",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.system.lib.location",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.retry.recorder.path",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.cleanup.service.frequency",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.broker.url",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.broker.ttlInMins",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.entity.topic",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.max.retry.failure.count",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.internal.queue.size",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.authentication.type",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.http.authentication.type",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.http.authentication.token.validity",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.http.authentication.signature.secret",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.http.authentication.simple.anonymous.allowed",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.http.authentication.kerberos.name.rules",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.http.authentication.blacklisted.users",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-
-  // Falcon Graph and Storage
-  {
-    "name": "*.falcon.graph.storage.directory",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.graph.serialize.path",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-  {
-    "name": "*.falcon.graph.preserve.history",
-    "category": "FalconStartupSite",
-    "serviceName": "FALCON",
-    "filename": "falcon-startup.properties.xml"
-  },
-
-/**********************************************KNOX*****************************************/
-  {
-    "name": "knox_master_secret",
-    "serviceName": "KNOX",
-    "filename": "knox-env.xml",
-    "category": "KNOX_GATEWAY"
-  },
-
-/********************************************* KAFKA *****************************/
-  {
-    "name": "log.dirs",
-    "serviceName": "KAFKA",
-    "filename": "kafka-broker.xml",
-    "category": "KAFKA_BROKER",
-    "index": 1
-  },
-  {
-    "name": "port",
-    "serviceName": "KAFKA",
-    "filename": "kafka-broker.xml",
-    "category": "KAFKA_BROKER",
-    "index": 2
-  },
-    {
-    "name": "listeners",
-    "serviceName": "KAFKA",
-    "filename": "kafka-broker.xml",
-    "category": "KAFKA_BROKER"
-  },
-  {
-    "name": "log.roll.hours",
-    "serviceName": "KAFKA",
-    "filename": "kafka-broker.xml",
-    "category": "KAFKA_BROKER",
-    "index": 0
-  },
-  {
-    "name": "log.retention.hours",
-    "serviceName": "KAFKA",
-    "filename": "kafka-broker.xml",
-    "category": "KAFKA_BROKER",
-    "index": 0
-  },
-  {
-    "name": "zookeeper.connect",
-    "serviceName": "KAFKA",
-    "filename": "kafka-broker.xml",
-    "category": "KAFKA_BROKER",
-    "index": 0
-  },
-  {
-    "name": "kafka_pid_dir",
-    "serviceName": "KAFKA",
-    "filename": "kafka-env.xml",
-    "index": 0
-  },
-
-/********************************************* ACCUMULO *****************************/
-  {
-    "name": "accumulo_instance_name",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-env.xml",
-    "category": "General"
-  },
-  {
-    "name": "accumulo_root_password",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-env.xml",
-    "category": "General"
-  },
-  {
-    "name": "trace.user",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "category": "General"
-  },
-  {
-    "name": "trace_password",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-env.xml",
-    "category": "General"
-  },
-  {
-    "name": "instance_secret",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-env.xml",
-    "category": "General"
-  },
-  {
-    "name": "instance.volumes",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 0
-  },
-  {
-    "name": "instance.zookeeper.host",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 1
-  },
-  {
-    "name": "instance.zookeeper.timeout",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 2
-  },
-  {
-    "name": "master.port.client",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 3
-  },
-  {
-    "name": "tserver.port.client",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 4
-  },
-  {
-    "name": "monitor.port.client",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 5
-  },
-  {
-    "name": "monitor.port.log4j",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 6
-  },
-  {
-    "name": "gc.port.client",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 7
-  },
-  {
-    "name": "trace.port.client",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 8
-  },
-  {
-    "name": "tserver.memory.maps.native.enabled",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 9
-  },
-  {
-    "name": "general.classpaths",
-    "serviceName": "ACCUMULO",
-    "filename": "accumulo-site.xml",
-    "index": 10
-  },
-
-/*******************************************kerberos***********************************/
-  {
-    "name": "kdc_type",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "KDC",
-    "index": 0
-  },
-  {
-    "name": "kdc_hosts",
-    "displayType": "supportTextConnection",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "KDC",
-    "index": 1
-  },
-  {
-    "name": "realm",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "KDC",
-    "index": 2
-  },
-  {
-    "name": "ldap_url",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "KDC",
-    "index": 3
-  },
-  {
-    "name": "container_dn",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "KDC",
-    "index": 4
-  },
-  {
-    "name": "domains",
-    "serviceName": "KERBEROS",
-    "filename": "krb5-conf.xml",
-    "category": "KDC",
-    "index": 5
-  },
-  {
-    "name": "manage_identities",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 0
-  },
-  {
-    "name": "install_packages",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 1
-  },
-  {
-    "name": "executable_search_paths",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 2
-  },
-  {
-    "name": "encryption_types",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 3
-  },
-  {
-    "name": "password_length",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 4
-  },
-  {
-    "name": "password_min_lowercase_letters",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 5
-  },
-  {
-    "name": "password_min_uppercase_letters",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 6
-  },
-  {
-    "name": "password_min_digits",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 7
-  },
-  {
-    "name": "password_min_punctuation",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 8
-  },
-  {
-    "name": "password_min_whitespace",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 9
-  },
-  {
-    "name": "service_check_principal_name",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 10
-  },
-  {
-    "name": "ad_create_attributes_template",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 11
-  },
-  {
-    "name": "kdc_create_attributes",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 12
-  },
-  {
-    "name": "case_insensitive_username_rules",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 13
-  },
-  {
-    "name": "manage_auth_to_local",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index" : 14
-  },
-  {
-    "name": "group",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Advanced kerberos-env",
-    "index": 15
-  },
-  {
-    "name": "admin_server_host",
-    "serviceName": "KERBEROS",
-    "filename": "kerberos-env.xml",
-    "category": "Kadmin",
-    "index": 0
-  },
-  {
-    "name": "manage_krb5_conf",
-    "dependentConfigPattern": "CATEGORY",
-    "serviceName": "KERBEROS",
-    "filename": "krb5-conf.xml",
-    "category": "Advanced krb5-conf",
-    "index": 0
-  },
-  {
-    "name": "conf_dir",
-    "serviceName": "KERBEROS",
-    "filename": "krb5-conf.xml",
-    "category": "Advanced krb5-conf",
-    "index": 1
-  },
-  {
-    "name": "content",
-    "serviceName": "KERBEROS",
-    "filename": "krb5-conf.xml",
-    "category": "Advanced krb5-conf",
-    "index": 2
-  },
-/********************************************* flume-agent *****************************/
-  {
-    "name": "content",
-    "serviceName": "FLUME",
-    "category": "FLUME_HANDLER",
-    "filename": "flume-conf.xml"
-  },
-  {
-    "name": "flume_conf_dir",
-    "serviceName": "FLUME",
-    "filename": "flume-env.xml",
-    "index": 0
-  },
-  {
-    "name": "flume_log_dir",
-    "serviceName": "FLUME",
-    "filename": "flume-env.xml",
-    "index": 1
-  },
-
-/**********************************************ZOOKEEPER***************************************/
-  {
-    "name": "dataDir",
-    "serviceName": "ZOOKEEPER",
-    "filename": "zoo.cfg.xml",
-    "category": "ZOOKEEPER_SERVER",
-    "index": 1
-  },
-  {
-    "name": "tickTime",
-    "serviceName": "ZOOKEEPER",
-    "filename": "zoo.cfg.xml",
-    "category": "ZOOKEEPER_SERVER",
-    "index": 2
-  },
-  {
-    "name": "initLimit",
-    "serviceName": "ZOOKEEPER",
-    "filename": "zoo.cfg.xml",
-    "category": "ZOOKEEPER_SERVER",
-    "index": 3
-  },
-  {
-    "name": "syncLimit",
-    "serviceName": "ZOOKEEPER",
-    "filename": "zoo.cfg.xml",
-    "category": "ZOOKEEPER_SERVER",
-    "index": 4
-  },
-  {
-    "name": "clientPort",
-    "serviceName": "ZOOKEEPER",
-    "filename": "zoo.cfg.xml",
-    "category": "ZOOKEEPER_SERVER",
-    "index": 5
-  },
-  {
-    "name": "zk_log_dir",
-    "serviceName": "ZOOKEEPER",
-    "filename": "zookeeper-env.xml",
-    "index": 0
-  },
-  {
-    "name": "zk_pid_dir",
-    "serviceName": "ZOOKEEPER",
-    "filename": "zookeeper-env.xml",
-    "index": 1
-  },
-/**********************************************FALCON***************************************/
-  {
-    "name": "falcon_port",
-    "serviceName": "FALCON",
-    "filename": "falcon-env.xml",
-    "category": "FALCON_SERVER"
-  },
-  {
-    "name": "falcon_local_dir",
-    "serviceName": "FALCON",
-    "filename": "falcon-env.xml",
-    "category": "FALCON_SERVER"
-  },
-/************************************************AMBARI_METRICS******************************************/
-  {
-    "name": "timeline.metrics.service.operation.mode",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "General",
-    "index": 1
-  },
-  {
-    "name": "metrics_collector_log_dir",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-env.xml",
-    "category": "General",
-    "index": 2
-  },
-  {
-    "name": "metrics_collector_pid_dir",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-env.xml",
-    "category": "General",
-    "index": 3
-  },
-  {
-    "name": "metrics_monitor_log_dir",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-env.xml",
-    "category": "General",
-    "index": 4
-  },
-  {
-    "name": "metrics_monitor_pid_dir",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-env.xml",
-    "category": "General",
-    "index": 5
-  },
-  {
-    "name": "metrics_grafana_username",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-grafana-env.xml",
-    "category": "General",
-    "index": 6
-  },
-  {
-    "name": "metrics_grafana_password",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-grafana-env.xml",
-    "category": "General",
-    "index": 7
-  },
-  {
-    "name": "timeline.metrics.aggregator.checkpoint.dir",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 17
-  },
-  {
-    "name": "timeline.metrics.cluster.aggregator.hourly.checkpointCutOffMultiplier",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 16
-  },
-  {
-    "name": "timeline.metrics.cluster.aggregator.hourly.disabled",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 14
-  },
-  {
-    "name": "timeline.metrics.cluster.aggregator.hourly.interval",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 15
-  },
-  {
-    "name": "timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 13
-  },
-  {
-    "name": "timeline.metrics.cluster.aggregator.minute.disabled",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 10
-  },
-  {
-    "name": "timeline.metrics.cluster.aggregator.minute.interval",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 11
-  },
-  {
-    "name": "timeline.metrics.cluster.aggregator.minute.timeslice.interval",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 12
-  },
-  {
-    "name": "timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 9
-  },
-  {
-    "name": "timeline.metrics.host.aggregator.hourly.disabled",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 7
-  },
-  {
-    "name": "timeline.metrics.host.aggregator.hourly.interval",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 8
-  },
-  {
-    "name": "timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 6
-  },
-  {
-    "name": "timeline.metrics.host.aggregator.minute.disabled",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 4
-  },
-  {
-    "name": "timeline.metrics.host.aggregator.minute.interval",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 5
-  },
-  {
-    "name": "timeline.metrics.service.checkpointDelay",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 1
-  },
-  {
-    "name": "timeline.metrics.service.default.result.limit",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 2
-  },
-  {
-    "name": "timeline.metrics.service.resultset.fetchSize",
-    "serviceName": "AMBARI_METRICS",
-    "filename": "ams-site.xml",
-    "category": "MetricCollector",
-    "index": 3
-  },
-  /*ranger-admin-site*/
-  {
-    "name": "xasecure.audit.jaas.Client.option.principal",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "SolrKerberosSettings"
-  },
-  {
-    "name": "xasecure.audit.jaas.Client.option.keyTab",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "SolrKerberosSettings"
-  },
-  {
-    "name": "xasecure.audit.jaas.Client.loginModuleName",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "SolrKerberosSettings"
-  },
-  {
-    "name": "xasecure.audit.jaas.Client.loginModuleControlFlag",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "SolrKerberosSettings"
-  },
-  {
-    "name": "xasecure.audit.jaas.Client.option.useKeyTab",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "SolrKerberosSettings"
-  },
-  {
-    "name": "xasecure.audit.jaas.Client.option.storeKey",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "SolrKerberosSettings"
-  },
-  {
-    "name": "xasecure.audit.jaas.Client.option.serviceName",
-    "serviceName": "RANGER",
-    "filename": "ranger-admin-site.xml",
-    "category": "SolrKerberosSettings"
-  },
-/************************************************LOGSEARCH******************************************/
-  /*logfeeder-properties*/
-  {
-    "name": "logfeeder.config.files",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-properties.xml",
-    "category": "Advanced logfeeder-properties",
-    "index": 1
-  },
-  {
-    "name": "logfeeder.checkpoint.folder",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-properties.xml",
-    "category": "Advanced logfeeder-properties",
-    "index": 2
-  },
-  {
-    "name": "logfeeder.metrics.collector.hosts",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-properties.xml",
-    "category": "Advanced logfeeder-properties",
-    "index": 3
-  },
-  {
-    "name": "logfeeder.solr.config.interval",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-properties.xml",
-    "category": "Advanced logfeeder-properties",
-    "index": 4
-  },
-  {
-    "name": "logfeeder.log.filter.enable",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-properties.xml",
-    "category": "Advanced logfeeder-properties",
-    "index": 5
-  },
-  /*logfeeder-env*/
-  {
-    "name": "logfeeder_log_dir",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 1
-  },
-  {
-    "name": "logfeeder_pid_dir",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 2
-  },
-  {
-    "name": "logfeeder_max_mem",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 3
-  },
-  {
-    "name": "logfeeder_solr_service_logs_enable",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 4
-  },
-  {
-    "name": "logfeeder_solr_audit_logs_enable",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 5
-  },
-  {
-    "name": "logfeeder_truststore_location",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 6
-  },
-  {
-    "name": "logfeeder_truststore_type",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 7
-  },
-  {
-    "name": "logfeeder_truststore_password",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 8
-  },
-  {
-    "name": "logfeeder_keystore_location",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 9
-  },
-  {
-    "name": "logfeeder_keystore_type",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 10
-  },
-  {
-    "name": "logfeeder_keystore_password",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 11
-  },
-  {
-    "name": "logfeeder_kerberos_keytab",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 12
-  },
-  {
-    "name": "logfeeder_kerberos_principal",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 13
-  },
-  {
-    "name": "content",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-env.xml",
-    "category": "Advanced logfeeder-env",
-    "index": 14
-  },
-  /*logfeeder-grok*/
-  {
-    "name": "default_grok_patterns",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-grok.xml",
-    "category": "Advanced logfeeder-grok",
-    "index": 1
-  },
-  {
-    "name": "custom_grok_patterns",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-grok.xml",
-    "category": "Advanced logfeeder-grok",
-    "index": 2
-  },
-  /*logfeeder-log4j*/
-  {
-    "name": "content",
-    "serviceName": "LOGSEARCH",
-    "filename": "logfeeder-log4j.xml",
-    "category": "Advanced logfeeder-log4j",
-    "index": 1
-  },
-  /*logsearch-admin-json*/
-  {
-    "name": "logsearch_admin_username",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-admin-json.xml",
-    "category": "LogsearchAdminJson",
-    "index": 1
-  },
-  {
-    "name": "logsearch_admin_password",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-admin-json.xml",
-    "category": "LogsearchAdminJson",
-    "index": 2
-  },
-  {
-    "name": "content",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-admin-json.xml",
-    "category": "LogsearchAdminJson",
-    "index": 3
-  },
-  /*logsearch-audit_logs-solrconfig*/
-  {
-    "name": "logsearch_audit_logs_max_retention",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-audit_logs-solrconfig.xml",
-    "category": "Advanced logsearch-audit_logs-solrconfig",
-    "index": 1
-  },
-  {
-    "name": "logsearch_audit_logs_merge_factor",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-audit_logs-solrconfig.xml",
-    "category": "Advanced logsearch-audit_logs-solrconfig",
-    "index": 2
-  },
-  {
-    "name": "content",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-audit_logs_logs-solrconfig.xml",
-    "category": "Advanced logsearch-audit_logs-solrconfig",
-    "index": 3
-  },
-  /*logsearch-env*/
-  {
-    "name": "logsearch_ui_protocol",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 1
-  },
-  {
-    "name": "logsearch_ui_port",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 2
-  },
-  {
-    "name": "logsearch_log_dir",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 3
-  },
-  {
-    "name": "logsearch_pid_dir",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 4
-  },
-  {
-    "name": "logsearch_app_max_memory",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 5
-  },
-  {
-    "name": "logsearch_solr_audit_logs_zk_node",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 6
-  },
-  {
-    "name": "logsearch_solr_audit_logs_zk_quorum",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 7
-  },
-  {
-    "name": "logsearch_debug_enabled",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 8
-  },
-  {
-    "name": "logsearch_debug_port",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 9
-  },
-  {
-    "name": "logsearch_truststore_location",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 10
-  },
-  {
-    "name": "logsearch_truststore_type",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 11
-  },
-  {
-    "name": "logsearch_truststore_password",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 12
-  },
-  {
-    "name": "logsearch_keystore_location",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 13
-  },
-  {
-    "name": "logsearch_keystore_type",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 14
-  },
-  {
-    "name": "logsearch_keystore_password",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 15
-  },
-  {
-    "name": "logsearch_kerberos_keytab",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 16
-  },
-  {
-    "name": "logsearch_kerberos_principal",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 17
-  },
-  {
-    "name": "content",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-env.xml",
-    "category": "Advanced logsearch-env",
-    "index": 18
-  },
-  /*logsearch-log4j*/
-  {
-    "name": "content",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-log4j.xml",
-    "category": "Advanced logsearch-log4j",
-    "index": 1
-  },
-  /*logsearch-service_logs-solrconfig*/
-  {
-    "name": "logsearch_service_logs_max_retention",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-service_logs-solrconfig.xml",
-    "category": "Advanced logsearch-service_logs-solrconfig",
-    "index": 1
-  },
-  {
-    "name": "logsearch_service_logs_merge_factor",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-service_logs-solrconfig.xml",
-    "category": "Advanced logsearch-service_logs-solrconfig",
-    "index": 2
-  },
-  {
-    "name": "content",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-service_logs-solrconfig.xml",
-    "category": "Advanced logsearch-service_logs-solrconfig",
-    "index": 3
-  },
-  /*logsearch-properties*/
-  {
-    "name": "logsearch.solr.collection.service.logs",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 1
-  },
-  {
-    "name": "logsearch.service.logs.fields",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 2
-  },
-  {
-    "name": "logsearch.service.logs.split.interval.mins",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 3
-  },
-  {
-    "name": "logsearch.solr.collection.audit.logs",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 4
-  },
-  {
-    "name": "logsearch.audit.logs.split.interval.mins",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 5
-  },
-  {
-    "name": "logsearch.solr.audit.logs.use.ranger",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 6
-  },
-  {
-    "name": "logsearch.ranger.audit.logs.collection.name",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 7
-  },
-  {
-    "name": "logsearch.solr.metrics.collector.hosts",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 8
-  },
-  {
-    "name": "logsearch.auth.external_auth.enable",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 9
-  },
-  {
-    "name": "logsearch.auth.external_auth.host_url",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 10
-  },
-  {
-    "name": "logsearch.auth.external_auth.login_url",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 11
-  },
-  {
-    "name": "logsearch.auth.jwt.audiances",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 12
-  },
-  {
-    "name": "logsearch.auth.jwt.cookie.name",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 13
-  },
-  {
-    "name": "logsearch.auth.jwt.query.param.original_url",
-    "serviceName": "LOGSEARCH",
-    "filename": "logsearch-properties.xml",
-    "category": "Advanced logsearch-properties",
-    "index": 14
-  },
-  /*infra-solr-client-log4j*/
-  {
-    "name": "infra_solr_client_log_dir",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-client-log4j.xml",
-    "category": "Advanced infra-solr-client-log4j",
-    "index": 1
-  },
-  {
-    "name": "content",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-client-log4j.xml",
-    "category": "Advanced infra-solr-client-log4j",
-    "index": 2
-  },
-  /*infra-solr-env*/
-  {
-    "name": "infra_solr_log_dir",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 1
-  },
-  {
-    "name": "infra_solr_pid_dir",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 2
-  },
-  {
-    "name": "infra_solr_port",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 3
-  },
-  {
-    "name": "infra_solr_jmx_port",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 4
-  },
-  {
-    "name": "infra_solr_ssl_enabled",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 5
-  },
-  {
-    "name": "infra_solr_truststore_location",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 6
-  },
-  {
-    "name": "infra_solr_truststore_type",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 7
-  },
-  {
-    "name": "infra_solr_truststore_password",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 8
-  },
-  {
-    "name": "infra_solr_keystore_location",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 9
-  },
-  {
-    "name": "infra_solr_keystore_type",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 10
-  },
-  {
-    "name": "infra_solr_keystore_password",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 11
-  },
-  {
-    "name": "infra_solr_kerberos_keytab",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 12
-  },
-  {
-    "name": "infra_solr_kerberos_principal",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 13
-  },
-  {
-    "name": "infra_solr_web_kerberos_keytab",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 14
-  },
-  {
-    "name": "infra_solr_web_kerberos_principal",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 15
-  },
-  {
-    "name": "infra_solr_kerberos_name_rules",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 16
-  },
-  {
-    "name": "content",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-env.xml",
-    "category": "Advanced infra-solr-env",
-    "index": 17
-  },
-  /*infra-solr-log4j*/
-  {
-    "name": "content",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-log4j.xml",
-    "category": "Advanced infra-solr-log4j",
-    "index": 1
-  },
-  /*infra-solr-xml*/
-  {
-    "name": "content",
-    "serviceName": "AMBARI_INFRA",
-    "filename": "infra-solr-xml.xml",
-    "category": "Advanced infra-solr-xml",
-    "index": 1
-  },
-
-].concat(require('data/HDP2/gluster_fs_properties'));
-
-if (App.get('isHadoopWindowsStack')) {
-  var excludedWindowsConfigs = [
-    'hive_database',
-    'oozie_database'
-  ];
-
-  hdp2properties = hdp2properties.filter(function (item) {
-    return !excludedWindowsConfigs.contains(item.name);
-  });
-
-  hdp2properties.push(
-    {
-      "name": "hadoop.user.name",
-      "serviceName": "MISC",
-      "filename": "cluster-env.xml",
-      "category": "Users and Groups",
-      "belongsToService": ["HDFS"],
-      "index": 0
-    },
-    {
-      "name": "hadoop.user.password",
-      "serviceName": "MISC",
-      "filename": "cluster-env.xml",
-      "category": "Users and Groups",
-      "belongsToService": ["HDFS"],
-      "index": 1
-    },
-    {
-      "name": "hive_database",
-      "options": [
-        {
-          displayName: 'Existing MSSQL Server database with SQL authentication',
-          hidden: false
-        },
-        {
-          displayName: 'Existing MSSQL Server database with integrated authentication',
-          hidden: false
-        }
-      ],
-      "displayType": "radio button",
-      "radioName": "hive-database",
-      "serviceName": "HIVE",
-      "filename": "hive-env.xml",
-      "category": "HIVE_METASTORE",
-      "index": 2
-    },
-    {
-      "name": "oozie_database",
-      "recommendedValue": "Existing MSSQL Server database with SQL authentication",
-      "options": [
-        {
-          displayName: 'Existing MSSQL Server database with SQL authentication',
-          hidden: false
-        },
-        {
-          displayName: 'Existing MSSQL Server database with integrated authentication',
-          hidden: false
-        }
-      ],
-      "displayType": "radio button",
-      "radioName": "oozie-database",
-      "serviceName": "OOZIE",
-      "filename": "oozie-env.xml",
-      "category": "OOZIE_SERVER",
-      "index": 2
-    }
-  );
-}
-
-var atsProperties = [
-  {
-    "name": "yarn.timeline-service.enabled",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.leveldb-timeline-store.path",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.store-class",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.ttl-enable",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.ttl-ms",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.generic-application-history.store-class",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.webapp.address",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.webapp.https.address",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
-  {
-    "name": "yarn.timeline-service.address",
-    "category": "APP_TIMELINE_SERVER",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  }
-];
-
-hdp2properties.pushObjects(atsProperties);
-
-module.exports =
-{
-  "configProperties": hdp2properties
-};

+ 0 - 0
ambari-web/app/data/HDP2/alert_notification.js → ambari-web/app/data/configs/alert_notification.js


+ 116 - 0
ambari-web/app/data/configs/services/accumulo_properties.js

@@ -0,0 +1,116 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "General",
+    "filename": "accumulo-env.xml",
+    "name": "accumulo_instance_name",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "category": "General",
+    "filename": "accumulo-env.xml",
+    "name": "accumulo_root_password",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "category": "General",
+    "filename": "accumulo-site.xml",
+    "name": "trace.user",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "category": "General",
+    "filename": "accumulo-env.xml",
+    "name": "trace_password",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "category": "General",
+    "filename": "accumulo-env.xml",
+    "name": "instance_secret",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 0,
+    "name": "instance.volumes",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 1,
+    "name": "instance.zookeeper.host",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 2,
+    "name": "instance.zookeeper.timeout",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 3,
+    "name": "master.port.client",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 4,
+    "name": "tserver.port.client",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 5,
+    "name": "monitor.port.client",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 6,
+    "name": "monitor.port.log4j",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 7,
+    "name": "gc.port.client",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 8,
+    "name": "trace.port.client",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 9,
+    "name": "tserver.memory.maps.native.enabled",
+    "serviceName": "ACCUMULO"
+  },
+  {
+    "filename": "accumulo-site.xml",
+    "index": 10,
+    "name": "general.classpaths",
+    "serviceName": "ACCUMULO"
+  }
+];

+ 167 - 0
ambari-web/app/data/configs/services/ambari_infra_properties.js

@@ -0,0 +1,167 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "Advanced infra-solr-client-log4j",
+    "filename": "infra-solr-client-log4j.xml",
+    "index": 1,
+    "name": "infra_solr_client_log_dir",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-client-log4j",
+    "filename": "infra-solr-client-log4j.xml",
+    "index": 2,
+    "name": "content",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 1,
+    "name": "infra_solr_log_dir",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 2,
+    "name": "infra_solr_pid_dir",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 3,
+    "name": "infra_solr_port",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 4,
+    "name": "infra_solr_jmx_port",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 5,
+    "name": "infra_solr_ssl_enabled",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 6,
+    "name": "infra_solr_truststore_location",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 7,
+    "name": "infra_solr_truststore_type",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 8,
+    "name": "infra_solr_truststore_password",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 9,
+    "name": "infra_solr_keystore_location",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 10,
+    "name": "infra_solr_keystore_type",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 11,
+    "name": "infra_solr_keystore_password",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 12,
+    "name": "infra_solr_kerberos_keytab",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 13,
+    "name": "infra_solr_kerberos_principal",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 14,
+    "name": "infra_solr_web_kerberos_keytab",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 15,
+    "name": "infra_solr_web_kerberos_principal",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 16,
+    "name": "infra_solr_kerberos_name_rules",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-env",
+    "filename": "infra-solr-env.xml",
+    "index": 17,
+    "name": "content",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-log4j",
+    "filename": "infra-solr-log4j.xml",
+    "index": 1,
+    "name": "content",
+    "serviceName": "AMBARI_INFRA"
+  },
+  {
+    "category": "Advanced infra-solr-xml",
+    "filename": "infra-solr-xml.xml",
+    "index": 1,
+    "name": "content",
+    "serviceName": "AMBARI_INFRA"
+  }
+];

+ 188 - 0
ambari-web/app/data/configs/services/ambari_metrics_properties.js

@@ -0,0 +1,188 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "General",
+    "filename": "ams-site.xml",
+    "index": 1,
+    "name": "timeline.metrics.service.operation.mode",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "General",
+    "filename": "ams-env.xml",
+    "index": 2,
+    "name": "metrics_collector_log_dir",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "General",
+    "filename": "ams-env.xml",
+    "index": 3,
+    "name": "metrics_collector_pid_dir",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "General",
+    "filename": "ams-env.xml",
+    "index": 4,
+    "name": "metrics_monitor_log_dir",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "General",
+    "filename": "ams-env.xml",
+    "index": 5,
+    "name": "metrics_monitor_pid_dir",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "General",
+    "filename": "ams-grafana-env.xml",
+    "index": 6,
+    "name": "metrics_grafana_username",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "General",
+    "filename": "ams-grafana-env.xml",
+    "index": 7,
+    "name": "metrics_grafana_password",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 17,
+    "name": "timeline.metrics.aggregator.checkpoint.dir",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 16,
+    "name": "timeline.metrics.cluster.aggregator.hourly.checkpointCutOffMultiplier",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 14,
+    "name": "timeline.metrics.cluster.aggregator.hourly.disabled",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 15,
+    "name": "timeline.metrics.cluster.aggregator.hourly.interval",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 13,
+    "name": "timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 10,
+    "name": "timeline.metrics.cluster.aggregator.minute.disabled",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 11,
+    "name": "timeline.metrics.cluster.aggregator.minute.interval",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 12,
+    "name": "timeline.metrics.cluster.aggregator.minute.timeslice.interval",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 9,
+    "name": "timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 7,
+    "name": "timeline.metrics.host.aggregator.hourly.disabled",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 8,
+    "name": "timeline.metrics.host.aggregator.hourly.interval",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 6,
+    "name": "timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 4,
+    "name": "timeline.metrics.host.aggregator.minute.disabled",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 5,
+    "name": "timeline.metrics.host.aggregator.minute.interval",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 1,
+    "name": "timeline.metrics.service.checkpointDelay",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 2,
+    "name": "timeline.metrics.service.default.result.limit",
+    "serviceName": "AMBARI_METRICS"
+  },
+  {
+    "category": "MetricCollector",
+    "filename": "ams-site.xml",
+    "index": 3,
+    "name": "timeline.metrics.service.resultset.fetchSize",
+    "serviceName": "AMBARI_METRICS"
+  }
+];

+ 302 - 0
ambari-web/app/data/configs/services/falcon_properties.js

@@ -0,0 +1,302 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "Falcon - Oozie integration",
+    "filename": "oozie-site.xml",
+    "name": "oozie.service.ELService.ext.functions.coord-job-submit-instances",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "Falcon - Oozie integration",
+    "filename": "oozie-site.xml",
+    "name": "oozie.service.ELService.ext.functions.coord-action-create-inst",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "Falcon - Oozie integration",
+    "filename": "oozie-site.xml",
+    "name": "oozie.service.ELService.ext.functions.coord-action-create",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "Falcon - Oozie integration",
+    "filename": "oozie-site.xml",
+    "name": "oozie.service.ELService.ext.functions.coord-job-submit-data",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "Falcon - Oozie integration",
+    "filename": "oozie-site.xml",
+    "name": "oozie.service.ELService.ext.functions.coord-action-start",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "Falcon - Oozie integration",
+    "filename": "oozie-site.xml",
+    "name": "oozie.service.ELService.ext.functions.coord-sla-submit",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "Falcon - Oozie integration",
+    "filename": "oozie-site.xml",
+    "name": "oozie.service.ELService.ext.functions.coord-sla-create",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconRuntimeSite",
+    "filename": "falcon-runtime.properties.xml",
+    "name": "*.domain",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconRuntimeSite",
+    "filename": "falcon-runtime.properties.xml",
+    "name": "*.log.cleanup.frequency.minutes.retention",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconRuntimeSite",
+    "filename": "falcon-runtime.properties.xml",
+    "name": "*.log.cleanup.frequency.hours.retention",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconRuntimeSite",
+    "filename": "falcon-runtime.properties.xml",
+    "name": "*.log.cleanup.frequency.days.retention",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconRuntimeSite",
+    "filename": "falcon-runtime.properties.xml",
+    "name": "*.log.cleanup.frequency.months.retention",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.domain",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.workflow.engine.impl",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.oozie.process.workflow.builder",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.oozie.feed.workflow.builder",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.SchedulableEntityManager.impl",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.ConfigSyncService.impl",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.ProcessInstanceManager.impl",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.catalog.service.impl",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.application.services",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.configstore.listeners",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.broker.impl.class",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.shared.libs",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.config.store.uri",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.system.lib.location",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.retry.recorder.path",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.cleanup.service.frequency",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.broker.url",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.broker.ttlInMins",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.entity.topic",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.max.retry.failure.count",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.internal.queue.size",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.authentication.type",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.http.authentication.type",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.http.authentication.token.validity",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.http.authentication.signature.secret",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.http.authentication.simple.anonymous.allowed",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.http.authentication.kerberos.name.rules",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.http.authentication.blacklisted.users",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.graph.storage.directory",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.graph.serialize.path",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.graph.preserve.history",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FALCON_SERVER",
+    "filename": "falcon-env.xml",
+    "name": "falcon_port",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FALCON_SERVER",
+    "filename": "falcon-env.xml",
+    "name": "falcon_local_dir",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.graph.blueprints.graph",
+    "serviceName": "FALCON"
+  },
+  {
+    "category": "FalconStartupSite",
+    "filename": "falcon-startup.properties.xml",
+    "name": "*.falcon.graph.storage.backend",
+    "serviceName": "FALCON"
+  }
+];

+ 20 - 25
ambari-web/app/data/HDP2.2/tez_properties.js → ambari-web/app/data/configs/services/flume_properties.js

@@ -15,29 +15,24 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var App = require('app');
-
-var tezPropsToCategory = {
-  'General': [
-    'tez.am.launch.cmd-opts',
-    'tez.am.launch.env',
-    'tez.task.resource.memory.mb',
-    'tez.task.launch.cmd-opts',
-    'tez.task.launch.env',
-    'tez.grouping.split-waves',
-    'tez.grouping.min-size',
-    'tez.grouping.max-size',
-    'tez.runtime.compress',
-    'tez.runtime.compress.codec'
-  ]
-};
-
-var tezProps = [];
-
-for (var category in tezPropsToCategory) {
-  tezProps = tezProps.concat(App.config.generateConfigPropertiesByName(tezPropsToCategory[category], 
-    { category: category, serviceName: 'TEZ', filename: 'tez-site.xml'}));
-}
-
-module.exports = tezProps;
 
+module.exports = [
+  {
+    "category": "FLUME_HANDLER",
+    "filename": "flume-conf.xml",
+    "name": "content",
+    "serviceName": "FLUME"
+  },
+  {
+    "filename": "flume-env.xml",
+    "index": 0,
+    "name": "flume_conf_dir",
+    "serviceName": "FLUME"
+  },
+  {
+    "filename": "flume-env.xml",
+    "index": 1,
+    "name": "flume_log_dir",
+    "serviceName": "FLUME"
+  }
+];

+ 37 - 38
ambari-web/app/data/HDP2/gluster_fs_properties.js → ambari-web/app/data/configs/services/glusterfs_properties.js

@@ -17,78 +17,77 @@
  */
 
 module.exports = [
-/**********************************************GLUSTERFS***************************************/
   {
-    "name": "fs.glusterfs.impl",
+    "category": "General",
     "filename": "core-site.xml",
-    "serviceName": "GLUSTERFS",
-    "category": "General"
+    "name": "fs.glusterfs.impl",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "fs.AbstractFileSystem.glusterfs.impl",
+    "category": "General",
     "filename": "core-site.xml",
-    "serviceName": "GLUSTERFS",
-    "category": "General"
+    "name": "fs.AbstractFileSystem.glusterfs.impl",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "hadoop_heapsize",
-    "serviceName": "GLUSTERFS",
-    "filename": "hadoop-env.xml",
     "category": "General Hadoop",
-    "index": 1
+    "filename": "hadoop-env.xml",
+    "index": 1,
+    "name": "hadoop_heapsize",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "hdfs_log_dir_prefix",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "hdfs_log_dir_prefix",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "hadoop_pid_dir_prefix",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "hadoop_pid_dir_prefix",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "namenode_heapsize",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "namenode_heapsize",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "namenode_opt_newsize",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "namenode_opt_newsize",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "namenode_opt_maxnewsize",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "namenode_opt_maxnewsize",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "namenode_opt_permsize",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "namenode_opt_permsize",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "namenode_opt_maxpermsize",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "namenode_opt_maxpermsize",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "dtnode_heapsize",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "dtnode_heapsize",
+    "serviceName": "GLUSTERFS"
   },
   {
-    "name": "glusterfs_user",
-    "serviceName": "GLUSTERFS",
+    "category": "General Hadoop",
     "filename": "hadoop-env.xml",
-    "category": "General Hadoop"
+    "name": "glusterfs_user",
+    "serviceName": "GLUSTERFS"
   }
 ];

+ 110 - 0
ambari-web/app/data/configs/services/hawq_properties.js

@@ -0,0 +1,110 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 0,
+    "name": "hawq_master_address_host",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 1,
+    "name": "hawq_standby_address_host",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 2,
+    "name": "hawq_master_address_port",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 3,
+    "name": "hawq_segment_address_port",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 4,
+    "name": "hawq_dfs_url",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 5,
+    "name": "hawq_master_directory",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 6,
+    "name": "hawq_master_temp_directory",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 7,
+    "name": "hawq_segment_directory",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 8,
+    "name": "hawq_segment_temp_directory",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-site.xml",
+    "index": 9,
+    "name": "default_segment_num",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-env.xml",
+    "index": 10,
+    "name": "hawq_ssh_exkeys",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "General",
+    "filename": "hawq-env.xml",
+    "index": 11,
+    "name": "hawq_password",
+    "serviceName": "HAWQ"
+  },
+  {
+    "category": "AdvancedHawqCheck",
+    "filename": "hawq-check-env.xml",
+    "name": "content",
+    "serviceName": "HAWQ"
+  }
+];

+ 124 - 0
ambari-web/app/data/configs/services/hbase_properties.js

@@ -0,0 +1,124 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "General",
+    "filename": "hbase-site.xml",
+    "index": 0,
+    "name": "hbase.hstore.compactionThreshold",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "General",
+    "filename": "hbase-site.xml",
+    "index": 1,
+    "name": "hfile.block.cache.size",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "General",
+    "filename": "hbase-site.xml",
+    "index": 2,
+    "name": "hbase.hregion.max.filesize",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "HBASE_REGIONSERVER",
+    "filename": "hbase-site.xml",
+    "index": 2,
+    "name": "hbase.regionserver.handler.count",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "HBASE_REGIONSERVER",
+    "filename": "hbase-site.xml",
+    "index": 3,
+    "name": "hbase.hregion.majorcompaction",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "HBASE_REGIONSERVER",
+    "filename": "hbase-site.xml",
+    "index": 4,
+    "name": "hbase.hregion.memstore.block.multiplier",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "HBASE_REGIONSERVER",
+    "filename": "hbase-site.xml",
+    "index": 5,
+    "name": "hbase.hregion.memstore.flush.size",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "General",
+    "filename": "hbase-site.xml",
+    "index": 3,
+    "name": "hbase.client.scanner.caching",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "General",
+    "filename": "hbase-site.xml",
+    "index": 4,
+    "name": "zookeeper.session.timeout",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "General",
+    "filename": "hbase-site.xml",
+    "index": 5,
+    "name": "hbase.client.keyvalue.maxsize",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "HBASE_MASTER",
+    "filename": "hbase-env.xml",
+    "index": 1,
+    "name": "hbase_master_heapsize",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "HBASE_REGIONSERVER",
+    "filename": "hbase-env.xml",
+    "index": 1,
+    "name": "hbase_regionserver_heapsize",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "HBASE_REGIONSERVER",
+    "filename": "hbase-env.xml",
+    "index": 6,
+    "name": "hbase_regionserver_xmn_max",
+    "serviceName": "HBASE"
+  },
+  {
+    "category": "HBASE_REGIONSERVER",
+    "filename": "hbase-env.xml",
+    "index": 7,
+    "name": "hbase_regionserver_xmn_ratio",
+    "serviceName": "HBASE"
+  },
+  {
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "index": 1,
+    "name": "ranger-hbase-plugin-enabled",
+    "serviceName": "HBASE"
+  }
+];

+ 164 - 0
ambari-web/app/data/configs/services/hdfs_properties.js

@@ -0,0 +1,164 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "SECONDARY_NAMENODE",
+    "filename": "hdfs-site.xml",
+    "index": 1,
+    "name": "dfs.namenode.checkpoint.dir",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "General",
+    "filename": "hdfs-site.xml",
+    "index": 3,
+    "name": "dfs.namenode.checkpoint.period",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NAMENODE",
+    "filename": "hdfs-site.xml",
+    "index": 1,
+    "name": "dfs.namenode.name.dir",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "General",
+    "filename": "hdfs-site.xml",
+    "index": 0,
+    "name": "dfs.webhdfs.enabled",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "DATANODE",
+    "filename": "hdfs-site.xml",
+    "index": 3,
+    "name": "dfs.datanode.failed.volumes.tolerated",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "DATANODE",
+    "filename": "hdfs-site.xml",
+    "index": 1,
+    "name": "dfs.datanode.data.dir",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "DATANODE",
+    "filename": "hdfs-site.xml",
+    "name": "dfs.datanode.data.dir.perm",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NFS_GATEWAY",
+    "filename": "hdfs-site.xml",
+    "index": 1,
+    "name": "nfs.file.dump.dir",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "General",
+    "filename": "hdfs-site.xml",
+    "index": 2,
+    "name": "dfs.namenode.accesstime.precision",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NFS_GATEWAY",
+    "filename": "hdfs-site.xml",
+    "index": 3,
+    "name": "nfs.exports.allowed.hosts",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "General",
+    "filename": "hdfs-site.xml",
+    "name": "dfs.replication",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "General",
+    "filename": "hdfs-site.xml",
+    "index": 2,
+    "name": "dfs.datanode.du.reserved",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NAMENODE",
+    "filename": "hadoop-env.xml",
+    "index": 2,
+    "name": "namenode_heapsize",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NAMENODE",
+    "filename": "hadoop-env.xml",
+    "index": 3,
+    "name": "namenode_opt_newsize",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NAMENODE",
+    "filename": "hadoop-env.xml",
+    "index": 5,
+    "name": "namenode_opt_permsize",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NAMENODE",
+    "filename": "hadoop-env.xml",
+    "index": 6,
+    "name": "namenode_opt_maxpermsize",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NAMENODE",
+    "filename": "hadoop-env.xml",
+    "index": 4,
+    "name": "namenode_opt_maxnewsize",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "DATANODE",
+    "filename": "hadoop-env.xml",
+    "index": 2,
+    "name": "dtnode_heapsize",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "NFS_GATEWAY",
+    "filename": "hadoop-env.xml",
+    "index": 1,
+    "name": "nfsgateway_heapsize",
+    "serviceName": "HDFS"
+  },
+  {
+    "category": "General",
+    "filename": "hadoop-env.xml",
+    "index": 1,
+    "name": "hadoop_heapsize",
+    "serviceName": "HDFS"
+  },
+  {
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "index": 1,
+    "name": "ranger-hdfs-plugin-enabled",
+    "serviceName": "HDFS"
+  }
+];

+ 590 - 0
ambari-web/app/data/configs/services/hive_properties.js

@@ -0,0 +1,590 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "HIVE_METASTORE",
+    "filename": "hive-site.xml",
+    "index": 7,
+    "name": "javax.jdo.option.ConnectionDriverName",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "HIVE_METASTORE",
+    "filename": "hive-site.xml",
+    "index": 5,
+    "name": "javax.jdo.option.ConnectionUserName",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "HIVE_METASTORE",
+    "filename": "hive-site.xml",
+    "index": 6,
+    "name": "javax.jdo.option.ConnectionPassword",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "HIVE_METASTORE",
+    "filename": "hive-site.xml",
+    "index": 8,
+    "name": "javax.jdo.option.ConnectionURL",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "HIVE_METASTORE",
+    "filename": "hive-site.xml",
+    "index": 4,
+    "name": "ambari.hive.db.schema.name",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "HIVE_METASTORE",
+    "displayType": "radio button",
+    "filename": "hive-env.xml",
+    "index": 2,
+    "name": "hive_database",
+    "options": [
+      {
+        "displayName": "New MySQL Database",
+        "hidden": false
+      },
+      {
+        "displayName": "Existing MySQL / MariaDB Database",
+        "hidden": false
+      },
+      {
+        "displayName": "Existing PostgreSQL Database",
+        "hidden": false
+      },
+      {
+        "displayName": "Existing Oracle Database",
+        "hidden": false
+      },
+      {
+        "displayName": "Existing SQL Anywhere Database",
+        "hidden": App.get('currentStackName') !== 'SAPHD' && (App.get('currentStackName') !== 'HDP' || !App.get('isHadoop23Stack'))
+      }
+    ],
+    "radioName": "hive-database",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Advanced webhcat-env",
+    "filename": "hive-env.xml",
+    "name": "hcat_log_dir",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Advanced webhcat-env",
+    "filename": "hive-env.xml",
+    "name": "hcat_pid_dir",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "HIVE_METASTORE",
+    "filename": "hive-env.xml",
+    "name": "hive_database_type",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.cbo.enable",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.optimize.reducededuplication.min.reducer",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.optimize.reducededuplication",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.orc.splits.include.file.footer",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.merge.mapfiles",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.merge.mapredfiles",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.merge.tezfiles",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.merge.smallfiles.avgsize",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.merge.size.per.task",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.merge.orcfile.stripe.level",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.auto.convert.join",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.auto.convert.join.noconditionaltask",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.auto.convert.join.noconditionaltask.size",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.optimize.bucketmapjoin.sortedmerge",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.smb.number.waves",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.map.aggr.hash.percentmemory",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.map.aggr",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.optimize.sort.dynamic.partition",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.stats.autogather",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.stats.fetch.column.stats",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.vectorized.execution.enabled",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.vectorized.execution.reduce.enabled",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.vectorized.groupby.checkinterval",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.vectorized.groupby.flush.percent",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.limit.pushdown.memory.usage",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.optimize.index.filter",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.reducers.bytes.per.reducer",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.smbjoin.cache.rows",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.orc.default.stripe.size",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.fetch.task.conversion",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.fetch.task.conversion.threshold",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.fetch.task.aggr",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.compute.query.using.stats",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.auto.reducer.parallelism",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.max.partition.factor",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.min.partition.factor",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.dynamic.partition.pruning",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.dynamic.partition.pruning.max.event.size",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "Performance",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.dynamic.partition.pruning.max.data.size",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.pre.hooks",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.post.hooks",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.failure.hooks",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.execution.engine",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.dynamic.partition",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.dynamic.partition.mode",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.max.dynamic.partitions",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.max.dynamic.partitions.pernode",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.max.created.files",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.enforce.bucketing",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "datanucleus.cache.level2.type",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.metastore.uris",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.metastore.warehouse.dir",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.exec.parallel.thread.number",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.security.authorization.enabled",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.security.authorization.manager",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.security.metastore.authenticator.manager",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.security.metastore.authorization.manager",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.authentication",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.enable.doAs",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.tez.default.queues",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.tez.initialize.default.sessions",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.tez.sessions.per.default.queue",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.thrift.http.path",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.thrift.http.port",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.thrift.max.worker.threads",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.thrift.port",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.thrift.sasl.qop",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.transport.mode",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.server2.use.SSL",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.container.size",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.java.opts",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.tez.log.level",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.txn.manager",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.txn.timeout",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.txn.max.open.batch",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.compactor.initiator.on",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.compactor.worker.threads",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.compactor.worker.timeout",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.compactor.check.interval",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.compactor.delta.num.threshold",
+    "serviceName": "HIVE"
+  },
+  {
+    "category": "General",
+    "filename": "hive-site.xml",
+    "name": "hive.compactor.delta.pct.threshold",
+    "serviceName": "HIVE"
+  }
+];

+ 66 - 0
ambari-web/app/data/configs/services/kafka_properties.js

@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "KAFKA_BROKER",
+    "filename": "kafka-broker.xml",
+    "index": 1,
+    "name": "log.dirs",
+    "serviceName": "KAFKA"
+  },
+  {
+    "category": "KAFKA_BROKER",
+    "filename": "kafka-broker.xml",
+    "name": "listeners",
+    "serviceName": "KAFKA"
+  },
+  {
+    "category": "KAFKA_BROKER",
+    "filename": "kafka-broker.xml",
+    "index": 0,
+    "name": "log.roll.hours",
+    "serviceName": "KAFKA"
+  },
+  {
+    "category": "KAFKA_BROKER",
+    "filename": "kafka-broker.xml",
+    "index": 0,
+    "name": "log.retention.hours",
+    "serviceName": "KAFKA"
+  },
+  {
+    "category": "KAFKA_BROKER",
+    "filename": "kafka-broker.xml",
+    "index": 0,
+    "name": "zookeeper.connect",
+    "serviceName": "KAFKA"
+  },
+  {
+    "filename": "kafka-env.xml",
+    "index": 0,
+    "name": "kafka_pid_dir",
+    "serviceName": "KAFKA"
+  },
+  {
+    "filename": "ranger-kafka-plugin-properties.xml",
+    "index": 1,
+    "name": "ranger-kafka-plugin-enabled",
+    "serviceName": "KAFKA"
+  }
+];

+ 204 - 0
ambari-web/app/data/configs/services/kerberos_properties.js

@@ -0,0 +1,204 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "KDC",
+    "filename": "kerberos-env.xml",
+    "index": 0,
+    "name": "kdc_type",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "KDC",
+    "displayType": "supportTextConnection",
+    "filename": "kerberos-env.xml",
+    "index": 1,
+    "name": "kdc_hosts",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "KDC",
+    "filename": "kerberos-env.xml",
+    "index": 2,
+    "name": "realm",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "KDC",
+    "filename": "kerberos-env.xml",
+    "index": 3,
+    "name": "ldap_url",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "KDC",
+    "filename": "kerberos-env.xml",
+    "index": 4,
+    "name": "container_dn",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "KDC",
+    "filename": "krb5-conf.xml",
+    "index": 5,
+    "name": "domains",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 0,
+    "name": "manage_identities",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 1,
+    "name": "install_packages",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 2,
+    "name": "executable_search_paths",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 3,
+    "name": "encryption_types",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 4,
+    "name": "password_length",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 5,
+    "name": "password_min_lowercase_letters",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 6,
+    "name": "password_min_uppercase_letters",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 7,
+    "name": "password_min_digits",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 8,
+    "name": "password_min_punctuation",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 9,
+    "name": "password_min_whitespace",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 10,
+    "name": "service_check_principal_name",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 11,
+    "name": "ad_create_attributes_template",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 12,
+    "name": "kdc_create_attributes",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 13,
+    "name": "case_insensitive_username_rules",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 14,
+    "name": "manage_auth_to_local",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced kerberos-env",
+    "filename": "kerberos-env.xml",
+    "index": 15,
+    "name": "group",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Kadmin",
+    "filename": "kerberos-env.xml",
+    "index": 0,
+    "name": "admin_server_host",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced krb5-conf",
+    "dependentConfigPattern": "CATEGORY",
+    "filename": "krb5-conf.xml",
+    "index": 0,
+    "name": "manage_krb5_conf",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced krb5-conf",
+    "filename": "krb5-conf.xml",
+    "index": 1,
+    "name": "conf_dir",
+    "serviceName": "KERBEROS"
+  },
+  {
+    "category": "Advanced krb5-conf",
+    "filename": "krb5-conf.xml",
+    "index": 2,
+    "name": "content",
+    "serviceName": "KERBEROS"
+  }
+];

+ 32 - 0
ambari-web/app/data/configs/services/knox_properties.js

@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "KNOX_GATEWAY",
+    "filename": "knox-env.xml",
+    "name": "knox_master_secret",
+    "serviceName": "KNOX"
+  },
+  {
+    "filename": "ranger-knox-plugin-properties.xml",
+    "index": 1,
+    "name": "ranger-knox-plugin-enabled",
+    "serviceName": "KNOX"
+  }
+];

+ 447 - 0
ambari-web/app/data/configs/services/logsearch_properties.js

@@ -0,0 +1,447 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "Advanced logfeeder-properties",
+    "filename": "logfeeder-properties.xml",
+    "index": 1,
+    "name": "logfeeder.config.files",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-properties",
+    "filename": "logfeeder-properties.xml",
+    "index": 2,
+    "name": "logfeeder.checkpoint.folder",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-properties",
+    "filename": "logfeeder-properties.xml",
+    "index": 3,
+    "name": "logfeeder.metrics.collector.hosts",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-properties",
+    "filename": "logfeeder-properties.xml",
+    "index": 4,
+    "name": "logfeeder.solr.config.interval",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-properties",
+    "filename": "logfeeder-properties.xml",
+    "index": 5,
+    "name": "logfeeder.log.filter.enable",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 1,
+    "name": "logfeeder_log_dir",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 2,
+    "name": "logfeeder_pid_dir",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 3,
+    "name": "logfeeder_max_mem",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 4,
+    "name": "logfeeder_solr_service_logs_enable",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 5,
+    "name": "logfeeder_solr_audit_logs_enable",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 6,
+    "name": "logfeeder_truststore_location",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 7,
+    "name": "logfeeder_truststore_type",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 8,
+    "name": "logfeeder_truststore_password",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 9,
+    "name": "logfeeder_keystore_location",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 10,
+    "name": "logfeeder_keystore_type",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 11,
+    "name": "logfeeder_keystore_password",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 12,
+    "name": "logfeeder_kerberos_keytab",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 13,
+    "name": "logfeeder_kerberos_principal",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-env",
+    "filename": "logfeeder-env.xml",
+    "index": 14,
+    "name": "content",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-grok",
+    "filename": "logfeeder-grok.xml",
+    "index": 1,
+    "name": "default_grok_patterns",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-grok",
+    "filename": "logfeeder-grok.xml",
+    "index": 2,
+    "name": "custom_grok_patterns",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logfeeder-log4j",
+    "filename": "logfeeder-log4j.xml",
+    "index": 1,
+    "name": "content",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "LogsearchAdminJson",
+    "filename": "logsearch-admin-json.xml",
+    "index": 1,
+    "name": "logsearch_admin_username",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "LogsearchAdminJson",
+    "filename": "logsearch-admin-json.xml",
+    "index": 2,
+    "name": "logsearch_admin_password",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "LogsearchAdminJson",
+    "filename": "logsearch-admin-json.xml",
+    "index": 3,
+    "name": "content",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-audit_logs-solrconfig",
+    "filename": "logsearch-audit_logs-solrconfig.xml",
+    "index": 1,
+    "name": "logsearch_audit_logs_max_retention",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-audit_logs-solrconfig",
+    "filename": "logsearch-audit_logs-solrconfig.xml",
+    "index": 2,
+    "name": "logsearch_audit_logs_merge_factor",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-audit_logs-solrconfig",
+    "filename": "logsearch-audit_logs_logs-solrconfig.xml",
+    "index": 3,
+    "name": "content",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 1,
+    "name": "logsearch_ui_protocol",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 2,
+    "name": "logsearch_ui_port",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 3,
+    "name": "logsearch_log_dir",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 4,
+    "name": "logsearch_pid_dir",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 5,
+    "name": "logsearch_app_max_memory",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 6,
+    "name": "logsearch_solr_audit_logs_zk_node",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 7,
+    "name": "logsearch_solr_audit_logs_zk_quorum",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 8,
+    "name": "logsearch_debug_enabled",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 9,
+    "name": "logsearch_debug_port",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 10,
+    "name": "logsearch_truststore_location",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 11,
+    "name": "logsearch_truststore_type",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 12,
+    "name": "logsearch_truststore_password",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 13,
+    "name": "logsearch_keystore_location",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 14,
+    "name": "logsearch_keystore_type",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 15,
+    "name": "logsearch_keystore_password",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 16,
+    "name": "logsearch_kerberos_keytab",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 17,
+    "name": "logsearch_kerberos_principal",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-env",
+    "filename": "logsearch-env.xml",
+    "index": 18,
+    "name": "content",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-log4j",
+    "filename": "logsearch-log4j.xml",
+    "index": 1,
+    "name": "content",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-service_logs-solrconfig",
+    "filename": "logsearch-service_logs-solrconfig.xml",
+    "index": 1,
+    "name": "logsearch_service_logs_max_retention",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-service_logs-solrconfig",
+    "filename": "logsearch-service_logs-solrconfig.xml",
+    "index": 2,
+    "name": "logsearch_service_logs_merge_factor",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-service_logs-solrconfig",
+    "filename": "logsearch-service_logs-solrconfig.xml",
+    "index": 3,
+    "name": "content",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 1,
+    "name": "logsearch.solr.collection.service.logs",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 2,
+    "name": "logsearch.service.logs.fields",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 3,
+    "name": "logsearch.service.logs.split.interval.mins",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 4,
+    "name": "logsearch.solr.collection.audit.logs",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 5,
+    "name": "logsearch.audit.logs.split.interval.mins",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 6,
+    "name": "logsearch.solr.audit.logs.use.ranger",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 7,
+    "name": "logsearch.ranger.audit.logs.collection.name",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 8,
+    "name": "logsearch.solr.metrics.collector.hosts",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 9,
+    "name": "logsearch.auth.external_auth.enable",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 10,
+    "name": "logsearch.auth.external_auth.host_url",
+    "serviceName": "LOGSEARCH"
+  },
+  {
+    "category": "Advanced logsearch-properties",
+    "filename": "logsearch-properties.xml",
+    "index": 11,
+    "name": "logsearch.auth.external_auth.login_url",
+    "serviceName": "LOGSEARCH"
+  }
+];

+ 45 - 0
ambari-web/app/data/configs/services/mapreduce2_properties.js

@@ -0,0 +1,45 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "General",
+    "filename": "mapred-site.xml",
+    "name": "mapreduce.map.memory.mb",
+    "serviceName": "MAPREDUCE2"
+  },
+  {
+    "category": "General",
+    "filename": "mapred-site.xml",
+    "name": "mapreduce.reduce.memory.mb",
+    "serviceName": "MAPREDUCE2"
+  },
+  {
+    "category": "General",
+    "filename": "mapred-site.xml",
+    "name": "mapreduce.task.io.sort.mb",
+    "serviceName": "MAPREDUCE2"
+  },
+  {
+    "category": "HISTORYSERVER",
+    "filename": "mapred-env.xml",
+    "index": 1,
+    "name": "jobhistory_heapsize",
+    "serviceName": "MAPREDUCE2"
+  }
+];

+ 93 - 0
ambari-web/app/data/configs/services/oozie_properties.js

@@ -0,0 +1,93 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "OOZIE_SERVER",
+    "filename": "oozie-site.xml",
+    "index": 4,
+    "name": "oozie.db.schema.name",
+    "serviceName": "OOZIE"
+  },
+  {
+    "category": "OOZIE_SERVER",
+    "filename": "oozie-site.xml",
+    "index": 5,
+    "name": "oozie.service.JPAService.jdbc.username",
+    "serviceName": "OOZIE"
+  },
+  {
+    "category": "OOZIE_SERVER",
+    "filename": "oozie-site.xml",
+    "index": 6,
+    "name": "oozie.service.JPAService.jdbc.password",
+    "serviceName": "OOZIE"
+  },
+  {
+    "category": "OOZIE_SERVER",
+    "filename": "oozie-site.xml",
+    "index": 7,
+    "name": "oozie.service.JPAService.jdbc.driver",
+    "serviceName": "OOZIE"
+  },
+  {
+    "category": "OOZIE_SERVER",
+    "filename": "oozie-site.xml",
+    "index": 8,
+    "name": "oozie.service.JPAService.jdbc.url",
+    "serviceName": "OOZIE"
+  },
+  {
+    "category": "OOZIE_SERVER",
+    "displayType": "radio button",
+    "filename": "oozie-env.xml",
+    "index": 2,
+    "name": "oozie_database",
+    "options": [
+      {
+        "displayName": "New Derby Database",
+        "hidden": false
+      },
+      {
+        "displayName": "Existing MySQL / MariaDB Database",
+        "hidden": false
+      },
+      {
+        "displayName": "Existing PostgreSQL Database",
+        "hidden": false
+      },
+      {
+        "displayName": "Existing Oracle Database",
+        "hidden": false
+      },
+      {
+        "displayName": "Existing SQL Anywhere Database",
+        "hidden": App.get('currentStackName') !== 'SAPHD' && (App.get('currentStackName') !== 'HDP' || !App.get('isHadoop23Stack'))
+      }
+    ],
+    "radioName": "oozie-database",
+    "serviceName": "OOZIE"
+  },
+  {
+    "category": "OOZIE_SERVER",
+    "filename": "oozie-env.xml",
+    "index": 9,
+    "name": "oozie_data_dir",
+    "serviceName": "OOZIE"
+  }
+];

+ 309 - 0
ambari-web/app/data/configs/services/ranger_properties.js

@@ -0,0 +1,309 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "SolrKerberosSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "xasecure.audit.jaas.Client.option.principal",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "SolrKerberosSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "xasecure.audit.jaas.Client.option.keyTab",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "SolrKerberosSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "xasecure.audit.jaas.Client.loginModuleName",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "SolrKerberosSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "xasecure.audit.jaas.Client.loginModuleControlFlag",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "SolrKerberosSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "xasecure.audit.jaas.Client.option.useKeyTab",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "SolrKerberosSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "xasecure.audit.jaas.Client.option.storeKey",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "SolrKerberosSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "xasecure.audit.jaas.Client.option.serviceName",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RANGER_ADMIN",
+    "filename": "ranger-env.xml",
+    "index": 0,
+    "name": "ranger_admin_username",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RANGER_ADMIN",
+    "filename": "ranger-env.xml",
+    "index": 1,
+    "name": "ranger_admin_password",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RANGER_ADMIN",
+    "filename": "admin-properties.xml",
+    "index": 2,
+    "name": "SQL_CONNECTOR_JAR",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RangerSettings",
+    "filename": "ranger-env.xml",
+    "name": "ranger_user",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RangerSettings",
+    "filename": "ranger-env.xml",
+    "name": "ranger_group",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RangerSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.externalurl",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RangerSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.service.http.enabled",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RangerSettings",
+    "displayType": "radio button",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.authentication.method",
+    "options": [
+      {
+        "displayName": "LDAP",
+        "foreignKeys": [
+          "ranger.ldap.group.roleattribute",
+          "ranger.ldap.url",
+          "ranger.ldap.user.dnpattern",
+          "ranger.ldap.base.dn",
+          "ranger.ldap.bind.dn",
+          "ranger.ldap.bind.password",
+          "ranger.ldap.referral",
+          "ranger.ldap.user.searchfilter"
+        ]
+      },
+      {
+        "displayName": "ACTIVE_DIRECTORY",
+        "foreignKeys": [
+          "ranger.ldap.ad.domain",
+          "ranger.ldap.ad.url",
+          "ranger.ldap.ad.base.dn",
+          "ranger.ldap.ad.bind.dn",
+          "ranger.ldap.ad.bind.password",
+          "ranger.ldap.ad.referral",
+          "ranger.ldap.ad.user.searchfilter"
+        ]
+      },
+      {
+        "displayName": "UNIX",
+        "foreignKeys": [
+          "ranger.unixauth.service.port",
+          "ranger.unixauth.service.hostname",
+          "ranger.unixauth.remote.login.enabled"
+        ]
+      },
+      {
+        "displayName": "PAM"
+      },
+      {
+        "displayName": "NONE"
+      }
+    ],
+    "radioName": "authentication-method",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "RangerSettings",
+    "filename": "admin-properties.xml",
+    "name": "policymgr_external_url",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "UnixAuthenticationSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.unixauth.remote.login.enabled",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "UnixAuthenticationSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.unixauth.service.hostname",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "UnixAuthenticationSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.unixauth.service.port",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "LDAPSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.url",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "LDAPSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.user.dnpattern",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "LDAPSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.group.roleattribute",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "LDAPSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.base.dn",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "LDAPSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.bind.dn",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "LDAPSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.bind.password",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "LDAPSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.referral",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "LDAPSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.user.searchfilter",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "KnoxSSOSettings",
+    "filename": "ranger-admin-site.xml",
+    "index": 2,
+    "name": "ranger.sso.providerurl",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "KnoxSSOSettings",
+    "filename": "ranger-admin-site.xml",
+    "index": 3,
+    "name": "ranger.sso.publicKey",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "KnoxSSOSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.sso.cookiename",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "KnoxSSOSettings",
+    "filename": "ranger-admin-site.xml",
+    "index": 1,
+    "name": "ranger.sso.enabled",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "KnoxSSOSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.sso.query.param.originalurl",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "KnoxSSOSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.sso.browser.useragent",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "ADSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.ad.domain",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "ADSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.ad.url",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "ADSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.ad.base.dn",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "ADSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.ad.bind.dn",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "ADSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.ad.bind.password",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "ADSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.ad.referral",
+    "serviceName": "RANGER"
+  },
+  {
+    "category": "ADSettings",
+    "filename": "ranger-admin-site.xml",
+    "name": "ranger.ldap.ad.user.searchfilter",
+    "serviceName": "RANGER"
+  }
+];

+ 296 - 0
ambari-web/app/data/configs/services/storm_properties.js

@@ -0,0 +1,296 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.zookeeper.root",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.local.dir",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.zookeeper.servers",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.zookeeper.port",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.zookeeper.session.timeout",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.zookeeper.connection.timeout",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.zookeeper.retry.times",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.zookeeper.retry.interval",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.zookeeper.retry.intervalceiling.millis",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.cluster.mode",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.local.mode.zmq",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.messaging.transport",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.messaging.netty.buffer_size",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.messaging.netty.max_retries",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.messaging.netty.max_wait_ms",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.messaging.netty.min_wait_ms",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.messaging.netty.server_worker_threads",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "General",
+    "filename": "storm-site.xml",
+    "name": "storm.messaging.netty.client_worker_threads",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.thrift.port",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.thrift.max_buffer_size",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.childopts",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.task.timeout.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.supervisor.timeout.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.monitor.freq.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.cleanup.inbox.freq.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.inbox.jar.expiration.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.task.launch.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.reassign",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.file.copy.expiration.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.topology.validator",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "SUPERVISOR",
+    "filename": "storm-site.xml",
+    "name": "supervisor.slots.ports",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "SUPERVISOR",
+    "filename": "storm-site.xml",
+    "name": "supervisor.childopts",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "SUPERVISOR",
+    "filename": "storm-site.xml",
+    "name": "supervisor.worker.start.timeout.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "SUPERVISOR",
+    "filename": "storm-site.xml",
+    "name": "supervisor.worker.timeout.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "SUPERVISOR",
+    "filename": "storm-site.xml",
+    "name": "supervisor.monitor.frequency.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "SUPERVISOR",
+    "filename": "storm-site.xml",
+    "name": "supervisor.heartbeat.frequency.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "DRPC_SERVER",
+    "filename": "storm-site.xml",
+    "name": "drpc.port",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "DRPC_SERVER",
+    "filename": "storm-site.xml",
+    "name": "drpc.worker.threads",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "DRPC_SERVER",
+    "filename": "storm-site.xml",
+    "name": "drpc.queue.size",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "DRPC_SERVER",
+    "filename": "storm-site.xml",
+    "name": "drpc.invocations.port",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "DRPC_SERVER",
+    "filename": "storm-site.xml",
+    "name": "drpc.request.timeout.secs",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "DRPC_SERVER",
+    "filename": "storm-site.xml",
+    "name": "drpc.childopts",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "STORM_UI_SERVER",
+    "filename": "storm-site.xml",
+    "name": "ui.port",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "STORM_UI_SERVER",
+    "filename": "storm-site.xml",
+    "name": "ui.childopts",
+    "serviceName": "STORM"
+  },
+  {
+    "filename": "ranger-storm-plugin-properties.xml",
+    "index": 1,
+    "name": "ranger-storm-plugin-enabled",
+    "serviceName": "STORM"
+  },
+  {
+    "category": "NIMBUS",
+    "filename": "storm-site.xml",
+    "name": "nimbus.seeds",
+    "serviceName": "STORM"
+  }
+];

+ 92 - 0
ambari-web/app/data/configs/services/tez_properties.js

@@ -0,0 +1,92 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.am.resource.memory.mb",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.am.log.level",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.am.launch.cmd-opts",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.am.launch.env",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.task.resource.memory.mb",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.task.launch.cmd-opts",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.task.launch.env",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.grouping.split-waves",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.grouping.min-size",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.grouping.max-size",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.runtime.compress",
+    "serviceName": "TEZ"
+  },
+  {
+    "category": "General",
+    "filename": "tez-site.xml",
+    "name": "tez.runtime.compress.codec",
+    "serviceName": "TEZ"
+  }
+];

+ 300 - 0
ambari-web/app/data/configs/services/yarn_properties.js

@@ -0,0 +1,300 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "RESOURCEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.acl.enable",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "RESOURCEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.admin.acl",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "RESOURCEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.log-aggregation-enable",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "CapacityScheduler",
+    "filename": "yarn-site.xml",
+    "name": "yarn.resourcemanager.scheduler.class",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "CapacityScheduler",
+    "filename": "yarn-site.xml",
+    "name": "yarn.scheduler.minimum-allocation-mb",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "CapacityScheduler",
+    "filename": "yarn-site.xml",
+    "name": "yarn.scheduler.maximum-allocation-mb",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.resource.memory-mb",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.vmem-pmem-ratio",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "Isolation",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.linux-container-executor.group",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.log-dirs",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.local-dirs",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.remote-app-log-dir",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.remote-app-log-dir-suffix",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.aux-services",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.log.retain-second",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "General",
+    "filename": "yarn-env.xml",
+    "index": 0,
+    "name": "yarn_heapsize",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "RESOURCEMANAGER",
+    "filename": "yarn-env.xml",
+    "index": 1,
+    "name": "resourcemanager_heapsize",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "NODEMANAGER",
+    "filename": "yarn-env.xml",
+    "index": 1,
+    "name": "nodemanager_heapsize",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-env.xml",
+    "index": 1,
+    "name": "apptimelineserver_heapsize",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.enabled",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.leveldb-timeline-store.path",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.store-class",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.ttl-enable",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.ttl-ms",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.generic-application-history.store-class",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.webapp.address",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.webapp.https.address",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.address",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.leveldb-state-store.path",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "APP_TIMELINE_SERVER",
+    "filename": "yarn-site.xml",
+    "name": "yarn.timeline-service.state-store-class",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "FaultTolerance",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.recovery.enabled",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "FaultTolerance",
+    "filename": "yarn-site.xml",
+    "name": "yarn.resourcemanager.recovery.enabled",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "FaultTolerance",
+    "filename": "yarn-site.xml",
+    "name": "yarn.resourcemanager.work-preserving-recovery.enabled",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "FaultTolerance",
+    "filename": "yarn-site.xml",
+    "name": "yarn.resourcemanager.zk-address",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "FaultTolerance",
+    "filename": "yarn-site.xml",
+    "name": "yarn.resourcemanager.connect.retry-interval.ms",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "FaultTolerance",
+    "filename": "yarn-site.xml",
+    "name": "yarn.resourcemanager.connect.max-wait.ms",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "FaultTolerance",
+    "filename": "yarn-site.xml",
+    "name": "yarn.resourcemanager.ha.enabled",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "Isolation",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.container-executor.class",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "Isolation",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.linux-container-executor.resources-handler.class",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "Isolation",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.linux-container-executor.cgroups.hierarchy",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "Isolation",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.linux-container-executor.cgroups.mount",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "Isolation",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "CapacityScheduler",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.resource.cpu-vcores",
+    "serviceName": "YARN"
+  },
+  {
+    "category": "CapacityScheduler",
+    "filename": "yarn-site.xml",
+    "name": "yarn.nodemanager.resource.percentage-physical-cpu-limit",
+    "serviceName": "YARN"
+  },
+  {
+    "filename": "ranger-yarn-plugin-properties.xml",
+    "index": 1,
+    "name": "ranger-yarn-plugin-enabled",
+    "serviceName": "YARN"
+  }
+];

+ 67 - 0
ambari-web/app/data/configs/services/zookeeper_properties.js

@@ -0,0 +1,67 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "category": "ZOOKEEPER_SERVER",
+    "filename": "zoo.cfg.xml",
+    "index": 1,
+    "name": "dataDir",
+    "serviceName": "ZOOKEEPER"
+  },
+  {
+    "category": "ZOOKEEPER_SERVER",
+    "filename": "zoo.cfg.xml",
+    "index": 2,
+    "name": "tickTime",
+    "serviceName": "ZOOKEEPER"
+  },
+  {
+    "category": "ZOOKEEPER_SERVER",
+    "filename": "zoo.cfg.xml",
+    "index": 3,
+    "name": "initLimit",
+    "serviceName": "ZOOKEEPER"
+  },
+  {
+    "category": "ZOOKEEPER_SERVER",
+    "filename": "zoo.cfg.xml",
+    "index": 4,
+    "name": "syncLimit",
+    "serviceName": "ZOOKEEPER"
+  },
+  {
+    "category": "ZOOKEEPER_SERVER",
+    "filename": "zoo.cfg.xml",
+    "index": 5,
+    "name": "clientPort",
+    "serviceName": "ZOOKEEPER"
+  },
+  {
+    "filename": "zookeeper-env.xml",
+    "index": 0,
+    "name": "zk_log_dir",
+    "serviceName": "ZOOKEEPER"
+  },
+  {
+    "filename": "zookeeper-env.xml",
+    "index": 1,
+    "name": "zk_pid_dir",
+    "serviceName": "ZOOKEEPER"
+  }
+];

+ 55 - 0
ambari-web/app/data/configs/site_properties.js

@@ -0,0 +1,55 @@
+/**
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+/**
+ * Returns list of config properties
+ * @param {string[]} serviceNames list of service names
+ * @return {object[]}
+ */
+var includeSiteProperties = function() {
+  var serviceNames = Array.prototype.slice.call(arguments);
+  return serviceNames.reduce(function(acc, serviceName) {
+    return acc.concat(require('data/configs/services/' + serviceName + '_properties'));
+  }, []);
+};
+
+module.exports = {
+  configProperties: includeSiteProperties(
+    'accumulo',
+    'ambari_infra',
+    'ambari_metrics',
+    'falcon',
+    'flume',
+    'glusterfs',
+    'hawq',
+    'hbase',
+    'hdfs',
+    'hive',
+    'kafka',
+    'kerberos',
+    'knox',
+    'logsearch',
+    'mapreduce2',
+    'oozie',
+    'ranger',
+    'storm',
+    'tez',
+    'yarn',
+    'zookeeper'
+  )
+};

+ 0 - 0
ambari-web/app/data/HDP2/ui_properties.js → ambari-web/app/data/configs/ui_properties.js


+ 0 - 0
ambari-web/app/data/HDP2/ha_properties.js → ambari-web/app/data/configs/wizards/ha_properties.js


+ 0 - 0
ambari-web/app/data/HDP2.3/hawq_activate_standby_properties.js → ambari-web/app/data/configs/wizards/hawq_activate_standby_properties.js


+ 0 - 0
ambari-web/app/data/HDP2.3/hawq_ha_properties.js → ambari-web/app/data/configs/wizards/hawq_ha_properties.js


+ 0 - 0
ambari-web/app/data/HDP2/kerberos_descriptor_properties.js → ambari-web/app/data/configs/wizards/kerberos_descriptor_properties.js


+ 0 - 0
ambari-web/app/data/HDP2/kerberos_identities.js → ambari-web/app/data/configs/wizards/kerberos_identities.js


+ 0 - 0
ambari-web/app/data/HDP2/move_journal_node_properties.js → ambari-web/app/data/configs/wizards/move_journal_node_properties.js


+ 0 - 0
ambari-web/app/data/HDP2/rm_ha_properties.js → ambari-web/app/data/configs/wizards/rm_ha_properties.js


+ 0 - 0
ambari-web/app/data/HDP2/secure_mapping.js → ambari-web/app/data/configs/wizards/secure_mapping.js


+ 0 - 2
ambari-web/app/data/custom_stack_map.js

@@ -16,8 +16,6 @@
  * limitations under the License.
  */
 
-var App = require('app');
-
 /*
 sign will be compared like: <clusterSelectedStackVersion> sign <stackVersionNumber> if true use this baseStackFolder
 Example:

+ 1 - 1
ambari-web/app/mappers/configs/stack_config_properties_mapper.js

@@ -218,7 +218,7 @@ App.stackConfigPropertiesMapper = App.QuickDataMapper.create({
    * @param configs
    */
   addUIOnlyProperties: function(configs) {
-    require('data/HDP2/ui_properties').concat(require('data/HDP2/alert_notification')).forEach(function(p) {
+    require('data/configs/ui_properties').concat(require('data/configs/alert_notification')).forEach(function(p) {
       if(p.name == "dfs.ha.fencing.methods" && !App.get('isHaEnabled')) return;
 
       configs.push({

+ 1 - 1
ambari-web/app/mixins/wizard/addSecurityConfigs.js

@@ -27,7 +27,7 @@ App.AddSecurityConfigs = Em.Mixin.create({
 
   kerberosDescriptor: {},
 
-  kerberosDescriptorProperties: require('data/HDP2/kerberos_descriptor_properties'),
+  kerberosDescriptorProperties: require('data/configs/wizards/kerberos_descriptor_properties'),
 
   /**
    * security configs, which values should be modified after APPLY CONFIGURATIONS stage

+ 12 - 1
ambari-web/app/models/stack_service.js

@@ -17,6 +17,7 @@
  */
 
 var App = require('app');
+var stringUtils = require('utils/string_utils');
 require('utils/helper');
 require('models/configs/objects/service_config_category');
 
@@ -179,7 +180,17 @@ App.StackService = DS.Model.extend({
       });
     }
     return configCategories;
-  }.property('serviceName', 'configTypes', 'serviceComponents')
+  }.property('serviceName', 'configTypes', 'serviceComponents'),
+
+  /**
+   * Compare specified version with current service version
+   * @param  {string} version [description]
+   * @return {number} 0 - equal, -1 - less, +1 - more @see stringUtils#compareVersions
+   */
+  compareCurrentVersion: function(version) {
+    var toMinor = this.get('serviceVersion').split('.').slice(0, 2).join('.');
+    return stringUtils.compareVersions(toMinor, version);
+  }
 });
 
 App.StackService.FIXTURES = [];

+ 4 - 21
ambari-web/app/utils/config.js

@@ -131,7 +131,7 @@ App.config = Em.Object.create({
     this.set('preDefinedServiceConfigs', allTabs);
   },
 
-  secureConfigs: require('data/HDP2/secure_mapping'),
+  secureConfigs: require('data/configs/wizards/secure_mapping'),
 
   secureConfigsMap: function () {
     var ret = {};
@@ -141,7 +141,7 @@ App.config = Em.Object.create({
     return ret;
   }.property('secureConfigs.[]'),
 
-  kerberosIdentities: require('data/HDP2/kerberos_identities').configProperties,
+  kerberosIdentities: require('data/configs/wizards/kerberos_identities').configProperties,
 
   kerberosIdentitiesMap: function() {
     var map = {};
@@ -177,23 +177,14 @@ App.config = Em.Object.create({
     return baseStackFolder;
   },
 
-  allPreDefinedSiteProperties: function() {
-    var sitePropertiesForCurrentStack = this.preDefinedConfigFile(this.mapCustomStack(), 'site_properties');
-    if (sitePropertiesForCurrentStack) {
-      return sitePropertiesForCurrentStack.configProperties;
-    } else if (App.get('isHadoop23Stack')) {
-      return require('data/HDP2.3/site_properties').configProperties;
-    } else {
-      return require('data/HDP2.2/site_properties').configProperties;
-    }
-  }.property('App.isHadoop23Stack'),
+  allPreDefinedSiteProperties: require('data/configs/site_properties').configProperties,
 
   preDefinedSiteProperties: function () {
     var serviceNames = App.StackService.find().mapProperty('serviceName').concat('MISC');
     return this.get('allPreDefinedSiteProperties').filter(function(p) {
       return serviceNames.contains(p.serviceName);
     });
-  }.property('allPreDefinedSiteProperties'),
+  }.property().volatile(),
 
   /**
    * map of <code>preDefinedSiteProperties</code> provide search by index
@@ -208,14 +199,6 @@ App.config = Em.Object.create({
     return map;
   }.property('preDefinedSiteProperties'),
 
-  preDefinedConfigFile: function(folder, file) {
-    try {
-      return require('data/{0}/{1}'.format(folder, file));
-    } catch (err) {
-      // the file doesn't exist, which might be expected.
-    }
-  },
-
   serviceByConfigTypeMap: function () {
     var ret = {};
     App.StackService.find().forEach(function(s) {

+ 3 - 2
ambari-web/app/views/common/controls_view.js

@@ -1052,11 +1052,12 @@ App.CheckDBConnectionView = Ember.View.extend({
       OOZIE: ['oozie.db.schema.name', 'oozie.service.JPAService.jdbc.username', 'oozie.service.JPAService.jdbc.password', 'oozie.service.JPAService.jdbc.driver', 'oozie.service.JPAService.jdbc.url'],
       HIVE: ['ambari.hive.db.schema.name', 'javax.jdo.option.ConnectionUserName', 'javax.jdo.option.ConnectionPassword', 'javax.jdo.option.ConnectionDriverName', 'javax.jdo.option.ConnectionURL'],
       KERBEROS: ['kdc_hosts'],
-      RANGER: App.get('isHadoop23Stack') ? ['db_user', 'db_password', 'db_name', 'ranger.jpa.jdbc.url', 'ranger.jpa.jdbc.driver'] :
+      RANGER: App.StackService.find('RANGER').compareCurrentVersion('0.5') > -1 ?
+          ['db_user', 'db_password', 'db_name', 'ranger.jpa.jdbc.url', 'ranger.jpa.jdbc.driver'] :
           ['db_user', 'db_password', 'db_name', 'ranger_jdbc_connection_url', 'ranger_jdbc_driver']
     };
     return propertiesMap[this.get('parentView.service.serviceName')];
-  }.property('App.isHadoop23Stack'),
+  }.property(),
   /** @property {Object} propertiesPattern - check pattern according to type of connection properties **/
   propertiesPattern: function() {
     var patterns = {

+ 4 - 2
ambari-web/app/views/main/dashboard/widgets/hbase_links.js

@@ -26,7 +26,9 @@ App.HBaseLinksView = App.LinkDashboardWidgetView.extend({
 
   model_type: 'hbase',
 
-  port: App.get('isHadoop23Stack') ? '16010' : '60010',
+  port: function() {
+    return App.StackService.find('HBASE').compareCurrentVersion('1.1') > -1 ? '16010' : '60010';
+  }.property(),
 
   componentName: 'HBASE_REGIONSERVER',
 
@@ -54,4 +56,4 @@ App.HBaseLinksView = App.LinkDashboardWidgetView.extend({
     return '';
   }
 
-});
+});

+ 2 - 1
ambari-web/app/views/main/service/reassign/step5_view.js

@@ -18,6 +18,7 @@
 
 
 var App = require('app');
+var stringUtils = require('utils/string_utils');
 
 App.ReassignMasterWizardStep5View = Em.View.extend({
 
@@ -28,7 +29,7 @@ App.ReassignMasterWizardStep5View = Em.View.extend({
       return '';
     }
     var
-      atsDir = App.get('isHadoop23Stack') ? "timeline-state-store.ldb" : "leveldb-timeline-store.ldb",
+      atsDir = App.StackService.find('YARN').compareCurrentVersion('2.7') > -1 ? "timeline-state-store.ldb" : "leveldb-timeline-store.ldb",
       componentDir = this.get('controller.content.componentDir') || '',
       componentDirCmd = componentDir.replace(/,/g, ' '),
       sourceHost = this.get('controller.content.reassignHosts.source'),

+ 1 - 1
ambari-web/copy-pluggable-stack-resources.sh

@@ -45,4 +45,4 @@ if [ -f "$resources_dir/messages.js" ]
 then
   echo cp $resources_dir/messages.js app/messages.js
   cp $resources_dir/messages.js app/messages.js
-fi
+fi

+ 22 - 3
ambari-web/test/controllers/main/host/details_test.js

@@ -2557,12 +2557,16 @@ describe('App.MainHostDetailsController', function () {
         callback();
       });
       sinon.stub(controller, 'loadConfigs', Em.K);
+      sinon.stub(App.StackService, 'find').returns({
+        compareCurrentVersion: function() {}
+      });
     });
 
     afterEach(function () {
       controller.removeHostComponentModel.restore();
       controller.isServiceMetricsLoaded.restore();
       controller.loadConfigs.restore();
+      App.StackService.find.restore();
     });
 
     it('ZOOKEEPER_SERVER component', function () {
@@ -2658,12 +2662,16 @@ describe('App.MainHostDetailsController', function () {
       sinon.stub(controller, 'loadConfigs');
       sinon.stub(controller, 'isServiceMetricsLoaded', Em.clb);
       this.stub = sinon.stub(App.router, 'get');
+      sinon.stub(App.StackService, 'find').returns({
+        compareCurrentVersion: function() {}
+      })
     });
     afterEach(function () {
       controller.loadConfigs.restore();
       controller.removeObserver.restore();
       controller.isServiceMetricsLoaded.restore();
       this.stub.restore();
+      App.StackService.find.restore();
     });
 
     it('No operations of ZOOKEEPER_SERVER', function () {
@@ -3484,32 +3492,43 @@ describe('App.MainHostDetailsController', function () {
       this.serviceMock = sinon.stub(App.Service, 'find');
       sinon.stub(controller, 'loadConfigs');
       this.mock = sinon.stub(App, 'get')
+      this.stackServiceMock = sinon.stub(App.StackService, 'find');
     });
     afterEach(function () {
       this.serviceMock.restore();
       this.mock.restore();
       controller.loadConfigs.restore();
+      this.stackServiceMock.restore();
     });
-    it("storm not installed, hadoop stack is 2.2", function () {
+    it("should not update configs when storm not installed, storm version >= 0.10", function () {
       this.serviceMock.returns(Em.Object.create({
         isLoaded: false
       }));
       this.mock.returns(false);
+      this.stackServiceMock.returns(App.StackService.createRecord({
+        serviceVersion: '0.10.1.1'
+      }));
       controller.updateStormConfigs();
       expect(controller.loadConfigs.called).to.be.false;
     });
-    it("storm installed, hadoop stack is 2.2", function () {
+    it("should not update configs when storm installed, storm version is less 0.10", function () {
       this.serviceMock.returns(Em.Object.create({
         isLoaded: true
       }));
+      this.stackServiceMock.returns(App.StackService.createRecord({
+        serviceVersion: '0.9.1.1'
+      }));
       this.mock.returns(false);
       controller.updateStormConfigs();
       expect(controller.loadConfigs.called).to.be.false;
     });
-    it("storm installed, hadoop stack is 2.3", function () {
+    it("should update configs when storm installed, storm version >= 0.10", function () {
       this.serviceMock.returns(Em.Object.create({
         isLoaded: true
       }));
+      this.stackServiceMock.returns(App.StackService.createRecord({
+        serviceVersion: '0.10.1.1'
+      }));
       this.mock.returns(true);
       controller.updateStormConfigs();
       expect(controller.loadConfigs.calledWith('loadStormConfigs')).to.be.true;

+ 0 - 76
ambari-web/test/data/HDP2.2/site_properties_test.js

@@ -1,76 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-require('utils/helper');
-require('data/HDP2/gluster_fs_properties');
-var siteProperties = require('data/HDP2.2/site_properties').configProperties;
-
-describe('hdp2SiteProperties', function () {
-  /**
-   * @stackProperties: All the properties that are derived from stack definition
-   */
-  var stackProperties = siteProperties.filter(function(item){
-    return !(item.isRequiredByAgent === false || item.category === 'Ambari Principals')
-  });
-
-  stackProperties.forEach(function(siteProperty){
-    /**
-     * Following config attributes are stack driven and should be defined in the stack metainfo instead of ambari-web site-properties file
-     * isVisible
-     * isOverridable
-     * value
-     * recommendedValue
-     * isReconfigurable
-     * isRequired
-     * displayName
-     * description
-     * showLabel
-     * unit
-     */
-    describe('Check attributes of "{0}/{1}". Stack driven attributes should be undefined '.format(siteProperty.filename, siteProperty.name), function () {
-      ['isVisible', 'value', 'recommendedValue', 'description', 'isReconfigurable', 'isRequired', 'displayName', 'showLabel', 'unit'].forEach(function (p) {
-        it(p, function () {
-          expect(siteProperty[p]).to.not.exist;
-        });
-      });
-    });
-
-    /**
-     * displayTypes <code>supportTextConnection<code> and <code>radio button<code>
-     * can be used as exception. Other displayTypes values should be used in stack definition
-     */
-    it('Check attributes of "{0}/{1}". Display type value {2} should be described in stack '.format(siteProperty.filename, siteProperty.name, siteProperty.displayType), function () {
-      expect(siteProperty.displayType).to.match(/undefined|supportTextConnection|radio button/);
-    });
-
-    /**
-     * Following config attributes uniquely represent a config property
-     * name
-     * filename
-     */
-    describe('Check primary attributes of "{0}/{1}". Attributes that uniquely represent a property should be defined '.format(siteProperty.filename, siteProperty.name), function () {
-      it('name', function () {
-        expect(siteProperty.name).to.not.equal(undefined);
-      });
-      it('filename', function () {
-        expect(siteProperty.filename).to.not.equal(undefined);
-      });
-    });
-  });
-
-});

+ 0 - 76
ambari-web/test/data/HDP2/site_properties_test.js

@@ -1,76 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-require('utils/helper');
-require('data/HDP2/gluster_fs_properties');
-var siteProperties = require('data/HDP2/site_properties').configProperties;
-
-describe('hdp2SiteProperties', function () {
-  /**
-   * @stackProperties: All the properties that are derived from stack definition
-   */
-  var stackProperties = siteProperties.filter(function(item){
-    return !(item.isRequiredByAgent === false || item.category === 'Ambari Principals')
-  });
-
-  stackProperties.forEach(function(siteProperty){
-    /**
-     * Following config attributes are stack driven and should be defined in the stack metainfo instead of ambari-web site-properties file
-     * isVisible
-     * isOverridable
-     * value
-     * recommendedValue
-     * isReconfigurable
-     * isRequired
-     * displayName
-     * description
-     * showLabel
-     * unit
-     */
-    describe('Check attributes of "{0}/{1}". Stack driven attributes should be undefined '.format(siteProperty.filename, siteProperty.name), function () {
-      ['isVisible', 'value', 'recommendedValue', 'description', 'isReconfigurable', 'isRequired', 'displayName', 'showLabel', 'unit'].forEach(function (p) {
-        it(p, function () {
-          expect(siteProperty[p]).to.not.exist;
-        });
-      });
-    });
-
-    /**
-     * displayTypes <code>supportTextConnection<code> and <code>radio button<code>
-     * can be used as exception. Other displayTypes values should be used in stack definition
-     */
-    it('Check attributes of "{0}/{1}". Display type value {2} should be described in stack '.format(siteProperty.filename, siteProperty.name, siteProperty.displayType), function () {
-      expect(siteProperty.displayType).to.match(/undefined|supportTextConnection|radio button/);
-    });
-
-    /**
-     * Following config attributes uniquely represent a config property
-     * name
-     * filename
-     */
-    describe('Check primary attributes of "{0}/{1}". Attributes that uniquely represent a property should be defined '.format(siteProperty.filename, siteProperty.name), function () {
-      it('name', function () {
-        expect(siteProperty.name).to.not.equal(undefined);
-      });
-      it('filename', function () {
-        expect(siteProperty.filename).to.not.equal(undefined);
-      });
-    });
-  });
-
-});

+ 2 - 3
ambari-web/test/data/HDP2.3/site_properties_test.js → ambari-web/test/data/configs/site_properties_test.js

@@ -17,10 +17,9 @@
  */
 
 require('utils/helper');
-require('data/HDP2/gluster_fs_properties');
-var siteProperties = require('data/HDP2.3/site_properties').configProperties;
+var siteProperties = require('data/configs/site_properties').configProperties;
 
-describe('hdp2SiteProperties', function () {
+describe('data configs site_properties', function () {
   /**
    * @stackProperties: All the properties that are derived from stack definition
    */

+ 5 - 5
ambari-web/test/data/HDP2/secure_mapping_test.js → ambari-web/test/data/configs/wizards/secure_mapping_test.js

@@ -17,20 +17,20 @@
  */
 
 require('utils/helper');
-var mappedHdp2Properties = require('data/HDP2/secure_mapping');
+var mappedProperties = require('data/configs/wizards/secure_mapping');
 
-describe('hdp2SiteMapping', function () {
+describe('secure mapping properties', function () {
 
   // All mapped properties should have value of string type
-  mappedHdp2Properties.forEach(function(mappedProperty){
+  mappedProperties.forEach(function(mappedProperty){
     it('Value of "{0}" should be string'.format(mappedProperty.name), function () {
       expect(mappedProperty.value).to.be.a('string');
     });
   });
-  mappedHdp2Properties.forEach(function(mappedProperty){
+  mappedProperties.forEach(function(mappedProperty){
     it('Value of "{0}" should have serviceName and filename attribute'.format(mappedProperty.name), function () {
       expect(mappedProperty).to.have.property('serviceName');
       expect(mappedProperty).to.have.property('filename');
     });
   });
-});
+});

+ 2 - 44
ambari-web/test/utils/config_test.js

@@ -199,49 +199,7 @@ describe('App.config', function() {
     });
   });
 
-  describe('#mapCustomStack', function() {
-    before(function() {
-      setups.setupStackVersion(this, 'HDF-2.2');
-    });
-
-    it('versions of HDF > 2.0 should map with HDP 2.3 stack based property definitions', function() {
-      var baseStackFolder = App.config.mapCustomStack();
-      expect(baseStackFolder).to.equal("HDP2.3");
-    });
-
-    it('versions of HDF = 2.0 should map with HDP 2.3 stack based property definitions', function() {
-      App.set('currentStackVersion', 'HDF-2.0');
-      var baseStackFolder = App.config.mapCustomStack();
-      expect(baseStackFolder).to.equal("HDP2.3");
-    });
-
-
-    after(function() {
-      setups.restoreStackVersion(this);
-    });
-  });
-
-  describe('#preDefinedConfigFile', function() {
-    before(function() {
-      setups.setupStackVersion(this, 'BIGTOP-0.8');
-    });
-
-    it('bigtop site properties should be ok.', function() {
-      var bigtopSiteProperties = App.config.preDefinedConfigFile('BIGTOP', 'site_properties');
-      expect(bigtopSiteProperties).to.be.ok;
-    });
-
-    it('a non-existing file should not be ok.', function () {
-      var notExistingSiteProperty = App.config.preDefinedConfigFile('notExisting');
-      expect(notExistingSiteProperty).to.not.be.ok;
-    });
-
-    after(function() {
-      setups.restoreStackVersion(this);
-    });
-  });
-
-  describe('#preDefinedSiteProperties-bigtop', function () {
+  describe.skip('#preDefinedSiteProperties-bigtop', function () {
     before(function() {
       setups.setupStackVersion(this, 'BIGTOP-0.8');
     });
@@ -326,7 +284,7 @@ describe('App.config', function() {
       expect(Em.keys(miscCategory.get('configTypes'))).to.eql(['cluster-env', 'hadoop-env', 'oozie-env']);
     });
   });
-  
+
   describe('#isManagedMySQLForHiveAllowed', function () {
 
     var cases = [