Преглед изворни кода

Revert "Revert "AMBARI-4626. "Capacity Scheduler" section in Ambari does not allow ACL value of "user group" with spaces (aonishuk)""

This reverts commit cf0877cea1cbc5de42c89a342924f5081db8e3f7.
Jonathan Hurley пре 10 година
родитељ
комит
1ee56761ef

+ 2 - 2
ambari-common/src/main/python/resource_management/libraries/providers/modify_properties_file.py

@@ -52,14 +52,14 @@ class ModifyPropertiesFileProvider(Provider):
           in_var_value = line.split(delimiter)[1].strip()
           
           if in_var_name in properties:
-            value = InlineTemplate(unicode(properties[in_var_name])).get_content().strip()
+            value = InlineTemplate(unicode(properties[in_var_name])).get_content()
             new_content_lines[line_num] = u"{0}{1}{2}".format(unicode(in_var_name), delimiter, value)
             unsaved_values.remove(in_var_name)
     else:
       Logger.info(format("Creating new properties file as {filename} doesn't exist"))
        
     for property_name in unsaved_values:
-      value = InlineTemplate(unicode(properties[property_name])).get_content().strip()
+      value = InlineTemplate(unicode(properties[property_name])).get_content()
       line = u"{0}{1}{2}".format(unicode(property_name), delimiter, value)
       new_content_lines.append(line)
           

+ 1 - 1
ambari-common/src/main/python/resource_management/libraries/providers/properties_file.py

@@ -42,7 +42,7 @@ class PropertiesFileProvider(Provider):
 
     config_content = InlineTemplate('''# Generated by Apache Ambari. {{time.asctime(time.localtime())}}
     {% for key, value in properties_dict|dictsort %}
-{{key}}{{key_value_delimiter}}{{ resource_management.core.source.InlineTemplate(str(value)).get_content().strip() }}{% endfor %}
+{{key}}{{key_value_delimiter}}{{ resource_management.core.source.InlineTemplate(str(value)).get_content() }}{% endfor %}
     ''', extra_imports=[time, resource_management, resource_management.core, resource_management.core.source], properties_dict=self.resource.properties, key_value_delimiter=self.resource.key_value_delimiter)
 
     Logger.info(format("Generating properties file: {filepath}"))

+ 1 - 1
ambari-common/src/main/python/resource_management/libraries/providers/xml_config.py

@@ -41,7 +41,7 @@ class XmlConfigProvider(Provider):
     {% for key, value in configurations_dict|dictsort %}
     <property>
       <name>{{ key|e }}</name>
-      <value>{{ resource_management.core.source.InlineTemplate(str(value)).get_content().strip() |e }}</value>
+      <value>{{ resource_management.core.source.InlineTemplate(str(value)).get_content() |e }}</value>
       {%- if not configuration_attrs is none -%}
       {%- for attrib_name, attrib_occurances in  configuration_attrs.items() -%}
       {%- for property_name, attrib_value in  attrib_occurances.items() -%}

+ 1 - 3
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/core-site.xml

@@ -135,9 +135,7 @@
 
   <property>
     <name>hadoop.security.auth_to_local</name>
-    <value>
-        DEFAULT
-    </value>
+    <value>DEFAULT</value>
 <description>The mapping from kerberos principal names to local OS mapreduce.job.user.names.
   So the default rule is just "DEFAULT" which takes all principals in your default domain to their first component.
   "omalley@APACHE.ORG" and "omalley/admin@APACHE.ORG" to "omalley", if your default domain is APACHE.ORG.

+ 2 - 2
ambari-server/src/main/resources/stacks/HDP/2.2/services/HBASE/configuration/hbase-site.xml

@@ -119,7 +119,7 @@
   </property>
   <property>
     <name>hbase.regionserver.rpc.scheduler.factory.class</name>
-    <value> </value>
+    <value></value>
     <depends-on>
       <property>
         <type>hbase-env</type>
@@ -129,7 +129,7 @@
   </property>
   <property>
     <name>hbase.rpc.controllerfactory.class</name>
-    <value> </value>
+    <value></value>
     <depends-on>
       <property>
         <type>hbase-env</type>

+ 1 - 1
ambari-server/src/main/resources/stacks/HDP/2.2/services/HDFS/configuration/core-site.xml

@@ -30,7 +30,7 @@
 
   <property>
     <name>hadoop.security.key.provider.path</name>
-    <value> </value>
+    <value></value>
     <depends-on>
       <property>
         <type>hadoop-env</type>

+ 1 - 1
ambari-server/src/main/resources/stacks/HDP/2.2/services/HDFS/configuration/hdfs-site.xml

