Explorar el Código

AMBARI-13485 Move all 'displayType' values to stack. (ababiichuk)

aBabiichuk hace 9 años
padre
commit
d5b7d404c2
Se han modificado 67 ficheros con 645 adiciones y 411 borrados
  1. 16 0
      ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/configuration/accumulo-env.xml
  2. 24 0
      ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/configuration/accumulo-site.xml
  3. 39 0
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-site.xml
  4. 9 0
      ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-env.xml
  5. 24 0
      ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-startup.properties.xml
  6. 5 0
      ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/configuration/flume-env.xml
  7. 6 0
      ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/configuration/hbase-env.xml
  8. 16 0
      ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/configuration/hbase-site.xml
  9. 3 0
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/core-site.xml
  10. 3 0
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hadoop-env.xml
  11. 20 0
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hdfs-site.xml
  12. 4 0
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-env.xml
  13. 9 0
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-site.xml
  14. 3 0
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/webhcat-site.xml
  15. 6 0
      ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/configuration/kafka-broker.xml
  16. 1 0
      ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/configuration/kafka-env.xml
  17. 15 0
      ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/configuration/kerberos-env.xml
  18. 3 0
      ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/configuration/krb5-conf.xml
  19. 1 0
      ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/knox-env.xml
  20. 7 0
      ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/ranger-knox-plugin-properties.xml
  21. 4 0
      ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/configuration/oozie-env.xml
  22. 6 0
      ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-env.xml
  23. 78 0
      ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-site.xml
  24. 18 0
      ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/configuration/tez-site.xml
  25. 3 0
      ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/configuration-mapred/mapred-env.xml
  26. 8 0
      ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/configuration/yarn-env.xml
  27. 9 0
      ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/configuration/yarn-site.xml
  28. 7 0
      ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/configuration/zoo.cfg.xml
  29. 2 0
      ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/configuration/zookeeper-env.xml
  30. 3 0
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/configuration/cluster-env.xml
  31. 15 0
      ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/YARN/configuration/yarn-site.xml
  32. 2 0
      ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml
  33. 8 0
      ambari-server/src/main/resources/stacks/HDP/2.1/services/HIVE/configuration/hive-site.xml
  34. 1 0
      ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-env.xml
  35. 15 0
      ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-site.xml
  36. 9 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/FALCON/configuration/falcon-startup.properties.xml
  37. 11 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/HBASE/configuration/ranger-hbase-plugin-properties.xml
  38. 7 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/HDFS/configuration/ranger-hdfs-plugin-properties.xml
  39. 8 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/hive-site.xml
  40. 9 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/ranger-hive-plugin-properties.xml
  41. 7 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/STORM/configuration/ranger-storm-plugin-properties.xml
  42. 3 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/STORM/configuration/storm-site.xml
  43. 3 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/TEZ/configuration/tez-site.xml
  44. 12 0
      ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/configuration/yarn-site.xml
  45. 1 0
      ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/configuration/hbase-site.xml
  46. 1 0
      ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hadoop-env.xml
  47. 3 0
      ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hdfs-site.xml
  48. 1 0
      ambari-server/src/main/resources/stacks/HDP/2.3/services/KAFKA/configuration/ranger-kafka-plugin-properties.xml
  49. 1 0
      ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/configuration/ranger-admin-site.xml
  50. 1 0
      ambari-server/src/main/resources/stacks/HDP/2.3/services/STORM/configuration/storm-site.xml
  51. 1 0
      ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/configuration/ranger-yarn-plugin-properties.xml
  52. 0 67
      ambari-web/app/data/HDP2.2/site_properties.js
  53. 2 7
      ambari-web/app/data/HDP2.3/site_properties.js
  54. 94 0
      ambari-web/app/data/HDP2/gluster_fs_properties.js
  55. 0 285
      ambari-web/app/data/HDP2/site_properties.js
  56. 2 2
      ambari-web/app/mixins/common/configs/configs_comparator.js
  57. 8 23
      ambari-web/app/models/configs/objects/service_config_property.js
  58. 13 7
      ambari-web/app/utils/config.js
  59. 1 1
      ambari-web/app/views/common/configs/service_configs_by_category_view.js
  60. 7 6
      ambari-web/test/controllers/main/admin/kerberos/step2_controller_test.js
  61. 4 4
      ambari-web/test/controllers/main/service/info/config_test.js
  62. 9 0
      ambari-web/test/data/HDP2.2/site_properties_test.js
  63. 12 1
      ambari-web/test/data/HDP2.3/site_properties_test.js
  64. 9 0
      ambari-web/test/data/HDP2/site_properties_test.js
  65. 1 1
      ambari-web/test/mock_data_setup/configs_mock_data.js
  66. 11 6
      ambari-web/test/utils/config_test.js
  67. 1 1
      ambari-web/test/views/common/configs/service_configs_by_category_view_test.js

+ 16 - 0
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/configuration/accumulo-env.xml

@@ -64,6 +64,7 @@
     <display-name>Accumulo Log Dir</display-name>
     <description>Log Directories for Accumulo.</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -74,6 +75,7 @@
     <display-name>Accumulo PID Dir</display-name>
     <description>Pid Directory for Accumulo.</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -101,6 +103,7 @@
     <display-name>Accumulo Master Maximum Java heap size</display-name>
     <description>Accumulo Master Heap Size.</description>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
       <overridable>false</overridable>
     </value-attributes>
@@ -111,6 +114,7 @@
     <display-name>Accumulo TServer Maximum Java heap size</display-name>
     <description>Accumulo Tablet Server Heap Size.</description>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
     </value-attributes>
   </property>
@@ -120,6 +124,7 @@
     <display-name>Accumulo Monitor Maximum Java heap size</display-name>
     <description>Accumulo Monitor Heap Size.</description>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
       <overridable>false</overridable>
     </value-attributes>
@@ -130,6 +135,7 @@
     <display-name>Accumulo GC Maximum Java heap size</display-name>
     <description>Accumulo Garbage Collector Heap Size.</description>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
       <overridable>false</overridable>
     </value-attributes>
@@ -140,6 +146,7 @@
     <display-name>Accumulo Other Maximum Java heap size</display-name>
     <description>Heap size for other Accumulo processes.</description>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
     </value-attributes>
   </property>
@@ -148,6 +155,9 @@
     <value>false</value>
     <display-name>Monitor Bind All Interfaces</display-name>
     <description>Controls whether the monitor binds to all interfaces.</description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   <property>
     <name>content</name>
@@ -169,6 +179,9 @@ export ACCUMULO_OTHER_OPTS="-Xmx{{accumulo_other_heapsize}}m -Xms{{accumulo_othe
 # what do when the JVM runs out of heap memory
 export ACCUMULO_KILL_CMD='kill -9 %p'
     </value>
+    <value-attributes>
+      <type>content</type>
+    </value-attributes>
   </property>
   <property>
     <name>server_content</name>
@@ -193,5 +206,8 @@ export ACCUMULO_MONITOR_BIND_ALL={{monitor_bind_str}}
 # what do when the JVM runs out of heap memory
 export ACCUMULO_KILL_CMD='kill -9 %p'
     </value>
+    <value-attributes>
+      <type>content</type>
+    </value-attributes>
   </property>
 </configuration>

+ 24 - 0
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/configuration/accumulo-site.xml

@@ -65,6 +65,9 @@
     <description>Controls whether or not native maps are enabled
       for Accumulo's in-memory map, where incoming writes are
       sorted (see also tserver.memory.maps.max).</description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -96,6 +99,9 @@
     <name>master.port.client</name>
     <value>9999</value>
     <description>Port for client connections to the master.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -103,12 +109,18 @@
     <value>12234</value>
     <description>Port for delivering tracing data to the tracer
       process.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
     <name>tserver.port.client</name>
     <value>9997</value>
     <description>Port for client connections to the tservers.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -116,12 +128,18 @@
     <value>50092</value>
     <description>Port for monitoring the Accumulo garbage
       collector.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
     <name>monitor.port.client</name>
     <value>50095</value>
     <description>Port for the Accumulo monitor UI.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -129,6 +147,9 @@
     <value>4560</value>
     <description>Port for delivering logs for aggregation by the
       Accumulo monitor.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -164,5 +185,8 @@ $HADOOP_CONF_DIR,
     <description>List of jars and directories that will be added to
       Accumulo's classpath.  Ordering matters, as the entries will be
       searched in order when attempting to load a class.</description>
+    <value-attributes>
+      <type>content</type>
+    </value-attributes>
   </property>
 </configuration>

+ 39 - 0
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-site.xml

@@ -53,6 +53,9 @@
       Directory to store aggregator checkpoints. Change to a permanent
       location so that checkpoint ar not lost.
     </description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.host.aggregator.minute.interval</name>
@@ -62,6 +65,9 @@
       Time in seconds to sleep for the minute resolution host based
       aggregator. Default resolution is 2 minutes.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.host.aggregator.hourly.interval</name>
@@ -71,6 +77,9 @@
       Time in seconds to sleep for the hourly resolution host based
       aggregator. Default resolution is 1 hour.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.daily.aggregator.minute.interval</name>
@@ -88,6 +97,9 @@
       Time in seconds to sleep for the hourly resolution cluster wide
       aggregator. Default is 1 hour.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.cluster.aggregator.daily.interval</name>
@@ -105,6 +117,9 @@
       Time in seconds to sleep for the minute resolution cluster wide
       aggregator. Default resolution is 2 minutes.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.host.aggregator.daily.checkpointCutOffMultiplier</name>
@@ -124,6 +139,9 @@
       if aggregator checkpoint is greater than max allowed checkpoint delay,
       the checkpoint will be discarded by the aggregator.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier</name>
@@ -134,6 +152,9 @@
       if aggregator checkpoint is greater than max allowed checkpoint delay,
       the checkpoint will be discarded by the aggregator.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.cluster.aggregator.hourly.checkpointCutOffMultiplier</name>
@@ -144,6 +165,9 @@
       if aggregator checkpoint is greater than max allowed checkpoint delay,
       the checkpoint will be discarded by the aggregator.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier</name>
@@ -154,6 +178,9 @@
       if aggregator checkpoint is greater than max allowed checkpoint delay,
       the checkpoint will be discarded by the aggregator.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.cluster.aggregator.daily.checkpointCutOffMultiplier</name>
@@ -217,6 +244,9 @@
     <description>
       Lowest resolution of desired data for cluster level minute aggregates.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.host.aggregator.daily.ttl</name>
@@ -293,6 +323,9 @@
       Max result limit on number of rows returned. Calculated as follows:
       4 aggregate metrics/min * 60 * 24: Retrieve aggregate data for 1 day.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.service.checkpointDelay</name>
@@ -302,6 +335,9 @@
       Time in seconds to sleep on the first run or when the checkpoint is
       too old.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>timeline.metrics.service.resultset.fetchSize</name>
@@ -310,6 +346,9 @@
     <description>
       JDBC resultset prefect size for aggregator queries.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <!-- Phoenix properties that would manifest in the hbase-site.xml on the client side -->
   <property>

+ 9 - 0
ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-env.xml

@@ -31,6 +31,9 @@
     <value>15000</value>
     <display-name>Falcon server port</display-name>
     <description>Port the Falcon Server listens on.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>falcon_log_dir</name>
@@ -38,6 +41,7 @@
     <display-name>Falcon Log Dir</display-name>
     <description>Falcon log directory.</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -48,6 +52,7 @@
     <display-name>Falcon PID Dir</display-name>
     <description>Falcon pid-file directory.</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -57,6 +62,9 @@
     <value>/hadoop/falcon</value>
     <display-name>Falcon data directory</display-name>
     <description>Directory where Falcon data, such as activemq data, is stored.</description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>falcon_store_uri</name>
@@ -70,6 +78,7 @@
     <value>/hadoop/falcon/embeddedmq/data</value>
     <description>Directory in which embeddedmq data is stored.</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>

+ 24 - 0
ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-startup.properties.xml

@@ -65,6 +65,9 @@
       org.apache.falcon.service.LogCleanupService
     </value>
     <description></description>
+    <value-attributes>
+      <type>multiLine</type>
+    </value-attributes>
   </property>
   <property>
     <name>*.configstore.listeners</name>
@@ -74,6 +77,9 @@
       org.apache.falcon.service.SharedLibraryHostingService
     </value>
     <description></description>
+    <value-attributes>
+      <type>multiLine</type>
+    </value-attributes>
   </property>
   <property>
     <name>*.broker.impl.class</name>
@@ -120,6 +126,9 @@
     <name>*.broker.ttlInMins</name>
     <value>4320</value>
     <description></description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>*.hive.shared.libs</name>
@@ -136,16 +145,25 @@ hive-hcatalog-core,hive-jdbc,hive-webhcat-java-client</value>
     <name>*.max.retry.failure.count</name>
     <value>1</value>
     <description></description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>*.internal.queue.size</name>
     <value>1000</value>
     <description></description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>*.falcon.graph.preserve.history</name>
     <value>false</value>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   <!--properties without default values-->
   <property>
@@ -176,6 +194,9 @@ hive-hcatalog-core,hive-jdbc,hive-webhcat-java-client</value>
     <name>*.falcon.http.authentication.token.validity</name>
     <value>36000</value>
     <description></description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>*.falcon.http.authentication.signature.secret</name>
@@ -191,5 +212,8 @@ hive-hcatalog-core,hive-jdbc,hive-webhcat-java-client</value>
     <name>*.falcon.http.authentication.kerberos.name.rules</name>
     <value>DEFAULT</value>
     <description>The kerberos names rules is to resolve kerberos principal names, refer to Hadoop's KerberosName for more details.</description>
+    <value-attributes>
+      <type>multiLine</type>
+    </value-attributes>
   </property>
 </configuration>

+ 5 - 0
ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/configuration/flume-env.xml

@@ -27,6 +27,7 @@
     <value>/etc/flume/conf</value>
     <description>Location to save configuration files</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -37,6 +38,7 @@
     <value>/var/log/flume</value>
     <description>Location to save log files</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -94,4 +96,7 @@ export HIVE_HOME={{flume_hive_home}}
 export HCAT_HOME={{flume_hcat_home}}
     </value>
   </property>
+  <value-attributes>
+    <type>content</type>
+  </value-attributes>
 </configuration>

+ 6 - 0
ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/configuration/hbase-env.xml

@@ -27,6 +27,7 @@
     <display-name>HBase Log Dir Prefix</display-name>
     <description>Log Directories for HBase.</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -37,6 +38,7 @@
     <display-name>HBase PID Dir</display-name>
     <description>Pid Directory for HBase.</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -64,6 +66,7 @@ and the -Xmn ratio (hbase_regionserver_xmn_ratio) exceeds this value.
     </description>
     <display-name>RegionServers maximum value for -Xmn</display-name>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
     </value-attributes>
   </property>
@@ -72,6 +75,9 @@ and the -Xmn ratio (hbase_regionserver_xmn_ratio) exceeds this value.
     <value>0.2</value>
     <display-name>RegionServers -Xmn in -Xmx ratio</display-name>
     <description>Percentage of max heap size (-Xmx) which used for young generation heap (-Xmn).</description>
+    <value-attributes>
+      <type>float</type>
+    </value-attributes>
   </property>
   <property>
     <name>hbase_master_heapsize</name>

+ 16 - 0
ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/configuration/hbase-site.xml

@@ -48,6 +48,7 @@
     <display-name>HBase Master Port</display-name>
     <description>The port the HBase Master should bind to.</description>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -60,6 +61,9 @@
     than '/tmp' (The '/tmp' directory is often cleared on
     machine restart).
     </description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>hbase.local.dir</name>
@@ -140,6 +144,9 @@
       the minimum possible flushing to occur when updates are blocked due to
       memstore limiting.
     </description>
+    <value-attributes>
+      <type>float</type>
+    </value-attributes>
   </property>
   <property>
     <name>hbase.hregion.memstore.block.multiplier</name>
@@ -190,6 +197,9 @@
       heavy write loads. This can reduce the frequency of stop-the-world
       GC pauses on large heaps.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   <property>
     <name>hbase.hregion.max.filesize</name>
@@ -313,6 +323,9 @@
     blocked for this HRegion until a compaction is completed, or
     until hbase.hstore.blockingWaitTime has been exceeded.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>hfile.block.cache.size</name>
@@ -454,6 +467,9 @@
     list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh
     this is the list of servers which we will start/stop ZooKeeper on.
     </description>
+    <value-attributes>
+      <type>multiLine</type>
+    </value-attributes>
   </property>
   <!-- End of properties used to generate ZooKeeper host:port quorum list. -->
 

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

@@ -177,6 +177,9 @@ If you want to treat all principals from APACHE.ORG with /admin as "admin", your
 RULE[2:$1%$2@$0](.%admin@APACHE.ORG)s/./admin/
 DEFAULT
     </description>
+    <value-attributes>
+      <type>multiLine</type>
+    </value-attributes>
   </property>
   <property>
     <name>net.topology.script.file.name</name>

+ 3 - 0
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hadoop-env.xml

@@ -27,6 +27,7 @@
     <description>Hadoop Log Dir Prefix</description>
     <display-name>Hadoop Log Dir Prefix</display-name>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -37,6 +38,7 @@
     <display-name>Hadoop PID Dir Prefix</display-name>
     <description>Hadoop PID Dir Prefix</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -56,6 +58,7 @@
     <description>Hadoop maximum Java heap size</description>
     <display-name>Hadoop maximum Java heap size</display-name>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
       <overridable>false</overridable>
     </value-attributes>

+ 20 - 0
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hdfs-site.xml

@@ -35,6 +35,7 @@
       directories, for redundancy. </description>
     <final>true</final>
     <value-attributes>
+      <type>directories</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -53,6 +54,7 @@
     <description>Whether to enable WebHDFS feature</description>
     <final>true</final>
     <value-attributes>
+      <type>boolean</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -88,6 +90,9 @@
       Directories that do not exist are ignored.
     </description>
     <final>true</final>
+    <value-attributes>
+      <type>directories</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -120,6 +125,7 @@
       replicated in all of the directories for redundancy.
     </description>
     <value-attributes>
+      <type>directories</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -142,6 +148,7 @@
     <display-name>HDFS Maximum Checkpoint Delay</display-name>
     <description>The number of seconds between two periodic checkpoints.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -168,6 +175,9 @@
     <display-name>Block replication</display-name>
     <description>Default block replication.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -264,6 +274,7 @@
     <description>Reserved space in bytes per volume. Always leave this much space free for non dfs use.
     </description>
     <value-attributes>
+      <type>int</type>
       <unit>bytes</unit>
     </value-attributes>
   </property>
@@ -367,6 +378,9 @@
       directories. The datanode will not come up if the permissions are
       different on existing dfs.datanode.data.dir directories. If the directories
       don't exist, they will be created with this permission.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -377,6 +391,9 @@
       The default value is 1 hour. Setting a value of 0 disables
       access times for HDFS.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -445,6 +462,9 @@
     <description>
       This configuration parameter turns on short-circuit local reads.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>