@@ -42,7 +42,7 @@
 
   <property>
     <name>dfs.encryption.key.provider.uri</name>
-    <value> </value>
+    <value></value>
     <depends-on>
       <property>
         <type>hadoop-env</type>

+ 58 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/HDFS/configuration/hdfs-site.xml.orig

@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<!--
+   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.
+-->
+
+<!-- Put site-specific property overrides in this file. -->
+
+<configuration supports_final="true">
+
+  <property>
+    <name>dfs.namenode.startup.delay.block.deletion.sec</name>
+    <value>3600</value>
+    <description></description>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir</name>
+    <value>/hadoop/hdfs/journalnode</value>
+    <description>The path where the JournalNode daemon will store its local state. </description>
+  </property>
+  
+  <property>
+    <name>dfs.client.retry.policy.enabled</name>
+    <value>true</value>
+    <description>Enables HDFS client retry in the event of a NameNode failure.</description>
+  </property>
+
+  <property>
+    <name>dfs.encryption.key.provider.uri</name>
+    <value> </value>
+    <depends-on>
+      <property>
+        <type>hadoop-env</type>
+        <name>keyserver_host</name>
+      </property>
+      <property>
+        <type>hadoop-env</type>
+        <name>keyserver_port</name>
+      </property>
+    </depends-on>
+  </property>
+
+</configuration>

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

@@ -107,6 +107,26 @@ hdp22properties.push(
     "filename": "hdfs-site.xml",
     "index": 1
   },
+  {
+    "id": "site property",
+    "name": "hadoop.security.key.provider.path",
+    "displayName": "hadoop.security.key.provider.path",
+    "defaultValue": "",
+    "isRequired": false,
+    "category": "Advanced core-site",
+    "serviceName": "HDFS",
+    "filename": "core-site.xml"
+  },
+  {
+    "id": "site property",
+    "name": "dfs.encryption.key.provider.uri",
+    "displayName": "dfs.encryption.key.provider.uri",
+    "defaultValue": "",
+    "isRequired": false,
+    "category": "Advanced hdfs-site",
+    "serviceName": "HDFS",
+    "filename": "hdfs-site.xml"
+  },
   {
     "id": "site property",
     "name": "*.falcon.graph.blueprints.graph",
@@ -812,6 +832,26 @@ hdp22properties.push(
     "category": "Advanced hbase-site",
     "serviceName": "HBASE",
     "filename": "hbase-site.xml"
+  },
+  {
+  "id": "site property",
+    "name": "hbase.regionserver.rpc.scheduler.factory.class",
+    "displayName": "hbase.regionserver.rpc.scheduler.factory.class",
+    "defaultValue": "",
+    "isRequired": false,
+    "category": "Advanced hbase-site",
+    "serviceName": "HBASE",
+    "filename": "hbase-site.xml"
+  },
+  {
+    "id": "site property",
+    "name": "hbase.rpc.controllerfactory.class",
+    "displayName": "hbase.rpc.controllerfactory.class",
+    "defaultValue": "",
+    "isRequired": false,
+    "category": "Advanced hbase-site",
+    "serviceName": "HBASE",
+    "filename": "hbase-site.xml"
   }
 );
 

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