+ 4 - 0
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-env.xml

@@ -91,6 +91,7 @@
     <display-name>Hive Log Dir</display-name>
     <description>Directory for Hive Log files.</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -101,6 +102,7 @@
     <display-name>Hive PID Dir</display-name>
     <description>Hive PID Dir.</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -121,6 +123,7 @@
     <display-name>WebHCat Log Dir</display-name>
     <description>WebHCat Log Dir.</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -131,6 +134,7 @@
     <display-name>WebHCat Pid Dir</display-name>
     <description>WebHCat Pid Dir.</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>

+ 9 - 0
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-site.xml

@@ -27,6 +27,7 @@ limitations under the License.
     <value-attributes>
       <unit>MB</unit>
       <overridable>false</overridable>
+      <type>int</type>
     </value-attributes>
   </property>
 
@@ -36,6 +37,7 @@ limitations under the License.
     <display-name>Database Name</display-name>
     <description>Database name used as the Hive Metastore</description>
     <value-attributes>
+      <type>host</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -146,6 +148,9 @@ limitations under the License.
     <name>hive.security.authorization.enabled</name>
     <value>false</value>
     <description>enable or disable the hive client authorization</description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -351,6 +356,7 @@ limitations under the License.
     </description>
     <value-attributes>
       <overridable>false</overridable>
+      <type>int</type>
     </value-attributes>
   </property>
 
@@ -363,6 +369,9 @@ limitations under the License.
       should use the ZooKeeper ensemble: hive.zookeeper.quorum in their
       connection string.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>

+ 3 - 0
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/webhcat-site.xml

@@ -118,6 +118,9 @@ limitations under the License.
     <name>templeton.zookeeper.hosts</name>
     <value>localhost:2181</value>
     <description>ZooKeeper servers, as comma separated host:port pairs</description>
+    <value-attributes>
+      <type>multiLine</type>
+    </value-attributes>
   </property>
 
   <property>

+ 6 - 0
ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/configuration/kafka-broker.xml

@@ -28,6 +28,9 @@
       A comma-separated list of one or more directories in which Kafka data is stored.
       Each new partition that is created will be placed in the directory which currently has the fewest partitions.
     </description>
+    <value-attributes>
+      <type>directories</type>
+    </value-attributes>
   </property>
   <property>
     <name>port</name>
@@ -35,6 +38,9 @@
     <description>
       The port on which the server accepts client connections.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>zookeeper.connect</name>

+ 1 - 0
ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/configuration/kafka-env.xml

@@ -39,6 +39,7 @@
     <display-name>Kafka PID dir</display-name>
     <description></description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>

+ 15 - 0
ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/configuration/kerberos-env.xml

@@ -29,6 +29,7 @@
     <value>mit-kdc</value>
     <display-name>KDC type</display-name>
     <value-attributes>
+      <type>componentHost</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -44,6 +45,7 @@
     <value-attributes>
       <visible>false</visible>
       <overridable>false</overridable>
+      <type>boolean</type>
     </value-attributes>
   </property>
 
@@ -57,6 +59,7 @@
     </description>
     <value>true</value>
     <value-attributes>
+      <type>boolean</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -69,6 +72,7 @@
     </description>
     <value/>
     <value-attributes>
+      <type>host</type>
       <visible>false</visible>
       <overridable>false</overridable>
     </value-attributes>
@@ -95,6 +99,7 @@
     </description>
     <value>aes des3-cbc-sha1 rc4 des-cbc-md5</value>
     <value-attributes>
+      <type>multiLine</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -107,6 +112,7 @@
     <display-name>Realm name</display-name>
     <value/>
     <value-attributes>
+      <type>host</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -132,6 +138,7 @@
     </description>
     <value/>
     <value-attributes>
+      <type>host</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -145,6 +152,7 @@
     <value>/usr/bin, /usr/kerberos/bin, /usr/sbin, /usr/lib/mit/bin, /usr/lib/mit/sbin</value>
     <value-attributes>
       <overridable>false</overridable>
+      <type>multiLine</type>
     </value-attributes>
   </property>
 
@@ -168,6 +176,7 @@
     </description>
     <value>1</value>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -180,6 +189,7 @@
     </description>
     <value>1</value>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -192,6 +202,7 @@
     </description>
     <value>1</value>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -204,6 +215,7 @@
     </description>
     <value>1</value>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -216,6 +228,7 @@
     </description>
     <value>0</value>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -241,6 +254,7 @@
     <value>false</value>
     <value-attributes>
       <overridable>false</overridable>
+      <type>boolean</type>
     </value-attributes>
   </property>
 
@@ -269,6 +283,7 @@
 }
     </value>
     <value-attributes>
+      <type>content</type>
       <empty-value-valid>true</empty-value-valid>
       <overridable>false</overridable>
     </value-attributes>

+ 3 - 0
ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/configuration/krb5-conf.xml

@@ -43,6 +43,7 @@
     <value>true</value>
     <value-attributes>
       <overridable>false</overridable>
+      <type>boolean</type>
     </value-attributes>
   </property>
 