@@ -0,0 +1,830 @@
+/**
+ * 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
+  'storm_rest_api_host',
+  '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',
+  'dfs.datanode.data.dir',
+  'hive.heapsize'
+];
+var hdp22properties = hdp2properties.filter(function (item) {
+  return !excludedConfigs.contains(item.name);
+});
+
+hdp22properties.push(
+  {
+    "id": "site property",
+    "name": "hive.zookeeper.quorum",
+    "displayName": "hive.zookeeper.quorum",
+    "recommendedValue": "localhost:2181",
+    "displayType": "multiLine",
+    "isRequired": false,
+    "isVisible": true,
+    "serviceName": "HIVE",
+    "filename": "hive-site.xml",
+    "category": "Advanced hive-site"
+  },
+  {
+    "id": "site property",
+    "name": "hadoop.registry.rm.enabled",
+    "displayName": "hadoop.registry.rm.enabled",
+    "recommendedValue": "false",
+    "displayType": "checkbox",
+    "isVisible": true,
+    "serviceName": "YARN",
+    "filename": "yarn-site.xml",
+    "category": "Advanced yarn-site"
+  },
+  {
+    "id": "site property",
+    "name": "hadoop.registry.zk.quorum",
+    "displayName": "hadoop.registry.zk.quorum",
+    "recommendedValue": "localhost:2181",
+    "isVisible": true,
+    "serviceName": "YARN",
+    "filename": "yarn-site.xml",
+    "category": "Advanced yarn-site"
+  },
+  {
+    "id": "site property",
+    "name": "yarn.timeline-service.leveldb-state-store.path",
+    "displayName": "yarn.timeline-service.leveldb-state-store.path",
+    "defaultDirectory": "/hadoop/yarn/timeline",
+    "category": "APP_TIMELINE_SERVER",
+    "displayType": "directory",
+    "serviceName": "YARN",
+    "filename": "yarn-site.xml"
+  },
+  {
+    "id": "site property",
+    "name": "yarn.timeline-service.state-store-class",
+    "displayName": "yarn.timeline-service.state-store-class",
+    "category": "APP_TIMELINE_SERVER",
+    "serviceName": "YARN",
+    "filename": "yarn-site.xml"
+  },
+  {
+    "id": "site property",
+    "name": "dfs.datanode.data.dir",
+    "displayName": "DataNode directories",
+    "defaultDirectory": "/hadoop/hdfs/data",
+    "displayType": "datanodedirs",
+    "category": "DATANODE",
+    "serviceName": "HDFS",
+    "filename": "hdfs-site.xml",
+    "index": 1
+  },
+  {
+    "id": "site property",
+    "name": "*.falcon.graph.blueprints.graph",
+    "displayName": "*.falcon.graph.blueprints.graph",
+    "category": "FalconStartupSite",
+    "serviceName": "FALCON",
+    "filename": "falcon-startup.properties.xml"
+  },
+  {
+    "id": "site property",
+    "name": "*.falcon.graph.storage.backend",
+    "displayName": "*.falcon.graph.storage.backend",
+    "category": "FalconStartupSite",
+    "serviceName": "FALCON",
+    "filename": "falcon-startup.properties.xml"
+  },
+  /*********RANGER FOR HDFS************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties",
+    "serviceName": "HDFS"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties",
+    "serviceName": "HDFS"
+  },
+  {
+    "id": "site property",
+    "name": "ranger-hdfs-plugin-enabled",
+    "displayType": "checkbox",
+    "displayName": "Enable Ranger for HDFS",
+    "isOverridable": false,
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties",
+    "serviceName": "HDFS",
+    "index": 1
+  },
+  {
+    "id": "site property",
+    "name": "policy_user",
+    "value": "ambari-qa",
+    "recommendedValue": "ambari-qa",
+    "displayName": "policy User for HDFS",
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties",
+    "serviceName": "HDFS"
+  },
+  {
+    "id": "site property",
+    "name": "REPOSITORY_CONFIG_USERNAME",
+    "displayName": "Ranger repository config user",
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties",
+    "serviceName": "HDFS"
+  },
+  /*********RANGER FOR HIVE************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  {
+    "id": "site property",
+    "name": "ranger-hive-plugin-enabled",
+    "displayType": "checkbox",
+    "displayName": "Enable Ranger for HIVE",
+    "isOverridable": false,
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE",
+    "index": 1
+  },
+  {
+    "id": "site property",
+    "name": "policy_user",
+    "value": "ambari-qa",
+    "recommendedValue": "ambari-qa",
+    "displayName": "policy User for HIVE",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  {
+    "id": "site property",
+    "name": "REPOSITORY_CONFIG_USERNAME",
+    "displayName": "Ranger repository config user",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  {
+    "id": "site property",
+    "name": "UPDATE_XAPOLICIES_ON_GRANT_REVOKE",
+    "recommendedValue": true,
+    "displayType": "checkbox",
+    "displayName": "Should Hive GRANT/REVOKE update XA policies?",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  /*********RANGER FOR HBASE************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  {
+    "id": "site property",
+    "name": "ranger-hbase-plugin-enabled",
+    "displayType": "checkbox",
+    "displayName": "Enable Ranger for HBASE",
+    "isOverridable": false,
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE",
+    "index": 1
+  },
+  {
+    "id": "site property",
+    "name": "policy_user",
+    "value": "ambari-qa",
+    "recommendedValue": "ambari-qa",
+    "displayName": "policy User for HBASE",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  {
+    "id": "site property",
+    "name": "REPOSITORY_CONFIG_USERNAME",
+    "displayName": "Ranger repository config user",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  {
+    "id": "site property",
+    "name": "UPDATE_XAPOLICIES_ON_GRANT_REVOKE",
+    "recommendedValue": true,
+    "displayName": "Should HBase GRANT/REVOKE update XA policies?",
+    "displayType": "checkbox",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  /*********RANGER FOR STORM************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced ranger-storm-plugin-properties",
+    "serviceName": "STORM"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced ranger-storm-plugin-properties",
+    "serviceName": "STORM"
+  },
+  {
+    "id": "site property",
+    "name": "ranger-storm-plugin-enabled",
+    "displayType": "checkbox",
+    "displayName": "Enable Ranger for STORM",
+    "isOverridable": false,
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced ranger-storm-plugin-properties",
+    "serviceName": "STORM",
+    "index": 1
+  },
+  {
+    "id": "site property",
+    "name": "policy_user",
+    "value": "ambari-qa",
+    "recommendedValue": "ambari-qa",
+    "displayName": "policy User for STORM",
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced ranger-storm-plugin-properties",
+    "serviceName": "STORM"
+  },
+  {
+    "id": "site property",
+    "name": "REPOSITORY_CONFIG_USERNAME",
+    "displayName": "Ranger repository config user",
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced ranger-storm-plugin-properties",
+    "serviceName": "STORM"
+  },
+  /*********RANGER FOR KNOX************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties",
+    "serviceName": "KNOX"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties",
+    "serviceName": "KNOX"
+  },
+  {
+    "id": "site property",
+    "name": "ranger-knox-plugin-enabled",
+    "displayType": "checkbox",
+    "displayName": "Enable Ranger for KNOX",
+    "isOverridable": false,
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties",
+    "serviceName": "KNOX",
+    "index": 1
+  },
+  {
+    "id": "site property",
+    "name": "policy_user",
+    "value": "ambari-qa",
+    "recommendedValue": "ambari-qa",
+    "displayName": "policy User for KNOX",
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties",
+    "serviceName": "KNOX"
+  },
+  {
+    "id": "site property",
+    "name": "REPOSITORY_CONFIG_USERNAME",
+    "displayName": "Ranger repository config user",
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties",
+    "serviceName": "KNOX"
+  },
+  /**********************************************SPARK***************************************/
+  {
+    "id": "site property",
+    "name": "spark.driver.extraJavaOptions",
+    "displayName": "spark.driver.extraJavaOptions",
+    "recommendedValue": "",
+    "isRequired": false,
+    "category": "Advanced spark-defaults",
+    "serviceName": "SPARK",
+    "filename": "spark-defaults.xml"
+  },
+  {
+    "id": "site property",
+    "name": "spark.yarn.am.extraJavaOptions",
+    "displayName": "spark.yarn.am.extraJavaOptions",
+    "recommendedValue": "",
+    "isRequired": false,
+    "category": "Advanced spark-defaults",
+    "serviceName": "SPARK",
+    "filename": "spark-defaults.xml"
+  },
+  /**********************************************RANGER***************************************/
+  {
+    "id": "site property",
+    "name": "ranger_admin_password",
+    "displayName": "Ranger Admin user's password for Ambari",
+    "recommendedValue": "ambari",
+    "isReconfigurable": true,
+    "displayType": "password",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "ranger-env.xml",
+    "category": "AdminSettings"
+  },
+  {
+    "id": "site property",
+    "name": "SQL_CONNECTOR_JAR",
+    "displayName": "Location of Sql Connector Jar",
+    "recommendedValue": "/usr/share/java/mysql-connector-java.jar",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "AdminSettings"
+  },
+  {
+    "id": "site property",
+    "name": "DB_FLAVOR",
+    "displayName": "DB FLAVOR",
+    "value": "MYSQL",
+    "recommendedValue": "MYSQL",
+    "isReconfigurable": true,
+    "options": [
+      {
+        displayName: 'MYSQL'
+      },
+      {
+        displayName: 'ORACLE'
+      }
+    ],
+    "displayType": "radio button",
+    "radioName": "RANGER DB_FLAVOR",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "SQL_COMMAND_INVOKER",
+    "displayName": "SQL Command Invoker",
+    "recommendedValue": "mysql",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_host",
+    "displayName": "Ranger DB host",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_root_user",
+    "displayName": "Ranger DB root user",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_root_password",
+    "displayName": "Ranger DB root password",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "password",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_name",
+    "displayName": "Ranger DB name",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+
+  {
+    "id": "site property",
+    "name": "db_user",
+    "displayName": "Ranger DB username",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_password",
+    "displayName": "Ranger DB password",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "password",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "audit_db_name",
+    "displayName": "Ranger Audit DB name",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "audit_db_user",
+    "displayName": "Ranger Audit DB username",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "audit_db_password",
+    "displayName": "Ranger Audit DB password",
+    "recommendedValue": "",
+    "isReconfigurable": true,
+    "displayType": "password",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "puppet var",
+    "name": "policymgr_external_url",
+    "displayName": "External URL",
+    "recommendedValue": "http://localhost:6080",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "RangerSettings"
+  },
+  {
+    "id": "puppet var",
+    "name": "policymgr_http_enabled",
+    "displayName": "HTTP enabled",
+    "recommendedValue": true,
+    "isReconfigurable": true,
+    "displayType": "checkbox",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "RangerSettings"
+  },
+  {
+    "id": "puppet var",
+    "name": "ranger_user",
+    "displayName": "Used to create user and assign permission",
+    "recommendedValue": "ranger",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "ranger-env.xml",
+    "category": "RangerSettings"
+  },
+  {
+    "id": "puppet var",
+    "name": "ranger_group",
+    "displayName": "Used to create group and assign permission",
+    "recommendedValue": "ranger",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "ranger-env.xml",
+    "category": "RangerSettings"
+  },
+  {
+    "id": "site property",
+    "name": "authentication_method",
+    "displayName": "Authentication method",
+    "recommendedValue": "NONE",
+    "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",
+    "isReconfigurable": true,
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "RangerSettings"
+  },
+  {
+    "id": "site property",
+    "name": "remoteLoginEnabled",
+    "displayName": "Allow remote Login",
+    "recommendedValue": true,
+    "isReconfigurable": true,
+    "displayType": "checkbox",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "UnixAuthenticationSettings"
+  },
+  {
+    "id": "site property",
+    "name": "authServiceHostName",
+    "displayName": "authServiceHostName",
+    "recommendedValue": 'localhost',
+    "isReconfigurable": true,
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "UnixAuthenticationSettings"
+  },
+  {
+    "id": "site property",
+    "name": "authServicePort",
+    "displayName": "authServicePort",
+    "recommendedValue": '5151',
+    "isReconfigurable": true,
+    "displayType": "int",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "UnixAuthenticationSettings"
+  },
+  {
+    "id": "site property",
+    "name": "xa_ldap_url",
+    "displayName": "xa_ldap_url",
+    "isReconfigurable": true,
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "LDAPSettings"
+  },
+  {
+    "id": "site property",
+    "name": "xa_ldap_userDNpattern",
+    "displayName": "xa_ldap_userDNpattern",
+    "isReconfigurable": true,
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "LDAPSettings"
+  },
+  {
+    "id": "site property",
+    "name": "xa_ldap_groupRoleAttribute",
+    "displayName": "xa_ldap_groupRoleAttribute",
+    "isReconfigurable": true,
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "LDAPSettings"
+  },
+  {
+    "id": "site property",
+    "name": "xa_ldap_ad_domain",
+    "displayName": "xa_ldap_ad_domain",
+    "isReconfigurable": true,
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "ADSettings"
+  },
+  {
+    "id": "site property",
+    "name": "xa_ldap_ad_url",
+    "displayName": "xa_ldap_ad_url",
+    "isReconfigurable": true,
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "ADSettings"
+  },
+  {
+    "id": "site property",
+    "name": "hbase.bucketcache.ioengine",
+    "displayName": "hbase.bucketcache.ioengine",
+    "isRequired": false,
+    "serviceName": "HBASE",
+    "filename": "hbase-site.xml",
+    "category": "Advanced hbase-site"
+  },
+  {
+    "id": "site property",
+    "name": "hbase.bucketcache.size",
+    "displayName": "hbase.bucketcache.size",
+    "displayType": "int",
+    "isRequired": false,
+    "serviceName": "HBASE",
+    "filename": "hbase-site.xml",
+    "category": "Advanced hbase-site"
+  },
+  {
+    "id": "site property",
+    "name": "hbase.bucketcache.percentage.in.combinedcache",
+    "displayName": "hbase.bucketcache.percentage.in.combinedcache",
+    "displayType": "float",
+    "isRequired": false,
+    "serviceName": "HBASE",
+    "filename": "hbase-site.xml",
+    "category": "Advanced hbase-site"
+  },
+  {
+    "id": "site property",
+    "name": "hbase_max_direct_memory_size",
+    "displayName": "HBase off-heap MaxDirectMemorySize",
+    "displayType": "int",
+    "isRequired": false,
+    "serviceName": "HBASE",
+    "filename": "hbase-env.xml",
+    "category": "Advanced hbase-env"
+  },
+  {
+    "id": "site property",
+    "name": "hbase.regionserver.global.memstore.size",
+    "displayName": "hbase.regionserver.global.memstore.size",
+    "category": "Advanced hbase-site",
+    "serviceName": "HBASE",
+    "filename": "hbase-site.xml"
+  }
+);
+
+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)
+};