@@ -52,6 +53,7 @@
     <description>The krb5.conf configuration directory</description>
     <value>/etc</value>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -91,6 +93,7 @@
 {# Append additional realm declarations below #}
     </value>
     <value-attributes>
+      <type>content</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>

+ 1 - 0
ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/knox-env.xml

@@ -57,6 +57,7 @@
     <display-name>Knox PID dir</display-name>
     <description>Knox PID dir.</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>

+ 7 - 0
ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/configuration/ranger-knox-plugin-properties.xml

@@ -48,6 +48,7 @@
       </property>
     </depends-on>
     <value-attributes>
+      <type>boolean</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -77,6 +78,9 @@
     <value>true</value>
     <display-name>Audit to DB</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -84,6 +88,9 @@
     <value>false</value>
     <display-name>Audit to HDFS</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>

+ 4 - 0
ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/configuration/oozie-env.xml

@@ -53,6 +53,7 @@
     <display-name>Oozie Data Dir</display-name>
     <description>Data directory in which the Oozie DB exists</description>
     <value-attributes>
+      <type>directory</type>
       <empty-value-valid>true</empty-value-valid>
       <overridable>false</overridable>
     </value-attributes>
@@ -63,6 +64,7 @@
     <display-name>Oozie Log Dir</display-name>
     <description>Directory for oozie logs</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -73,6 +75,7 @@
     <display-name>Oozie PID Dir</display-name>
     <description>Directory in which the pid files for oozie reside.</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -84,6 +87,7 @@
     <description>The admin port Oozie server runs.</description>
     <value-attributes>
       <overridable>false</overridable>
+      <type>int</type>
     </value-attributes>
   </property>
   <property>

+ 6 - 0
ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-env.xml

@@ -32,11 +32,17 @@
     <name>storm_log_dir</name>
     <value>/var/log/storm</value>
     <description></description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm_pid_dir</name>
     <value>/var/run/storm</value>
     <description></description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>jmxremote_port</name>

+ 78 - 0
ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/configuration/storm-site.xml

@@ -35,12 +35,16 @@
     <description>A directory on the local filesystem used by Storm for any local
        filesystem usage it needs. The directory must exist and the Storm daemons must
        have permission to read/write from this location.</description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.zookeeper.servers</name>
     <value>['localhost']</value>
     <description>A list of hosts of ZooKeeper servers used to manage the cluster.</description>
     <value-attributes>
+      <type>componentHosts</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -49,26 +53,41 @@
     <name>storm.zookeeper.port</name>
     <value>2181</value>
     <description>The port Storm will use to connect to each of the ZooKeeper servers.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.zookeeper.root</name>
     <value>/storm</value>
     <description>The root location at which Storm stores data in ZooKeeper.</description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.zookeeper.session.timeout</name>
     <value>20000</value>
     <description>The session timeout for clients to ZooKeeper.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.zookeeper.connection.timeout</name>
     <value>15000</value>
     <description>The connection timeout for clients to ZooKeeper.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.zookeeper.retry.times</name>
     <value>5</value>
     <description>The number of times to retry a Zookeeper operation.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.zookeeper.retry.interval</name>
@@ -76,6 +95,7 @@
     <description>The interval between retries of a Zookeeper operation.</description>
     <value-attributes>
       <unit>ms</unit>
+      <type>int</type>
     </value-attributes>
   </property>
   <property>
@@ -83,6 +103,7 @@
     <value>30000</value>
     <description>The ceiling of the interval between retries of a Zookeeper operation.</description>
     <value-attributes>
+      <type>int</type>
       <unit>ms</unit>
     </value-attributes>
   </property>
@@ -99,6 +120,9 @@
        of this flag is to make it easy to run Storm in local mode by eliminating
        the need for native dependencies, which can be difficult to install.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.thrift.transport</name>
@@ -115,6 +139,7 @@
     <value>localhost</value>
     <description>The host that the master server is running on.</description>
     <value-attributes>
+      <type>componentHost</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -124,12 +149,16 @@
     <value>6627</value>
     <description> Which port the Thrift interface of Nimbus should run on. Clients should
        connect to this port to upload jars and submit topologies.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>nimbus.thrift.max_buffer_size</name>
     <value>1048576</value>
     <description>The maximum buffer size thrift should use when reading messages.</description>
     <value-attributes>
+      <type>int</type>
       <unit>bytes</unit>
     </value-attributes>
   </property>
@@ -138,6 +167,7 @@
     <value>-Xmx1024m -javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=localhost,port=8649,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Nimbus_JVM</value>
     <description>This parameter is used by the storm-deploy project to configure the jvm options for the nimbus daemon.</description>
     <value-attributes>
+      <type>multiLine</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -146,6 +176,7 @@
     <value>30</value>
     <description>How long without heartbeating a task can go before nimbus will consider the task dead and reassign it to another location.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -153,6 +184,9 @@
     <name>nimbus.supervisor.timeout.secs</name>
     <value>60</value>
     <description>How long before a supervisor can go without heartbeating before nimbus considers it dead and stops assigning new work to it.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>nimbus.monitor.freq.secs</name>
@@ -163,6 +197,7 @@
        This parameter is for checking for failures when there's no explicit event like that occuring.
     </description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -171,6 +206,7 @@
     <value>600</value>
     <description>How often nimbus should wake the cleanup thread to clean the inbox.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -185,6 +221,7 @@
        NIMBUS_CLEANUP_INBOX_JAR_EXPIRATION_SECS (depending on how often NIMBUS_CLEANUP_FREQ_SECS is set to).
       </description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -194,6 +231,7 @@
     <description>A special timeout used when a task is initially launched. During launch, this is the timeout
        used until the first heartbeat, overriding nimbus.task.timeout.secs.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -202,6 +240,9 @@
     <value>true</value>
     <description>Whether or not nimbus should reassign tasks if it detects that a task goes down.
        Defaults to true, and it's not recommended to change this value.</description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   <property>
     <name>nimbus.file.copy.expiration.secs</name>
@@ -209,6 +250,7 @@
     <description>During upload/download with the master, how long an upload or download connection is idle
        before nimbus considers it dead and drops the connection.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -223,6 +265,9 @@
     <name>ui.port</name>
     <value>8744</value>
     <description>Storm UI binds to this port.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>ui.childopts</name>
@@ -248,21 +293,33 @@
     <name>drpc.port</name>
     <value>3772</value>
     <description>This port is used by Storm DRPC for receiving DPRC requests from clients.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>drpc.worker.threads</name>
     <value>64</value>
     <description>DRPC thrift server worker threads.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>drpc.queue.size</name>
     <value>128</value>
     <description>DRPC thrift server queue size.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>drpc.invocations.port</name>
     <value>3773</value>
     <description>This port on Storm DRPC is used by DRPC topologies to receive function invocations and send results back.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>drpc.request.timeout.secs</name>
@@ -271,6 +328,7 @@
        timeout based on the socket timeout on the DRPC client, and separately based on the topology message
        timeout for the topology implementing the DRPC function.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -308,6 +366,7 @@
     <value>-Xmx256m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port={{jmxremote_port}} -javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=localhost,port=8650,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Supervisor_JVM</value>
     <description>This parameter is used by the storm-deploy project to configure the jvm options for the supervisor daemon.</description>
     <value-attributes>
+      <type>multiLine</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -319,6 +378,7 @@
        supervisor.worker.timeout.secs during launch because there is additional
        overhead to starting and configuring the JVM on launch.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -327,6 +387,7 @@
     <value>30</value>
     <description>How long a worker can go without heartbeating before the supervisor tries to restart the worker process.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -335,6 +396,7 @@
     <value>3</value>
     <description>How often the supervisor checks the worker heartbeats to see if any of them need to be restarted.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -343,6 +405,7 @@
     <value>5</value>
     <description>How often the supervisor sends a heartbeat to the master.</description>
     <value-attributes>
+      <type>int</type>
       <unit>seconds</unit>
     </value-attributes>
   </property>
@@ -350,6 +413,9 @@
     <name>worker.childopts</name>
     <value>-Xmx768m -javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=localhost,port=8650,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Worker_%ID%_JVM</value>
     <description>The jvm opts provided to workers launched by this supervisor. All \"%ID%\" substrings are replaced with an identifier for this worker.</description>
+    <value-attributes>
+      <type>multiLine</type>
+    </value-attributes>
   </property>
   <property>
     <name>worker.heartbeat.frequency.secs</name>
@@ -392,17 +458,24 @@
     <name>storm.messaging.netty.server_worker_threads</name>
     <value>1</value>
     <description>Netty based messaging: The # of worker threads for the server.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.messaging.netty.client_worker_threads</name>
     <value>1</value>
     <description>Netty based messaging: The # of worker threads for the client.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.messaging.netty.buffer_size</name>
     <value>5242880</value>
     <description>Netty based messaging: The buffer size for send/recv buffer.</description>
     <value-attributes>
+      <type>int</type>
       <unit>bytes</unit>
     </value-attributes>
   </property>
@@ -410,12 +483,16 @@
     <name>storm.messaging.netty.max_retries</name>
     <value>30</value>
     <description>Netty based messaging: The max # of retries that a peer will perform when a remote is not accessible.</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <name>storm.messaging.netty.max_wait_ms</name>
     <value>1000</value>
     <description>Netty based messaging: The max # of milliseconds that a peer will wait.</description>
     <value-attributes>
+      <type>int</type>
       <unit>ms</unit>
     </value-attributes>
   </property>
@@ -424,6 +501,7 @@
     <value>100</value>
     <description>Netty based messaging: The min # of milliseconds that a peer will wait.</description>
     <value-attributes>
+      <type>int</type>
       <unit>ms</unit>
     </value-attributes>
   </property>

+ 18 - 0
ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/configuration/tez-site.xml

@@ -41,6 +41,9 @@
     <name>tez.am.resource.memory.mb</name>
     <value>1536</value>
     <description>The amount of memory to be used by the AppMaster</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <!-- tez picks the java opts from yarn.app.mapreduce.am.command-opts for MR tasks. Likewise for the AM memory MB -->
@@ -80,6 +83,9 @@
       a Vertex. 1.4 with 100% queue available implies generating a number of tasks roughly equal
       to 140% of the available containers on the queue
     </description>
+    <value-attributes>
+      <type>float</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -88,6 +94,9 @@
     <description>Lower bound on the size (in bytes) of a grouped split, to avoid generating
       too many splits
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -96,6 +105,9 @@
     <description>Upper bound on the size (in bytes) of a grouped split, to avoid generating
       excessively large split
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -188,6 +200,9 @@
     <name>tez.runtime.intermediate-output.should-compress</name>
     <value>false</value>
     <description>Whether intermediate output should be compressed or not</description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -202,6 +217,9 @@
     <name>tez.runtime.intermediate-input.is-compressed</name>
     <value>false</value>
     <description>Whether intermediate input is compressed</description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>

+ 3 - 0
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/configuration-mapred/mapred-env.xml

@@ -27,6 +27,7 @@
     <display-name>Mapreduce Log Dir Prefix</display-name>
     <description>Mapreduce Log Dir Prefix</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -37,6 +38,7 @@
     <display-name>Mapreduce PID Dir Prefix</display-name>
     <description>Mapreduce PID Dir Prefix</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -55,6 +57,7 @@
     <description>Value for JobHistoryServer heap_size variable in hadoop-env.sh</description>
     <value-attributes>
       <unit>MB</unit>
+      <type>int</type>
     </value-attributes>
   </property>
 

+ 8 - 0
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/configuration/yarn-env.xml

@@ -27,6 +27,7 @@
     <display-name>YARN Log Dir Prefix</display-name>
     <description>YARN Log Dir Prefix</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -37,6 +38,7 @@
     <display-name>YARN PID Dir Prefix</display-name>
     <description>YARN PID Dir Prefix</description>
     <value-attributes>
+      <type>directory</type>
       <overridable>false</overridable>
       <editable-only-at-install>true</editable-only-at-install>
     </value-attributes>
@@ -54,6 +56,7 @@
     <display-name>YARN Java heap size</display-name>
     <description>Max heapsize for all YARN components using a numerical value in the scale of MB</description>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
     </value-attributes>
   </property>
@@ -63,6 +66,7 @@
     <display-name>ResourceManager Java heap size</display-name>
     <description>Max heapsize for ResourceManager using a numerical value in the scale of MB</description>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
       <unit>MB</unit>
     </value-attributes>
@@ -73,6 +77,7 @@
     <display-name>NodeManager Java heap size</display-name>
     <description>Max heapsize for NodeManager using a numerical value in the scale of MB</description>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
     </value-attributes>
   </property>
@@ -81,6 +86,9 @@
     <value>1000</value>
     <display-name>Minimum user ID for submitting job</display-name>
     <description>Set to 0 to disallow root from submitting jobs. Set to 1000 to disallow all superusers from submitting jobs</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>  
   <property>
     <name>is_supported_yarn_ranger</name>

+ 9 - 0
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/configuration/yarn-site.xml

@@ -114,6 +114,9 @@
     <name>yarn.acl.enable</name>
     <value>false</value>
     <description> Are acls enabled. </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -212,6 +215,9 @@
       named container_{$contid}. Each container directory will contain the files
       stderr, stdin, and syslog generated by that container.
     </description>
+    <value-attributes>
+      <type>directories</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -224,6 +230,9 @@
       Individual containers' work directories, called container_${contid}, will
       be subdirectories of this.
     </description>
+    <value-attributes>
+      <type>directories</type>
+    </value-attributes>
   </property>
 
   <property>

+ 7 - 0
ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/configuration/zoo.cfg.xml

@@ -27,6 +27,7 @@
     <display-name>Length of single Tick</display-name>
     <description>The length of a single tick in milliseconds, which is the basic time unit used by ZooKeeper</description>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
       <unit>ms</unit>
     </value-attributes>
@@ -37,6 +38,7 @@
     <display-name>Ticks to allow for sync at Init</display-name>
     <description>Ticks to allow for sync at Init.</description>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -46,6 +48,7 @@
     <display-name>Ticks to allow for sync at Runtime</display-name>
     <description>Ticks to allow for sync at Runtime.</description>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -55,6 +58,7 @@
     <display-name>Port for running ZK Server</display-name>
     <description>Port for running ZK Server.</description>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -63,6 +67,9 @@
     <value>/hadoop/zookeeper</value>
     <display-name>ZooKeeper directory</display-name>
     <description>Data directory for ZooKeeper.</description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>autopurge.snapRetainCount</name>

+ 2 - 0
ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/configuration/zookeeper-env.xml

@@ -34,6 +34,7 @@
     <display-name>ZooKeeper Log Dir</display-name>
     <description>ZooKeeper Log Dir</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>
@@ -44,6 +45,7 @@
     <display-name>ZooKeeper PID Dir</display-name>
     <description>ZooKeeper Pid Dir</description>
     <value-attributes>
+      <type>directory</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>

+ 3 - 0
ambari-server/src/main/resources/stacks/BIGTOP/0.8/configuration/cluster-env.xml

@@ -35,6 +35,9 @@
         <name>ignore_groupsusers_create</name>
         <value>false</value>
         <description>Whether to ignore failures on users and group creation</description>
+        <value-attributes>
+            <type>boolean</type>
+        </value-attributes>
     </property>
     <property>
         <name>smokeuser</name>

+ 15 - 0
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/YARN/configuration/yarn-site.xml

@@ -345,6 +345,9 @@
     <description>Indicate to clients whether timeline service is enabled or not.
       If enabled, clients will put entities and events to the timeline server.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -369,6 +372,9 @@
     <description>
       Store file name for leveldb timeline store
     </description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -399,15 +405,24 @@
     <description>Enable age off of timeline store data.</description>
     <name>yarn.timeline-service.ttl-enable</name>
     <value>true</value>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   <property>
     <description>Time to live for timeline store data in milliseconds.</description>
     <name>yarn.timeline-service.ttl-ms</name>
     <value>2678400000</value>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <description>Length of time to wait between deletion cycles of leveldb timeline store in milliseconds.</description>
     <name>yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms</name>
     <value>300000</value>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 </configuration>

+ 2 - 0
ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml

@@ -39,6 +39,7 @@
         <description>Whether to ignore failures on users and group creation</description>
         <value-attributes>
             <overridable>false</overridable>
+            <type>boolean</type>
         </value-attributes>
     </property>
     <property>
@@ -85,6 +86,7 @@ gpgcheck=0</value>
         <description>Have Ambari manage UIDs</description>
         <value-attributes>
             <overridable>false</overridable>
+            <type>boolean</type>
         </value-attributes>
     </property>
 

+ 8 - 0
ambari-server/src/main/resources/stacks/HDP/2.1/services/HIVE/configuration/hive-site.xml

@@ -27,6 +27,7 @@ limitations under the License.
     <value-attributes>
       <unit>MB</unit>
       <overridable>false</overridable>
+      <type>int</type>
     </value-attributes>
   </property>
 
@@ -136,6 +137,9 @@ limitations under the License.
     <name>hive.security.authorization.enabled</name>
     <value>false</value>
     <description>enable or disable the hive client authorization</description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -579,6 +583,7 @@ limitations under the License.
     </description>
     <value-attributes>
       <overridable>false</overridable>
+      <type>int</type>
     </value-attributes>
   </property>
 
@@ -607,6 +612,9 @@ limitations under the License.
       should use the ZooKeeper ensemble: hive.zookeeper.quorum in their
       connection string.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>

+ 1 - 0
ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-env.xml

@@ -29,6 +29,7 @@
     <value-attributes>
       <overridable>false</overridable>
       <unit>MB</unit>
+      <type>int</type>
     </value-attributes>
   </property>
   

+ 15 - 0
ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-site.xml

@@ -26,6 +26,9 @@
     <description>Indicate to clients whether timeline service is enabled or not.
       If enabled, clients will put entities and events to the timeline server.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -50,6 +53,9 @@
     <description>
       Store file name for leveldb timeline store
     </description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -80,15 +86,24 @@
     <description>Enable age off of timeline store data.</description>
     <name>yarn.timeline-service.ttl-enable</name>
     <value>true</value>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   <property>
     <description>Time to live for timeline store data in milliseconds.</description>
     <name>yarn.timeline-service.ttl-ms</name>
     <value>2678400000</value>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
   <property>
     <description>Length of time to wait between deletion cycles of leveldb timeline store in milliseconds.</description>
     <name>yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms</name>
     <value>300000</value>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 </configuration>

+ 9 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/FALCON/configuration/falcon-startup.properties.xml

@@ -97,6 +97,9 @@
     <name>*.falcon.graph.storage.directory</name>
     <value>/hadoop/falcon/data/lineage/graphdb</value>
     <description></description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>*.falcon.graph.storage.backend</name>
@@ -107,11 +110,17 @@
     <name>*.falcon.graph.serialize.path</name>
     <value>/hadoop/falcon/data/lineage</value>
     <description></description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>*.falcon.graph.preserve.history</name>
     <value>false</value>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
 </configuration>

+ 11 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/HBASE/configuration/ranger-hbase-plugin-properties.xml

@@ -42,6 +42,7 @@
     <display-name>Enable Ranger for HBASE</display-name>
     <description>Enable ranger hbase plugin ?</description>
     <value-attributes>
+      <type>boolean</type>
       <overridable>false</overridable>
     </value-attributes>
     <depends-on>
@@ -71,6 +72,9 @@
     <value>true</value>
     <display-name>Audit to DB</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property> 
 
   <property>
@@ -78,6 +82,10 @@
     <value>false</value>
     <display-name>Audit to HDFS</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
+
   </property>
 
   <property>
@@ -177,6 +185,9 @@
     <value>true</value>
     <display-name>Should HBase GRANT/REVOKE update XA policies</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   
   <property>

+ 7 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/HDFS/configuration/ranger-hdfs-plugin-properties.xml

@@ -51,6 +51,7 @@
 			</property>
 		</depends-on>
 		<value-attributes>
+			<type>boolean</type>
 			<overridable>false</overridable>
 		</value-attributes>
 	</property>
@@ -76,6 +77,9 @@
 		<value>true</value>
 		<display-name>Audit to DB</display-name>
 		<description></description>
+		<value-attributes>
+			<type>boolean</type>
+		</value-attributes>
 	</property>
 
 	<property>
@@ -83,6 +87,9 @@
 		<value>false</value>
 		<display-name>Audit to HDFS</display-name>
 		<description></description>
+		<value-attributes>
+			<type>boolean</type>
+		</value-attributes>
 	</property>
 
 	<property>

+ 8 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/hive-site.xml

@@ -48,6 +48,7 @@ limitations under the License.
       org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager,
       2. When HiveServer2 supports service discovery via Zookeeper.</description>
     <value-attributes>
+      <type>multiLine</type>
       <empty-value-valid>true</empty-value-valid>
     </value-attributes>
   </property>
@@ -124,6 +125,9 @@ limitations under the License.
       when it is brought up. JDBC/ODBC clients should use the ZooKeeper ensemble: hive.zookeeper.quorum
       in their connection string.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   
   <property>
@@ -1090,6 +1094,7 @@ limitations under the License.
     </description>
     <value-attributes>
       <overridable>false</overridable>
+      <type>int</type>
     </value-attributes>
   </property>
   <property>
@@ -1388,6 +1393,9 @@ limitations under the License.
     <value>1024</value>
     <deleted>true</deleted>
     <description>Hive Java heap size</description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>

+ 9 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/configuration/ranger-hive-plugin-properties.xml

@@ -61,6 +61,9 @@
     <value>true</value>
     <display-name>Audit to DB</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property> 
 
   <property>
@@ -68,6 +71,9 @@
     <value>false</value>
     <display-name>Audit to HDFS</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -167,6 +173,9 @@
     <value>true</value>
     <display-name>Should Hive GRANT/REVOKE update XA policies</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>

+ 7 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/STORM/configuration/ranger-storm-plugin-properties.xml

@@ -48,6 +48,7 @@
       </property>
     </depends-on>
     <value-attributes>
+      <type>boolean</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>
@@ -71,6 +72,9 @@
     <value>true</value>
     <display-name>Audit to DB</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property> 
 
   <property>
@@ -78,6 +82,9 @@
     <value>false</value>
     <display-name>Audit to HDFS</display-name>
     <description></description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>

+ 3 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/STORM/configuration/storm-site.xml

@@ -60,6 +60,9 @@
     <name>worker.childopts</name>
     <value>-Xmx768m _JAAS_PLACEHOLDER -javaagent:/usr/hdp/current/storm-client/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=localhost,port=8650,wireformat31x=true,mode=multicast,config=/usr/hdp/current/storm-client/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Worker_%ID%_JVM</value>
     <description>The jvm opts provided to workers launched by this supervisor. All \"%ID%\" substrings are replaced with an identifier for this worker.</description>
+    <value-attributes>
+      <type>multiLine</type>
+    </value-attributes>
   </property>
 
   <property>

+ 3 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/TEZ/configuration/tez-site.xml

@@ -58,6 +58,9 @@
     <description>The amount of memory to be used by the AppMaster.
       Used only if the value is not specified explicitly by the DAG definition.
     </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
   </property>
 
   <property>

+ 12 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/configuration/yarn-site.xml

@@ -32,6 +32,9 @@
     <description>
       Is the registry enabled: does the RM start it up, create the user and system paths, and purge service records when containers, application attempts and applications complete
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
   <property>
     <name>hadoop.registry.zk.quorum</name>
@@ -276,6 +279,9 @@
     <description>
       Enable age off of timeline store data.
     </description>
+    <value-attributes>
+      <type>boolean</type>
+    </value-attributes>
   </property>
 
   <property>
@@ -294,12 +300,18 @@
     <name>yarn.timeline-service.leveldb-state-store.path</name>
     <value>/hadoop/yarn/timeline</value>
     <description>Store file name for leveldb state store.</description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
 
   <property>
     <name>yarn.timeline-service.leveldb-timeline-store.path</name>
     <value>/hadoop/yarn/timeline</value>
     <description>Store file name for leveldb timeline store.</description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
   </property>
   <property>
     <name>yarn.timeline-service.leveldb-timeline-store.read-cache-size</name>

+ 1 - 0
ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/configuration/hbase-site.xml

@@ -27,6 +27,7 @@
     <description>The port the HBase Master should bind to.</description>
     <value-attributes>
       <overridable>false</overridable>
+      <type>int</type>
     </value-attributes>
   </property>
   <property>

+ 1 - 0
ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hadoop-env.xml

@@ -167,6 +167,7 @@ fi
     <value>1024</value>
     <description>Maximum Java heap size for NFSGateway (Java option -Xmx)</description>
     <value-attributes>
+      <type>int</type>
       <unit>MB</unit>
     </value-attributes>
   </property>

+ 3 - 0
ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hdfs-site.xml

@@ -32,6 +32,9 @@
       they are accumulated to exceed certain threshold (e.g., 1MB) in memory.
       One needs to make sure the directory has enough space.
     </description>
+    <value-attributes>
+        <type>directory</type>
+    </value-attributes>
   </property>
 
   <property>

+ 1 - 0
ambari-server/src/main/resources/stacks/HDP/2.3/services/KAFKA/configuration/ranger-kafka-plugin-properties.xml

@@ -62,6 +62,7 @@
       </property>
     </depends-on>
     <value-attributes>
+      <type>boolean</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>

+ 1 - 0
ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/configuration/ranger-admin-site.xml

@@ -400,6 +400,7 @@
     <value>5151</value>
     <description>Port for unix authentication service - only used if Authentication method is UNIX</description>
     <value-attributes>
+      <type>int</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>    

+ 1 - 0
ambari-server/src/main/resources/stacks/HDP/2.3/services/STORM/configuration/storm-site.xml

@@ -24,6 +24,7 @@
     <value>localhost</value>
     <description>Comma-delimited list of the hosts running nimbus server.</description>
     <value-attributes>
+      <type>componentHosts</type>
       <editable-only-at-install>true</editable-only-at-install>
       <overridable>false</overridable>
     </value-attributes>

+ 1 - 0
ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/configuration/ranger-yarn-plugin-properties.xml

@@ -56,6 +56,7 @@
       </property>
     </depends-on>
     <value-attributes>
+      <type>boolean</type>
       <overridable>false</overridable>
     </value-attributes>
   </property>

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

@@ -43,22 +43,9 @@ var hdp22properties = hdp2properties.filter(function (item) {
 });
 
 hdp22properties.push(
-  {
-    "name": "hive.zookeeper.quorum",
-    "displayType": "multiLine",
-    "serviceName": "HIVE",
-    "filename": "hive-site.xml"
-  },
-  {
-    "name": "hadoop.registry.rm.enabled",
-    "displayType": "checkbox",
-    "serviceName": "YARN",
-    "filename": "yarn-site.xml"
-  },
   {
     "name": "yarn.timeline-service.leveldb-state-store.path",
     "category": "APP_TIMELINE_SERVER",
-    "displayType": "directory",
     "serviceName": "YARN",
     "filename": "yarn-site.xml"
   },
@@ -83,20 +70,12 @@ hdp22properties.push(
   /*********RANGER FOR HDFS************/
   {
     "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "displayType": "checkbox",
     "dependentConfigPattern": "^XAAUDIT.HDFS",
     "filename": "ranger-hdfs-plugin-properties.xml",
     "serviceName": "HDFS"
   },
-  {
-    "name": "XAAUDIT.DB.IS_ENABLED",
-    "displayType": "checkbox",
-    "filename": "ranger-hdfs-plugin-properties.xml",
-    "serviceName": "HDFS"
-  },
   {
     "name": "ranger-hdfs-plugin-enabled",
-    "displayType": "checkbox",
     "filename": "ranger-hdfs-plugin-properties.xml",
     "serviceName": "HDFS",
     "index": 1
@@ -104,67 +83,32 @@ hdp22properties.push(
   /*********RANGER FOR HIVE************/
   {
     "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "displayType": "checkbox",
     "dependentConfigPattern": "^XAAUDIT.HDFS",
     "filename": "ranger-hive-plugin-properties.xml",
     "serviceName": "HIVE"
   },
-  {
-    "name": "XAAUDIT.DB.IS_ENABLED",
-    "displayType": "checkbox",
-    "filename": "ranger-hive-plugin-properties.xml",
-    "serviceName": "HIVE"
-  },
-  {
-    "name": "UPDATE_XAPOLICIES_ON_GRANT_REVOKE",
-    "displayType": "checkbox",
-    "filename": "ranger-hive-plugin-properties.xml",
-    "serviceName": "HIVE"
-  },
   /*********RANGER FOR HBASE************/
   {
     "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "displayType": "checkbox",
     "dependentConfigPattern": "^XAAUDIT.HDFS",
     "filename": "ranger-hbase-plugin-properties.xml",
     "serviceName": "HBASE"
   },
-  {
-    "name": "XAAUDIT.DB.IS_ENABLED",
-    "displayType": "checkbox",
-    "filename": "ranger-hbase-plugin-properties.xml",
-    "serviceName": "HBASE"
-  },
   {
     "name": "ranger-hbase-plugin-enabled",
-    "displayType": "checkbox",
     "filename": "ranger-hbase-plugin-properties.xml",
     "serviceName": "HBASE",
     "index": 1
   },
-  {
-    "name": "UPDATE_XAPOLICIES_ON_GRANT_REVOKE",
-    "displayType": "checkbox",
-    "filename": "ranger-hbase-plugin-properties.xml",
-    "serviceName": "HBASE"
-  },
   /*********RANGER FOR STORM************/
   {
     "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "displayType": "checkbox",
     "dependentConfigPattern": "^XAAUDIT.HDFS",
     "filename": "ranger-storm-plugin-properties.xml",
     "serviceName": "STORM"
   },
-  {
-    "name": "XAAUDIT.DB.IS_ENABLED",
-    "displayType": "checkbox",
-    "filename": "ranger-storm-plugin-properties.xml",
-    "serviceName": "STORM"
-  },
   {
     "name": "ranger-storm-plugin-enabled",
-    "displayType": "checkbox",
     "filename": "ranger-storm-plugin-properties.xml",
     "serviceName": "STORM",
     "index": 1
@@ -172,20 +116,12 @@ hdp22properties.push(
   /*********RANGER FOR KNOX************/
   {
     "name": "XAAUDIT.HDFS.IS_ENABLED",
-    "displayType": "checkbox",
     "dependentConfigPattern": "^XAAUDIT.HDFS",
     "filename": "ranger-knox-plugin-properties.xml",
     "serviceName": "KNOX"
   },
-  {
-    "name": "XAAUDIT.DB.IS_ENABLED",
-    "displayType": "checkbox",
-    "filename": "ranger-knox-plugin-properties.xml",
-    "serviceName": "KNOX"
-  },
   {
     "name": "ranger-knox-plugin-enabled",
-    "displayType": "checkbox",
     "filename": "ranger-knox-plugin-properties.xml",
     "serviceName": "KNOX",
     "index": 1
@@ -314,7 +250,6 @@ hdp22properties.push(
   },
   {
     "name": "policymgr_http_enabled",
-    "displayType": "checkbox",
     "serviceName": "RANGER",
     "filename": "admin-properties.xml",
     "category": "RangerSettings"
@@ -358,7 +293,6 @@ hdp22properties.push(
   },
   {
     "name": "remoteLoginEnabled",
-    "displayType": "checkbox",
     "serviceName": "RANGER",
     "filename": "admin-properties.xml",
     "category": "UnixAuthenticationSettings"
@@ -371,7 +305,6 @@ hdp22properties.push(
   },
   {
     "name": "authServicePort",
-    "displayType": "int",
     "serviceName": "RANGER",
     "filename": "admin-properties.xml",
     "category": "UnixAuthenticationSettings"

+ 2 - 7
ambari-web/app/data/HDP2.3/site_properties.js

@@ -72,21 +72,18 @@ hdp23properties.push({
   /**************************************** RANGER - HDFS Plugin ***************************************/
 
     "name": "ranger-yarn-plugin-enabled",
-    "displayType": "checkbox",
     "filename": "ranger-yarn-plugin-properties.xml",
     "serviceName": "YARN",
     "index": 1
   },
   {
     "name": "ranger-kafka-plugin-enabled",
-    "displayType": "checkbox",
     "filename": "ranger-kafka-plugin-properties.xml",
     "serviceName": "KAFKA",
     "index": 1
   },
   {
     "name": "nimbus.seeds",
-    "displayType": "componentHosts",
     "serviceName": "STORM",
     "filename": "storm-site.xml",
     "category": "NIMBUS"
@@ -136,7 +133,6 @@ hdp23properties.push({
   },
   {
     "name": "ranger.unixauth.remote.login.enabled",
-    "displayType": "checkbox",
     "serviceName": "RANGER",
     "filename": "ranger-admin-site.xml",
     "category": "UnixAuthenticationSettings"
@@ -149,7 +145,6 @@ hdp23properties.push({
   },
   {
     "name": "ranger.unixauth.service.port",
-    "displayType": "int",
     "serviceName": "RANGER",
     "filename": "ranger-admin-site.xml",
     "category": "UnixAuthenticationSettings"
@@ -247,7 +242,7 @@ hdp23properties.push({
   /*********************************************** HAWQ **********************************************/
   {
     "name": "hawq_master_address_host",
-    "displayType": "masterHost",
+    "displayType": "componentHost",
     "filename": "hawq-site.xml",
     "category": "General",
     "serviceName": "HAWQ",
@@ -255,7 +250,7 @@ hdp23properties.push({
   },
   {
     "name": "hawq_standby_address_host",
-    "displayType": "masterHost",
+    "displayType": "componentHost",
     "filename": "hawq-site.xml",
     "category": "General",
     "serviceName": "HAWQ",

+ 94 - 0
ambari-web/app/data/HDP2/gluster_fs_properties.js

@@ -0,0 +1,94 @@
+/**
+ * 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 = [
+/**********************************************GLUSTERFS***************************************/
+  {
+    "name": "fs.glusterfs.impl",
+    "filename": "core-site.xml",
+    "serviceName": "GLUSTERFS",
+    "category": "General"
+  },
+  {
+    "name": "fs.AbstractFileSystem.glusterfs.impl",
+    "filename": "core-site.xml",
+    "serviceName": "GLUSTERFS",
+    "category": "General"
+  },
+  {
+    "name": "hadoop_heapsize",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop",
+    "index": 1
+  },
+  {
+    "name": "hdfs_log_dir_prefix",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  },
+  {
+    "name": "hadoop_pid_dir_prefix",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  },
+  {
+    "name": "namenode_heapsize",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  },
+  {
+    "name": "namenode_opt_newsize",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  },
+  {
+    "name": "namenode_opt_maxnewsize",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  },
+  {
+    "name": "namenode_opt_permsize",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  },
+  {
+    "name": "namenode_opt_maxpermsize",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  },
+  {
+    "name": "dtnode_heapsize",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  },
+  {
+    "name": "glusterfs_user",
+    "serviceName": "GLUSTERFS",
+    "filename": "hadoop-env.xml",
+    "category": "General Hadoop"
+  }
+];

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 285
ambari-web/app/data/HDP2/site_properties.js


+ 2 - 2
ambari-web/app/mixins/common/configs/configs_comparator.js

@@ -270,8 +270,8 @@ App.ConfigsComparator = Em.Mixin.create({
    * @method hasCompareDiffs
    */
   hasCompareDiffs: function (originalConfig, compareConfig) {
-    var originalValue = App.config.trimProperty({ value: Em.get(originalConfig, 'value'), displayType: 'advanced' });
-    var compareValue = App.config.trimProperty({ value: Em.get(compareConfig, 'value'), displayType: 'advanced' });
+    var originalValue = App.config.trimProperty({ value: Em.get(originalConfig, 'value'), displayType: 'string' });
+    var compareValue = App.config.trimProperty({ value: Em.get(compareConfig, 'value'), displayType: 'string' });
 
     if (originalValue.toArray) {
       originalValue = originalValue.toArray();

+ 8 - 23
ambari-web/app/models/configs/objects/service_config_property.js

@@ -302,7 +302,6 @@ App.ServiceConfigProperty = Em.Object.extend({
     var supportsFinal = this.get('supportsFinal');
     var isFinal = this.get('isFinal');
     var valueRange = this.get('valueRange');
-    var values = [];//value split by "," to check UNIX users, groups list
 
     var isError = false;
     var isWarn = false;
@@ -346,21 +345,6 @@ App.ServiceConfigProperty = Em.Object.extend({
             isError = true;
           }
           break;
-        case 'UNIXList':
-          if(value != '*'){
-            values = value.split(',');
-            for(var i = 0, l = values.length; i < l; i++){
-              if(!validator.isValidUNIXUser(values[i])){
-                if(this.get('type') == 'USERS'){
-                  this.set('errorMessage', 'Must be a valid list of user names');
-                } else {
-                  this.set('errorMessage', 'Must be a valid list of group names');
-                }
-                isError = true;
-              }
-            }
-          }
-          break;
         case 'checkbox':
           break;
         case 'directories':
@@ -413,9 +397,16 @@ App.ServiceConfigProperty = Em.Object.extend({
             }
           }
           break;
+        case 'password':
+          // retypedPassword is set by the retypePasswordView child view of App.ServiceConfigPasswordField
+          if (value !== this.get('retypedPassword')) {
+            this.set('errorMessage', 'Passwords do not match');
+            isError = true;
+          }
+          break;
         case 'multiLine':
         case 'content':
-        case 'advanced':
+        default:
           if(this.get('name')=='javax.jdo.option.ConnectionURL' || this.get('name')=='oozie.service.JPAService.jdbc.url') {
             if (validator.isConfigValueLink(value)) {
               isError = false;
@@ -432,12 +423,6 @@ App.ServiceConfigProperty = Em.Object.extend({
             }
           }
           break;
-        case 'password':
-          // retypedPassword is set by the retypePasswordView child view of App.ServiceConfigPasswordField
-          if (value !== this.get('retypedPassword')) {
-            this.set('errorMessage', 'Passwords do not match');
-            isError = true;
-          }
       }
     }
 

+ 13 - 7
ambari-web/app/utils/config.js

@@ -319,7 +319,7 @@ App.config = Em.Object.create({
       supportsFinal: this.shouldSupportFinal(serviceName, fileName),
       serviceName: serviceName,
       displayName: this.getDefaultDisplayName(name, fileName),
-      displayType: this.getDefaultDisplayType(name, fileName, coreObject ? coreObject.value : ''),
+      displayType: this.getDefaultDisplayType(name, fileName, coreObject ? coreObject.value : '', serviceName),
       description: null,
       category: this.getDefaultCategory(definedInStack, fileName),
       isSecureConfig: this.getIsSecure(name),
@@ -422,13 +422,20 @@ App.config = Em.Object.create({
    * @param name
    * @param type
    * @param value
+   * @param serviceName
    * @returns {string}
    */
-  getDefaultDisplayType: function(name, type, value) {
+  getDefaultDisplayType: function(name, type, value, serviceName) {
     if (this.isContentProperty(name, type)) {
       return 'content';
+    } else if (serviceName && serviceName == 'FALCON' && this.getConfigTagFromFileName(type) == 'oozie-site') {
+      /**
+       * This specific type for 'oozie-site' configs of FALCON service.
+       * After this type will be moved to stack definition this hard-code should be removed
+       */
+      return 'custom';
     }
-    return value && !stringUtils.isSingleLine(value) ? 'multiLine' : 'advanced';
+    return value && !stringUtils.isSingleLine(value) ? 'multiLine' : 'string';
   },
 
   /**
@@ -484,7 +491,7 @@ App.config = Em.Object.create({
         category = Em.get(serviceConfigProperty, 'category');
     switch (displayType) {
       case 'content':
-      case 'advanced':
+      case 'string':
       case 'multiLine':
         return this.trimProperty({ displayType: displayType, value: value });
         break;
@@ -703,7 +710,7 @@ App.config = Em.Object.create({
         propertyData.category = 'Users and Groups';
         propertyData.isVisible = !App.get('isHadoopWindowsStack');
         propertyData.serviceName = 'MISC';
-        propertyData.displayType = checkboxProperties.contains(config.property_name) ? 'checkbox' : 'user';
+        propertyData.displayType = checkboxProperties.contains(config.property_name) ? 'boolean' : 'user';
         if (config.property_type.contains('ADDITIONAL_USER_PROPERTY')) {
           propertyData.index = 999;
         } else if (config.service_name) {
@@ -969,11 +976,10 @@ App.config = Em.Object.create({
         break;
       case 'password':
         break;
-      case 'advanced':
+      default:
         if (name == 'javax.jdo.option.ConnectionURL' || name == 'oozie.service.JPAService.jdbc.url') {
           rez = value.trim();
         }
-      default:
         rez = (typeof value == 'string') ? value.replace(/(\s+$)/g, '') : value;
     }
     return ((rez == '') || (rez == undefined)) ? value : rez;

+ 1 - 1
ambari-web/app/views/common/configs/service_configs_by_category_view.js

@@ -347,7 +347,7 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
       name: propertyObj.name,
       displayName: propertyObj.displayName || propertyObj.name,
       value: propertyObj.value,
-      displayType: stringUtils.isSingleLine(propertyObj.value) ? 'advanced' : 'multiLine',
+      displayType: stringUtils.isSingleLine(propertyObj.value) ? 'string' : 'multiLine',
       isSecureConfig: isSecureConfig,
       category: propertyObj.categoryName,
       serviceName: propertyObj.serviceName,

+ 7 - 6
ambari-web/test/controllers/main/admin/kerberos/step2_controller_test.js

@@ -37,12 +37,13 @@ describe('App.KerberosWizardStep2Controller', function() {
       controller.tweakManualKdcProperties.restore();
     });
 
-    var _createProperty = function(name, value) {
+    var _createProperty = function(name, value, displayType) {
       var preDefProp = App.config.get('preDefinedSiteProperties').findProperty('name', name);
       if (preDefProp) {
         return App.ServiceConfigProperty.create(
           $.extend(true, {}, preDefProp, {
             value: value, filename: 'some-site.xml',
+            'displayType': displayType,
             isRequiredByAgent: preDefProp.isRequiredByAgent == undefined ? true : preDefProp.isRequiredByAgent
           }));
       } else {
@@ -53,10 +54,10 @@ describe('App.KerberosWizardStep2Controller', function() {
     var tests = [
       {
         stepConfigs: [
-          ['realm', ' SPACES '],
-          ['admin_server_host', ' space_left'],
-          ['kdc_host', ' space_left_and_right '],
-          ['ldap_url', 'space_right ']
+          ['realm', ' SPACES ', 'host'],
+          ['admin_server_host', ' space_left', 'host'],
+          ['kdc_host', ' space_left_and_right ', 'host'],
+          ['ldap_url', 'space_right ', 'host']
         ],
         e: {
           realm: 'SPACES',
@@ -72,7 +73,7 @@ describe('App.KerberosWizardStep2Controller', function() {
         sinon.stub(App.StackService, 'find').returns([Em.Object.create({serviceName: 'KERBEROS'})]);
         controller.set('stepConfigs', [
           App.ServiceConfig.create({
-            configs: test.stepConfigs.map(function(item) { return _createProperty(item[0], item[1]); })
+            configs: test.stepConfigs.map(function(item) { return _createProperty(item[0], item[1], item[2]); })
           })
         ]);
         var result = controller.createKerberosSiteObj('some-site', 'random-tag');

+ 4 - 4
ambari-web/test/controllers/main/service/info/config_test.js

@@ -538,8 +538,8 @@ describe("App.MainServiceInfoConfigsController", function () {
         Em.Object.create({ name: "p4", value: " d1 d2 d3 ", displayType: "directories" }),
         Em.Object.create({ name: "p5", value: " v1 ", displayType: "password" }),
         Em.Object.create({ name: "p6", value: " v ", displayType: "host" }),
-        Em.Object.create({ name: "javax.jdo.option.ConnectionURL", value: " v1 ", displayType: "advanced" }),
-        Em.Object.create({ name: "oozie.service.JPAService.jdbc.url", value: " v1 ", displayType: "advanced" })
+        Em.Object.create({ name: "javax.jdo.option.ConnectionURL", value: " v1 ", displayType: "string" }),
+        Em.Object.create({ name: "oozie.service.JPAService.jdbc.url", value: " v1 ", displayType: "string" })
       ],
       result: [
         Em.Object.create({ name: "p1", value: " v1 v1", displayType: "" }),
@@ -548,8 +548,8 @@ describe("App.MainServiceInfoConfigsController", function () {
         Em.Object.create({ name: "p4", value: "d1,d2,d3", displayType: "directories" }),
         Em.Object.create({ name: "p5", value: " v1 ", displayType: "password" }),
         Em.Object.create({ name: "p6", value: "v", displayType: "host" }),
-        Em.Object.create({ name: "javax.jdo.option.ConnectionURL", value: " v1", displayType: "advanced" }),
-        Em.Object.create({ name: "oozie.service.JPAService.jdbc.url", value: " v1", displayType: "advanced" })
+        Em.Object.create({ name: "javax.jdo.option.ConnectionURL", value: " v1", displayType: "string" }),
+        Em.Object.create({ name: "oozie.service.JPAService.jdbc.url", value: " v1", displayType: "string" })
       ]
     };
 

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

@@ -18,6 +18,7 @@
 
 var App = require('app');
 require('utils/helper');
+require('data/HDP2/gluster_fs_properties');
 var siteProperties = require('data/HDP2.2/site_properties').configProperties;
 
 describe('hdp2SiteProperties', function () {
@@ -54,6 +55,14 @@ describe('hdp2SiteProperties', function () {
       expect(siteProperty.unit).to.equal(undefined);
     });
 
+    /**
+     * 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 "' + siteProperty.filename + '/' + siteProperty.name  + '"' + '. Display type value ' + siteProperty.displayType + ' should be described in stack ', function () {
+      expect(siteProperty.displayType).to.match(/undefined|supportTextConnection|radio button/);
+    });
+
     /**
      * Following config attributes uniquely represent a config property
      * name

+ 12 - 1
ambari-web/test/data/HDP2.3/site_properties_test.js

@@ -18,6 +18,7 @@
 
 var App = require('app');
 require('utils/helper');
+require('data/HDP2/gluster_fs_properties');
 var siteProperties = require('data/HDP2.3/site_properties').configProperties;
 
 describe('hdp2SiteProperties', function () {
@@ -25,7 +26,8 @@ describe('hdp2SiteProperties', function () {
    * @stackProperties: All the properties that are derived from stack definition
    */
   var stackProperties = siteProperties.filter(function(item){
-    return  (!(item.isRequiredByAgent === false || item.filename === 'alert_notification' || item.category === 'Ambari Principals' || item.name === 'oozie_hostname'))
+    return  (!(item.isRequiredByAgent === false || item.filename === 'alert_notification' || item.category === 'Ambari Principals'
+    || item.name === 'oozie_hostname' || item.serviceName === 'HAWQ'))
   });
 
   stackProperties.forEach(function(siteProperty){
@@ -54,6 +56,15 @@ describe('hdp2SiteProperties', function () {
       expect(siteProperty.unit).to.equal(undefined);
     });
 
+
+    /**
+     * 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 "' + siteProperty.filename + '/' + siteProperty.name  + '"' + '. Display type value ' + siteProperty.displayType + ' should be described in stack ', function () {
+      expect(siteProperty.displayType).to.match(/undefined|supportTextConnection|radio button/);
+    });
+
     /**
      * Following config attributes uniquely represent a config property
      * name

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

@@ -18,6 +18,7 @@
 
 var App = require('app');
 require('utils/helper');
+require('data/HDP2/gluster_fs_properties');
 var siteProperties = require('data/HDP2/site_properties').configProperties;
 
 describe('hdp2SiteProperties', function () {
@@ -54,6 +55,14 @@ describe('hdp2SiteProperties', function () {
       expect(siteProperty.unit).to.equal(undefined);
     });
 
+    /**
+     * 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 "' + siteProperty.filename + '/' + siteProperty.name  + '"' + '. Display type value ' + siteProperty.displayType + ' should be described in stack ', function () {
+      expect(siteProperty.displayType).to.match(/undefined|supportTextConnection|radio button/);
+    });
+
     /**
      * Following config attributes uniquely represent a config property
      * name

+ 1 - 1
ambari-web/test/mock_data_setup/configs_mock_data.js

@@ -248,7 +248,7 @@ module.exports = {
         "isOverridable":true,
         "showLabel":true,
         "serviceName":"STORM",
-        "displayType":"advanced",
+        "displayType":"string",
         "displayName":"single_line_property",
         "category":"AdvancedStormSite"
       },

+ 11 - 6
ambari-web/test/utils/config_test.js

@@ -223,21 +223,21 @@ describe('App.config', function () {
       },
       {
         config: {
-          displayType: 'advanced',
+          displayType: 'string',
           value: ' value'
         },
         e: ' value'
       },
       {
         config: {
-          displayType: 'advanced',
+          displayType: 'string',
           value: ' value'
         },
         e: ' value'
       },
       {
         config: {
-          displayType: 'advanced',
+          displayType: 'string',
           value: 'http://localhost ',
           name: 'javax.jdo.option.ConnectionURL'
         },
@@ -245,7 +245,7 @@ describe('App.config', function () {
       },
       {
         config: {
-          displayType: 'advanced',
+          displayType: 'string',
           value: 'http://localhost    ',
           name: 'oozie.service.JPAService.jdbc.url'
         },
@@ -476,7 +476,7 @@ describe('App.config', function () {
           property_name: 'ignore_groupsusers_create'
         },
         output: {
-          displayType: 'checkbox'
+          displayType: 'boolean'
         },
         title: 'ignore_groupsusers_create'
       },
@@ -773,7 +773,7 @@ describe('App.config', function () {
     });
     it('returns singleLine displayType', function() {
       sinon.stub(App.config, 'isContentProperty', function () {return false});
-      expect(App.config.getDefaultDisplayType('n1','f1','v1')).to.equal('advanced');
+      expect(App.config.getDefaultDisplayType('n1','f1','v1')).to.equal('string');
       App.config.isContentProperty.restore();
     });
     it('returns multiLine displayType', function() {
@@ -781,6 +781,11 @@ describe('App.config', function () {
       expect(App.config.getDefaultDisplayType('n2', 'f2', 'v1\nv2')).to.equal('multiLine');
       App.config.isContentProperty.restore();
     });
+    it('returns custom displayType for FALCON oozie-site properties', function() {
+      sinon.stub(App.config, 'isContentProperty', function () {return false});
+      expect(App.config.getDefaultDisplayType('n2', 'oozie-site.xml', 'v1\nv2', 'FALCON')).to.equal('custom');
+      App.config.isContentProperty.restore();
+    });
   });
 
   describe('#getDefaultDisplayName', function() {

+ 1 - 1
ambari-web/test/views/common/configs/service_configs_by_category_view_test.js

@@ -260,7 +260,7 @@ describe('App.ServiceConfigsByCategoryView', function () {
           name: 'n0',
           displayName: 'd0',
           value: 'v0',
-          displayType: 'advanced',
+          displayType: 'string',
           isSecureConfig: true,
           category: 'c0',
           serviceName: 's0',

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio