You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sr...@apache.org on 2013/08/23 00:15:08 UTC

[5/5] git commit: Revert "AMBARI-2989 UI needs ability to categorize, name and describe non-global configurations. (atkach)"

Revert "AMBARI-2989 UI needs ability to categorize, name and describe non-global configurations. (atkach)"

This reverts commit cfa2f7f304c932f9d6e2383231976acc4dccf406.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/43198bf6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/43198bf6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/43198bf6

Branch: refs/heads/trunk
Commit: 43198bf607ba4f86b75bcf4ba01b0eaf4b850ed9
Parents: 4b6ae77
Author: Srimanth Gunturi <sg...@hortonworks.com>
Authored: Thu Aug 22 13:45:34 2013 -0700
Committer: Srimanth Gunturi <sg...@hortonworks.com>
Committed: Thu Aug 22 15:14:44 2013 -0700

----------------------------------------------------------------------
 .../main/admin/security/add/step4.js            |    2 +-
 .../controllers/main/service/info/configs.js    |    4 +-
 ambari-web/app/data/HDP2/config_properties.js   | 2326 +++++++++++++++
 ambari-web/app/data/HDP2/global_properties.js   | 2351 ---------------
 ambari-web/app/data/HDP2/site_properties.js     |   22 -
 ambari-web/app/data/config_properties.js        | 2798 ++++++++++++++++++
 ambari-web/app/data/global_properties.js        | 2798 ------------------
 ambari-web/app/data/site_properties.js          |   22 -
 ambari-web/app/utils/config.js                  |   24 +-
 9 files changed, 5136 insertions(+), 5211 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/43198bf6/ambari-web/app/controllers/main/admin/security/add/step4.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/security/add/step4.js b/ambari-web/app/controllers/main/admin/security/add/step4.js
index 60b1851..a8c2b25 100644
--- a/ambari-web/app/controllers/main/admin/security/add/step4.js
+++ b/ambari-web/app/controllers/main/admin/security/add/step4.js
@@ -366,7 +366,7 @@ App.MainAdminSecurityAddStep4Controller = Em.Controller.extend({
   loadGlobals: function () {
     var globals = this.get('content.serviceConfigProperties').filterProperty('id', 'puppet var');
     this.set('globalProperties', globals);
-    this.loadStaticGlobal(); //Hack for properties which are declared in global_properties.js and not able to retrieve values declared in secure_properties.js
+    this.loadStaticGlobal(); //Hack for properties which are declared in config_properties.js and not able to retrieve values declared in secure_properties.js
     this.loadUsersToGlobal();
     this.loadHostNamesToGlobal();
     this.loadPrimaryNamesToGlobals();

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/43198bf6/ambari-web/app/controllers/main/service/info/configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index eb93798..4bc3401 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -39,8 +39,8 @@ App.MainServiceInfoConfigsController = Em.Controller.extend({
     return App.config.get('configMapping');
   }.property('App.config.configMapping'),
   configs: function() {
-    return  App.config.get('preDefinedGlobalProperties');
-  }.property('App.config.preDefinedGlobalProperties'),
+    return  App.config.get('preDefinedConfigProperties');
+  }.property('App.config.preDefinedConfigProperties'),
 
   secureConfigs: require('data/secure_mapping'),
 

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/43198bf6/ambari-web/app/data/HDP2/config_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/config_properties.js b/ambari-web/app/data/HDP2/config_properties.js
new file mode 100644
index 0000000..6f17c57
--- /dev/null
+++ b/ambari-web/app/data/HDP2/config_properties.js
@@ -0,0 +1,2326 @@
+/**
+ * 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.
+ */
+/**
+ * Defines service configuration properties.
+ *   name:
+ *     The name of the config property that is understood by Ambari server and agent.
+ *     E.g., "datanode_du_reserved"
+ *
+ *   displayName:
+ *     The human-friendly display name of the config property.
+ *     E.g., "Reserved space for HDFS"
+ *
+ *   description:
+ *     The description of the config property.
+ *     E.g., "Reserved space in GB per volume"
+ *
+ *   defaultValue:
+ *     The default value of the config property.
+ *     E.g., "1"
+ *
+ *   isReconfigurable:
+ *     Whether the config property can be reconfigured after it has been initially set and deployed.
+ *     If this is unspecified, true is assumed.
+ *     E.g., true, false
+ *
+ *   isOverridable:
+ *     Whether the config property can be overridden by hosts.
+ *     If this is unspecified, true is assumed.
+ *
+ *   isRequired:
+ *     Whether the config property is required or not.
+ *     If this is unspecified, true is assumed.
+ *     E.g., true, false
+ *
+ *   displayType:
+ *     How the config property is to be rendered for user input.
+ *     If this is left unspecified, "string" is assumed
+ *     E.g., "string", "int", "float", "checkbox", "directories", "custom", "email", "masterHost", "slaveHosts"
+ *
+ *   unit
+ *     The unit for the config property.
+ *     E.g., "ms", "MB", "bytes"
+ *
+ *   serviceName:
+ *     The service that the config property belongs to.
+ *     E.g., "HDFS", "MAPREDUCE2", "ZOOKEEPER", etc.
+ *
+ *   category: the category that the config property belongs to (used for grouping config properties in the UI).
+ *     if unspecified, "General" is assumed.
+ *     E.g., "General", "Advanced", "NameNode", "DataNode"
+ *
+ *   index: the sequence number in category, that point to place where config located regarding all rest in category.
+ *     if unspecified, push to the end of array.
+ *     E.g., 0, 1, '2'
+ */
+
+var App = require('app');
+require('config');
+
+module.exports =
+{
+  "configProperties": [
+    /**********************************************HDFS***************************************/
+    {
+      "id": "puppet var",
+      "name": "namenode_host",
+      "displayName": "NameNode host",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run NameNode",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "NameNode",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_namenode_name_dir",
+      "displayName": "NameNode directories",
+      "description": "NameNode directories for HDFS to store the file system image",
+      "defaultValue": "",
+      "defaultDirectory": "/hadoop/hdfs/namenode",
+      "displayType": "directories",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "NameNode",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "namenode_heapsize",
+      "displayName": "NameNode Java heap size",
+      "description": "Initial and maximum Java heap size for NameNode (Java options -Xms and -Xmx)",
+      "defaultValue": "1024",
+      "displayType": "int",
+      "unit": "MB",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "NameNode",
+      "index": 2
+    },
+    {
+      "id": "puppet var",
+      "name": "namenode_opt_newsize",
+      "displayName": "NameNode new generation size",
+      "description": "Default size of Java new generation for NameNode (Java option -XX:NewSize)",
+      "defaultValue": "200",
+      "displayType": "int",
+      "unit": "MB",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "NameNode",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "snamenode_host",
+      "displayName": "SNameNode host",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run SecondaryNameNode",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "SNameNode",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_namenode_checkpoint_dir",
+      "displayName": "SecondaryNameNode Checkpoint directory",
+      "description": "Directory on the local filesystem where the Secondary NameNode should store the temporary images to merge",
+      "defaultValue": "",
+      "defaultDirectory": "/hadoop/hdfs/namesecondary",
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "SNameNode",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "datanode_hosts", //not in the schema. For UI purpose
+      "displayName": "DataNode hosts",
+      "value": "",
+      "defaultValue": "",
+      "description": "The hosts that have been assigned to run DataNode",
+      "displayType": "slaveHosts",
+      "isRequired": false,
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "datanode-global",
+      "serviceName": "HDFS",
+      "category": "DataNode",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_datanode_data_dir",
+      "displayName": "DataNode directories",
+      "description": "DataNode directories for HDFS to store the data blocks",
+      "defaultValue": "",
+      "defaultDirectory": "/hadoop/hdfs/data",
+      "displayType": "directories",
+      "isVisible": true,
+      "domain": "datanode-global",
+      "serviceName": "HDFS",
+      "category": "DataNode",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "dtnode_heapsize",
+      "displayName": "DataNode maximum Java heap size",
+      "description": "Maximum Java heap size for DataNode (Java option -Xmx)",
+      "defaultValue": "1024",
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "datanode-global",
+      "serviceName": "HDFS",
+      "category": "DataNode",
+      "index": 2
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_datanode_failed_volume_tolerated",
+      "displayName": "DataNode volumes failure toleration",
+      "description": "The number of volumes that are allowed to fail before a DataNode stops offering service",
+      "defaultValue": "0",
+      "displayType": "int",
+      "isVisible": true,
+      "domain": "datanode-global",
+      "serviceName": "HDFS",
+      "category": "DataNode",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_webhdfs_enabled",
+      "displayName": "WebHDFS enabled",
+      "description": "Whether to enable WebHDFS feature",
+      "defaultValue": true,
+      "displayType": "checkbox",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "hadoop_heapsize",
+      "displayName": "Hadoop maximum Java heap size",
+      "description": "Maximum Java heap size for daemons such as Balancer (Java option -Xmx)",
+      "defaultValue": "1024",
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "datanode_du_reserved",
+      "displayName": "Reserved space for HDFS",
+      "description": "Reserved space in GB per volume",
+      "defaultValue": "1",
+      "displayType": "int",
+      "unit": "GB",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "index": 2
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_namenode_checkpoint_period",
+      "displayName": "HDFS Maximum Checkpoint Delay",
+      "description": "Maximum delay between two consecutive checkpoints for HDFS",
+      "defaultValue": "21600",
+      "displayType": "int",
+      "unit": "seconds",
+      "isVisible": true,
+      "domain": "global",
+      "filename": "core-site.xml",
+      "serviceName": "HDFS",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "fs_checkpoint_size",
+      "displayName": "HDFS Maximum Edit Log Size for Checkpointing",
+      "description": "Maximum size of the edits log file that forces an urgent checkpoint even if the maximum checkpoint delay is not reached",
+      "defaultValue": "0.5",
+      "displayType": "float",
+      "unit": "GB",
+      "isVisible": true,
+      "domain": "global",
+      "filename": "core-site.xml",
+      "serviceName": "HDFS",
+      "index": 4
+    },
+    {
+      "id": "puppet var",
+      "name": "hdfs_log_dir_prefix",
+      "displayName": "Hadoop Log Dir Prefix",
+      "description": "The parent directory for Hadoop log files.  The HDFS log directory will be ${hadoop_log_dir_prefix} / ${hdfs_user} and the MapReduce log directory will be ${hadoop_log_dir_prefix} / ${mapred_user}.",
+      "defaultValue": "/var/log/hadoop",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hadoop_pid_dir_prefix",
+      "displayName": "Hadoop PID Dir Prefix",
+      "description": "The parent directory in which the PID files for Hadoop processes will be created.  The HDFS PID directory will be ${hadoop_pid_dir_prefix} / ${hdfs_user} and the MapReduce PID directory will be ${hadoop_pid_dir_prefix} / ${mapred_user}.",
+      "defaultValue": "/var/run/hadoop",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "namenode_opt_maxnewsize",
+      "displayName": "NameNode maximum new generation size",
+      "description": "",
+      "defaultValue": "640",
+      "displayType": "int",
+      "unit": "MB",
+      "isOverridable": false,
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "NameNode"
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_exclude",
+      "displayName": "Exclude hosts",
+      "description": "Names a file that contains a list of hosts that are not permitted to connect to the namenode.  This file will be placed inside the Hadoop conf directory.",
+      "defaultValue": "dfs.exclude",
+      "displayType": "advanced",
+      "isVisible": true,
+      "filename": "hdfs-site.xml",
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_replication",
+      "displayName": "Block replication",
+      "description": "Default block replication.",
+      "displayType": "int",
+      "defaultValue": "3",
+      "isVisible": true,
+      "filename": "hdfs-site.xml",
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_block_local_path_access_user",
+      "displayName": "dfs.block.local-path-access.user",
+      "description": "the user who is allowed to perform short circuit reads",
+      "displayType": "advanced",
+      "defaultValue": "hbase",
+      "isVisible": true,
+      "filename": "hdfs-site.xml",
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_datanode_data_dir_perm",
+      "displayName": "dfs_datanode_data_dir_perm",
+      "description": "",
+      "defaultValue": "750",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": false,
+      "filename": "hdfs-site.xml",
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "security_enabled",
+      "displayName": "Hadoop Security",
+      "description": "Enable hadoop security",
+      "defaultValue": 'false',
+      "isRequired": false,
+      "displayType": "checkbox",
+      "isOverridable": false,
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "namenode_formatted_mark_dir",
+      "displayName": "Hadoop formatted mark directory",
+      "description": "",
+      "defaultValue": "/var/run/hadoop/hdfs/namenode/formatted/",
+      "isRequired": false,
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "NameNode"
+    },
+    {
+      "id": "puppet var",
+      "name": "hcat_conf_dir",
+      "displayName": "HCat conf directory",
+      "description": "",
+      "defaultValue": "",
+      "isRequired": false,
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hdfs_enable_shortcircuit_read",
+      "displayName": "HDFS Short-circuit read",
+      "description": "",
+      "defaultValue": true,
+      "isRequired": false,
+      "displayType": "checkbox",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HDFS",
+      "category": "Advanced"
+    },
+
+  /**********************************************MAPREDUCE2***************************************/
+    {
+      "id": "puppet var",
+      "name": "hs_host",
+      "displayName": "History Server",
+      "description": "History Server",
+      "defaultValue": "",
+      "isOverridable": false,
+      "displayType": "masterHost",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2",
+      "category": "HistoryServer",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "mapreduce_tasktracker_map_tasks_maximum",
+      "displayName": "Number of Map slots per node",
+      "description": "Number of slots that Map tasks that run simultaneously can occupy on a TaskTracker",
+      "defaultValue": "4",
+      "displayType": "int",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapreduce_map_memory_mb",
+      "displayName": "Default virtual memory for a job's map-task",
+      "description": "Virtual memory for single Map task",
+      "defaultValue": "1536",
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapreduce_reduce_memory_mb",
+      "displayName": "Default virtual memory for a job's reduce-task",
+      "description": "Virtual memory for single Reduce task",
+      "defaultValue": "2048",
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapreduce_task_io_sort_mb",
+      "displayName": "Map-side sort buffer memory",
+      "description": "The total amount of Map-side buffer memory to use while sorting files (Expert-only configuration)",
+      "defaultValue": "200",
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapreduce_userlog_retainhours",
+      "displayName": "Job log retention (hours)",
+      "description": "The maximum time, in hours, for which the user-logs are to be retained after the job completion.",
+      "defaultValue": "24",
+      "displayType": "int",
+      "unit": "hours",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "puppet var",
+      "name": "maxtasks_per_job",
+      "displayName": "Maximum number tasks for a Job",
+      "description": "Maximum number of tasks for a single Job",
+      "defaultValue": "-1",
+      "displayType": "int",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "puppet var",
+      "name": "scheduler_name",
+      "displayName": "MapReduce Capacity Scheduler",
+      "description": "The scheduler to use for scheduling of MapReduce jobs",
+      "defaultValue": "org.apache.hadoop.mapred.CapacityTaskScheduler",
+      "displayType": "advanced",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapreduce_jobtracker_system_dir",
+      "displayName": "MapReduce system directories",
+      "description": "",
+      "defaultValue": "/mapred/system",
+      "displayType": "directories",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapred_log_dir_prefix",
+      "displayName": "Mapreduce Log Dir Prefix",
+      "description": "",
+      "defaultValue": "/var/log/hadoop-mapreduce",
+      "displayType": "directory",
+      "isVisible": true,
+      "isReconfigurable": false,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapred_pid_dir_prefix",
+      "displayName": "Mapreduce PID Dir Prefix",
+      "description": "",
+      "defaultValue": "/var/run/hadoop-mapreduce",
+      "displayType": "directory",
+      "isVisible": true,
+      "isReconfigurable": false,
+      "domain": "global",
+      "serviceName": "MAPREDUCE2",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapred_hosts_include",
+      "displayName": "Include hosts",
+      "description": "Include enetered hosts",
+      "defaultValue": "mapred.include",
+      "displayType": "directories",
+      "isVisible": false,
+      "serviceName": "MAPREDUCE2",
+      "domain": "global",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "task_controller",
+      "displayName": "task_controller",
+      "description": "",
+      "defaultValue": "org.apache.hadoop.mapred.DefaultTaskController",
+      "displayType": "advanced",
+      "isVisible": false,
+      "serviceName": "MAPREDUCE2",
+      "domain": "global",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapred_hosts_exclude",
+      "displayName": "Exclude hosts",
+      "description": "Exclude entered hosts",
+      "defaultValue": "mapred.exclude",
+      "displayType": "directories",
+      "isVisible": false,
+      "serviceName": "MAPREDUCE2",
+      "domain": "global",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "mapred_jobstatus_dir",
+      "displayName": "Job Status directory",
+      "description": "Directory path to view job status",
+      "defaultValue": "file:////mapred/jobstatus",
+      "displayType": "advanced",
+      "isVisible": false,
+      "serviceName": "MAPREDUCE2",
+      "domain": "global",
+      "category": "Advanced"
+    },
+  /**********************************************YARN***************************************/
+    {
+      "id": "puppet var",
+      "name": "yarn_heapsize",
+      "displayName": "Yarn Java heap size",
+      "description": "Max heapsize for all YARN components",
+      "defaultValue": "1024",
+      "isOverridable": false,
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "YARN",
+      "category": "General",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "rm_host",
+      "displayName": "ResourceManager",
+      "description": "ResourceManager",
+      "defaultValue": "",
+      "isOverridable": false,
+      "displayType": "masterHost",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "YARN",
+      "category": "ResourceManager",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "resourcemanager_heapsize",
+      "displayName": "ResourceManager Java heap size",
+      "description": "Max heapsize for ResourceManager",
+      "defaultValue": "1024",
+      "isOverridable": false,
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "YARN",
+      "category": "ResourceManager",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "nm_hosts",
+      "displayName": "NodeManager",
+      "description": "List of NodeManager Hosts.",
+      "defaultValue": "",
+      "isOverridable": false,
+      "displayType": "slaveHosts",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "YARN",
+      "category": "NodeManager",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "nodemanager_heapsize",
+      "displayName": "NodeManager Java heap size",
+      "description": "Max heapsize for NodeManager",
+      "defaultValue": "1024",
+      "isOverridable": false,
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "YARN",
+      "category": "NodeManager",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "yarn_log_dir_prefix",
+      "displayName": "YARN Log Dir Prefix",
+      "description": "",
+      "defaultValue": "/var/log/hadoop-yarn",
+      "displayType": "directory",
+      "isReconfigurable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "YARN",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "yarn_pid_dir_prefix",
+      "displayName": "YARN PID Dir Prefix",
+      "description": "",
+      "defaultValue": "/var/run/hadoop-yarn",
+      "displayType": "directory",
+      "isVisible": true,
+      "isReconfigurable": false,
+      "domain": "global",
+      "serviceName": "YARN",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "yarn_nodemanager_local-dirs",
+      "displayName": "YARN local directories",
+      "defaultValue": "",
+      "defaultDirectory": "/hadoop/yarn",
+      "displayType": "directories",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "serviceName": "YARN",
+      "category": "Advanced"
+    },
+  /**********************************************HBASE***************************************/
+    {
+      "id": "puppet var",
+      "name": "hbasemaster_host",
+      "displayName": "HBase Master hosts",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run HBase Master",
+      "displayType": "masterHosts",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "HBase Master",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_master_heapsize",
+      "displayName": "HBase Master Maximum Java heap size",
+      "description": "Maximum Java heap size for HBase master (Java option -Xmx)",
+      "defaultValue": "1024",
+      "displayType": "int",
+      "unit": "MB",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "HBase Master",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "regionserver_hosts",
+      "displayName": "RegionServer hosts",
+      "value": "",
+      "defaultValue": "",
+      "description": "The hosts that have been assigned to run RegionServer",
+      "displayType": "slaveHosts",
+      "isOverridable": false,
+      "isVisible": true,
+      "isRequired": false,
+      "domain": "regionserver-global",
+      "serviceName": "HBASE",
+      "category": "RegionServer",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_regionserver_heapsize",
+      "displayName": "HBase RegionServers maximum Java heap size",
+      "description": "Maximum Java heap size for HBase RegionServers (Java option -Xmx)",
+      "defaultValue": "1024",
+      "displayType": "int",
+      "unit": "MB",
+      "isVisible": true,
+      "domain": "regionserver-global",
+      "serviceName": "HBASE",
+      "category": "RegionServer",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "regionserver_handlers",
+      "displayName": "HBase RegionServer Handler",
+      "description": "Count of RPC Listener instances spun up on RegionServers",
+      "defaultValue": "60",
+      "displayType": "int",
+      "isVisible": true,
+      "domain": "regionserver-global",
+      "serviceName": "HBASE",
+      "category": "RegionServer",
+      "index": 2
+    },
+    {
+      "id": "puppet var",
+      "name": "hregion_majorcompaction",
+      "displayName": "HBase Region Major Compaction",
+      "description": "The time between major compactions of all HStoreFiles in a region. Set to 0 to disable automated major compactions.",
+      "defaultValue": "86400000",
+      "displayType": "int",
+      "unit": "ms",
+      "isVisible": true,
+      "domain": "regionserver-global",
+      "serviceName": "HBASE",
+      "category": "RegionServer",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "hregion_blockmultiplier",
+      "displayName": "HBase Region Block Multiplier",
+      "description": "Block updates if memstore has \"Multiplier * HBase Region Memstore Flush Size\" bytes. Useful preventing runaway memstore during spikes in update traffic",
+      "defaultValue": "2",
+      "displayType": "int",
+      "isVisible": true,
+      "domain": "regionserver-global",
+      "serviceName": "HBASE",
+      "category": "RegionServer",
+      "index": 4
+    },
+    {
+      "id": "puppet var",
+      "name": "hregion_memstoreflushsize",
+      "displayName": "HBase Region Memstore Flush Size",
+      "description": "Memstore will be flushed to disk if size of the memstore exceeds this number of bytes.",
+      "defaultValue": "134217728",
+      "displayType": "int",
+      "unit": "bytes",
+      "isVisible": true,
+      "domain": "regionserver-global",
+      "serviceName": "HBASE",
+      "category": "RegionServer",
+      "index": 5
+    },
+    {
+      "id": "puppet var",
+      "name": "hstore_compactionthreshold",
+      "displayName": "HBase HStore compaction threshold",
+      "description": "If more than this number of HStoreFiles in any one HStore then a compaction is run to rewrite all HStoreFiles files as one.",
+      "defaultValue": "3",
+      "displayType": "int",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "hfile_blockcache_size",
+      "displayName": "HFile block cache size ",
+      "description": "Percentage of maximum heap (-Xmx setting) to allocate to block cache used by HFile/StoreFile. Set to 0 to disable but it's not recommended.",
+      "defaultValue": "0.40",
+      "displayType": "float",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "hstorefile_maxsize",
+      "displayName": "Maximum HStoreFile Size",
+      "description": "If any one of a column families' HStoreFiles has grown to exceed this value, the hosting HRegion is split in two.",
+      "defaultValue": "10737418240",
+      "displayType": "int",
+      "unit": "bytes",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "index": 2
+    },
+    {
+      "id": "puppet var",
+      "name": "client_scannercaching",
+      "displayName": "HBase Client Scanner Caching",
+      "description": "Number of rows that will be fetched when calling next on a scanner if it is not served from (local, client) memory. Do not set this value such that the time between invocations is greater than the scanner timeout",
+      "defaultValue": "100",
+      "displayType": "int",
+      "unit": "rows",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "zookeeper_sessiontimeout",
+      "displayName": "Zookeeper timeout for HBase Session",
+      "description": "HBase passes this to the zk quorum as suggested maximum time for a session",
+      "defaultValue": "60000",
+      "displayType": "int",
+      "unit": "ms",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "index": 4
+    },
+    {
+      "id": "puppet var",
+      "name": "hfile_max_keyvalue_size",
+      "displayName": "HBase Client Maximum key-value Size",
+      "description": "Specifies the combined maximum allowed size of a KeyValue instance. It should be set to a fraction of the maximum region size.",
+      "defaultValue": "10485760",
+      "displayType": "int",
+      "unit": "bytes",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "index": 5
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_log_dir",
+      "displayName": "HBase Log Dir",
+      "description": "Directory for HBase logs",
+      "defaultValue": "/var/log/hbase",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_pid_dir",
+      "displayName": "HBase PID Dir",
+      "description": "Directory in which the pid files for HBase processes will be created",
+      "defaultValue": "/var/run/hbase",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_hdfs_root_dir",
+      "displayName": "Hbase relative path to HDFS",
+      "description": "Hbase relative directory to HDFS",
+      "defaultValue": "/apps/hbase/data",
+      "isRequired": true,
+      "displayType": "advanced",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_tmp_dir",
+      "displayName": "Hbase temp directory",
+      "description": "",
+      "defaultValue": "/var/log/hbase",
+      "isRequired": false,
+      "displayType": "advanced",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hdfs_support_append",
+      "displayName": "HDFS append support",
+      "description": "HDFS append support",
+      "defaultValue": true,
+      "isRequired": false,
+      "displayType": "checkbox",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hstore_blockingstorefiles",
+      "displayName": "hstore blocking storefiles",
+      "description": "If more than this number of StoreFiles in any one Store (one StoreFile is written per flush of " +
+        "MemStore) then updates are blocked for this HRegion until a compaction is completed, or until " +
+        "hbase.hstore.blockingWaitTime has been exceeded.",
+      "defaultValue": 7,
+      "isRequired": true,
+      "displayType": "init",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "regionserver_memstore_lab",
+      "displayName": "regionserver_memstore_lab",
+      "description": "",
+      "defaultValue": true,
+      "isRequired": false,
+      "displayType": "checkbox",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "regionserver_memstore_lowerlimit",
+      "displayName": "regionserver_memstore_lowerlimit",
+      "description": "",
+      "defaultValue": "0.38",
+      "isRequired": false,
+      "displayType": "float",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "regionserver_memstore_upperlimit",
+      "displayName": "regionserver_memstore_upperlimit",
+      "description": "",
+      "defaultValue": "0.4",
+      "isRequired": true,
+      "displayType": "float",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+  /**********************************************HIVE***************************************/
+    {
+      "id": "puppet var",
+      "name": "hivemetastore_host",
+      "displayName": "Hive Metastore host",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run Hive Metastore",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "isObserved": true,
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 0
+    },
+    // for existing MySQL
+    {
+      "id": "puppet var",
+      "name": "hive_existing_mysql_database",
+      "displayName": "Database Type",
+      "value": "",
+      "defaultValue": "MySQL",
+      "description": "Using an existing MySQL database for Hive Metastore",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": false,
+      "isReconfigurable": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 1
+    },
+    // for existing Oracle
+    {
+      "id": "puppet var",
+      "name": "hive_existing_oracle_database",
+      "displayName": "Database Type",
+      "value": "",
+      "defaultValue": "Oracle",
+      "description": "Using an existing Oracle database for Hive Metastore",
+      "displayType": "masterHost",
+      "isVisible": false,
+      "isOverridable": false,
+      "isReconfigurable": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 1
+    },
+    // for new MySQL
+    {
+      "id": "puppet var",
+      "name": "hive_ambari_database",
+      "displayName": "Database Type",
+      "value": "",
+      "defaultValue": "MySQL",
+      "description": "MySQL will be installed by Ambari",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_database",
+      "displayName": "Hive Database",
+      "value": "",
+      "defaultValue": "New MySQL Database",
+      "options": [
+        {
+          displayName: 'New MySQL Database',
+          foreignKeys: ['hive_ambari_database', 'hive_ambari_host']
+        },
+        {
+          displayName: 'Existing MySQL Database',
+          foreignKeys: ['hive_existing_mysql_database', 'hive_existing_mysql_host']
+        },
+        {
+          displayName: 'Existing Oracle Database',
+          foreignKeys: ['hive_existing_oracle_database', 'hive_existing_oracle_host'],
+          hidden: !App.supports.hiveOozieExtraDatabases
+        }
+      ],
+      "description": "MySQL will be installed by Ambari",
+      "displayType": "radio button",
+      "isReconfigurable": false,
+      "radioName": "hive-database",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 2
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_hostname",
+      "displayName": "Database Host",
+      "description": "Specify the host on which the database is hosted",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "host",
+      "isOverridable": false,
+      "isVisible": false,
+      "isObserved": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_existing_mysql_host",
+      "displayName": "Database Host",
+      "description": "Specify the host on which the existing database is hosted",
+      "defaultValue": "",
+      "isReconfigurable": false,
+      "displayType": "host",
+      "isOverridable": false,
+      "isVisible": false,
+      "isObserved": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_existing_oracle_host",
+      "displayName": "Database Host",
+      "description": "Specify the host on which the existing database is hosted",
+      "defaultValue": "",
+      "isReconfigurable": false,
+      "displayType": "host",
+      "isOverridable": false,
+      "isVisible": false,
+      "isObserved": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_ambari_host",
+      "value": "",
+      "defaultValue": "",
+      "displayName": "Database Host",
+      "description": "Host on which the database will be created by Ambari",
+      "isReconfigurable": false,
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_database_name",
+      "displayName": "Database Name",
+      "description": "Database name used as the Hive Metastore",
+      "defaultValue": "hive",
+      "isReconfigurable": true,
+      "displayType": "host",
+      "isOverridable": false,
+      "isVisible": true,
+      "isObserved": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 4
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_metastore_user_name",
+      "displayName": "Database Username",
+      "description": "Database user name to use to connect to the database",
+      "defaultValue": "hive",
+      "isReconfigurable": true,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 5
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_metastore_user_passwd",
+      "displayName": "Database Password",
+      "description": "Database password to use to connect to the PostgreSQL database",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "password",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 6
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_jdbc_connection_url",
+      "displayName": "Database URL",
+      "value": "",
+      "defaultValue": " ", // set to a space to not include this in initial error count
+      "description": "The JDBC connection URL to the database",
+      "displayType": "advanced",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 7
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_metastore_port",
+      "displayName": "Hive metastore port",
+      "description": "",
+      "defaultValue": "9083",
+      "isReconfigurable": false,
+      "displayType": "int",
+      "isOverridable": false,
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_lib",
+      "displayName": "Hive library",
+      "description": "",
+      "defaultValue": "/usr/lib/hive/lib/",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_conf_dir",
+      "displayName": "Hive conf directory",
+      "description": "",
+      "defaultValue": "/etc/hive/conf",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_dbroot",
+      "displayName": "Hive db directory",
+      "description": "",
+      "defaultValue": "/usr/lib/hive/lib",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_log_dir",
+      "displayName": "Hive Log Dir",
+      "description": "Directory for Hive log files",
+      "defaultValue": "/var/log/hive",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_pid_dir",
+      "displayName": "Hive PID Dir",
+      "description": "Directory in which the PID files for Hive processes will be created",
+      "defaultValue": "/var/run/hive",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "mysql_connector_url",
+      "displayName": "MySQL connector url",
+      "description": "",
+      "defaultValue": "${download_url}/mysql-connector-java-5.1.18.zip",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_aux_jars_path",
+      "displayName": "Hive auxilary jar path",
+      "description": "",
+      "defaultValue": "/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "HIVE",
+      "category": "Advanced"
+    },
+  /**********************************************WEBHCAT***************************************/
+    {
+      "id": "puppet var",
+      "name": "webhcatserver_host",
+      "displayName": "WebHCat Server host",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run WebHCat Server",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "WEBHCAT",
+      "category": "WebHCat Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "hcat_log_dir",
+      "displayName": "WebHCat Log Dir",
+      "description": "Directory for WebHCat log files",
+      "defaultValue": "/var/log/webhcat",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "WEBHCAT",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hcat_pid_dir",
+      "displayName": "WebHCat PID Dir",
+      "description": "Directory in which the PID files for WebHCat processes will be created",
+      "defaultValue": "/var/run/webhcat",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "WEBHCAT",
+      "category": "Advanced"
+    },
+  /**********************************************OOZIE***************************************/
+    {
+      "id": "puppet var",
+      "name": "oozieserver_host",
+      "displayName": "Oozie Server host",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run Oozie Server",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 0
+    },
+    // for existing Oracle
+    {
+      "id": "puppet var",
+      "name": "oozie_existing_oracle_database",
+      "displayName": "Database Type",
+      "value": "",
+      "defaultValue": "Oracle",
+      "description": "Using an existing Oracle database for Oozie Metastore",
+      "displayType": "masterHost",
+      "isVisible": false,
+      "isObserved": true,
+      "isReconfigurable": false,
+      "isOverridable": false,
+      //"domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 1
+    },
+    // for new MySQL
+    {
+      "id": "puppet var",
+      "name": "oozie_ambari_database",
+      "displayName": "Database Type",
+      "value": "",
+      "defaultValue": "MySQL",
+      "description": "MySQL will be installed by Ambari",
+      "displayType": "masterHost",
+      "isVisible": false,
+      "isOverridable": false,
+      // "domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 1
+    },
+    // for current derby
+    {
+      "id": "puppet var",
+      "name": "oozie_derby_database",
+      "displayName": "Database Type",
+      "value": "",
+      "defaultValue": "Derby",
+      "description": "Using current Derby database for Oozie Metastore",
+      "displayType": "masterHost",
+      "isVisible": false,
+      "isReconfigurable": false,
+      "isOverridable": false,
+      // "domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 1
+    },
+    // for existing MySQL oozie
+    {
+      "id": "puppet var",
+      "name": "oozie_existing_mysql_database",
+      "displayName": "Database Type",
+      "value": "",
+      "defaultValue": "MySQL",
+      "description": "Using an existing MySQL database for Oozie Metastore",
+      "displayType": "masterHost",
+      "isVisible": false,
+      "isReconfigurable": false,
+      "isOverridable": false,
+      //"domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_database",
+      "displayName": "Oozie Database",
+      "value": "",
+      "defaultValue": "New Derby Database",
+      "options": [
+        {
+          displayName: 'New Derby Database',
+          foreignKeys: ['oozie_derby_database']
+        },
+        /*{
+          displayName: 'New MySQL Database',
+          foreignKeys: ['oozie_ambari_database', 'oozie_ambari_host'],
+          hidden: !App.supports.hiveOozieExtraDatabases
+        },*/
+        {
+          displayName: 'Existing MySQL Database',
+          foreignKeys: ['oozie_existing_mysql_database', 'oozie_existing_mysql_host'],
+          hidden: !App.supports.hiveOozieExtraDatabases
+        },
+        {
+          displayName: 'Existing Oracle Database',
+          foreignKeys: ['oozie_existing_oracle_database', 'oozie_existing_oracle_host'],
+          hidden: !App.supports.hiveOozieExtraDatabases
+        }
+      ],
+      "description": "Current Derby Database will be installed by Ambari",
+      "displayType": "radio button",
+      "isReconfigurable": false,
+      "isOverridable": false,
+      "radioName": "oozie-database",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 2
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_database_name",
+      "displayName": "Database Name",
+      "description": "Database name used for the Oozie",
+      "defaultValue": "oozie",
+      "isReconfigurable": true,
+      "isOverridable": false,
+      "displayType": "host",
+      "isVisible": true,
+      "isObserved": true,
+      //"domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_metastore_user_name",
+      "displayName": "Database Username",
+      "description": "Database user name to use to connect to the database",
+      "defaultValue": "oozie",
+      "isReconfigurable": true,
+      "isOverridable": false,
+      "displayType": "user",
+      "isVisible": true,
+      //"domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 4
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_metastore_user_passwd",
+      "displayName": "Database Password",
+      "description": "Database password to use to connect to the database",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "isOverridable": false,
+      "displayType": "password",
+      "isVisible": true,
+      //"domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 5
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_jdbc_connection_url",
+      "displayName": "Database URL",
+      "description": "The JDBC connection URL to the database",
+      "defaultValue": " ",  // set to a space to not include this in initial error count
+      "isReconfigurable": true,
+      "isOverridable": false,
+      "displayType": "advanced",
+      "isVisible": true,
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 6
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_data_dir",
+      "displayName": "Oozie Data Dir",
+      "description": "Data directory in which the Oozie DB exists",
+      "defaultValue": "",
+      "defaultDirectory": "/hadoop/oozie/data",
+      "isReconfigurable": true,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "isRequired": false,
+      "domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 7
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_hostname",
+      "defaultValue": "",
+      "displayName": "Database Host",
+      "description": "The host where the Oozie database is located",
+      "isReconfigurable": true,
+      "isOverridable": false,
+      "displayType": "host",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_existing_mysql_host",
+      "displayName": "Database Host",
+      "description": "Specify the host on which the existing database is hosted",
+      "defaultValue": "",
+      "isReconfigurable": false,
+      "isOverridable": false,
+      "displayType": "host",
+      "isVisible": false,
+      "isObserved": true,
+      //"domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_existing_oracle_host",
+      "displayName": "Database Host",
+      "description": "Specify the host on which the existing database is hosted",
+      "defaultValue": "",
+      "isReconfigurable": false,
+      "isOverridable": false,
+      "displayType": "host",
+      "isVisible": false,
+      "isObserved": true,
+      //"domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_ambari_host",
+      "value": "",
+      "defaultValue": "",
+      "displayName": "Database Host",
+      "description": "Host on which the database will be created by Ambari",
+      "isReconfigurable": false,
+      "isOverridable": false,
+      "displayType": "masterHost",
+      "isVisible": false,
+      //"domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Oozie Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_log_dir",
+      "displayName": "Oozie Log Dir",
+      "description": "Directory for oozie logs",
+      "defaultValue": "/var/log/oozie",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_pid_dir",
+      "displayName": "Oozie PID Dir",
+      "description": "Directory in which the pid files for oozie processes will be created",
+      "defaultValue": "/var/run/oozie",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "OOZIE",
+      "category": "Advanced"
+    },
+  /**********************************************NAGIOS***************************************/
+    {
+      "id": "puppet var",
+      "name": "nagios_web_login",
+      "displayName": "Nagios Admin username",
+      "description": "Nagios Web UI Admin username",
+      "defaultValue": "nagiosadmin",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "domain": "global",
+      "isVisible": true,
+      "serviceName": "NAGIOS",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "nagios_web_password",
+      "displayName": "Nagios Admin password",
+      "description": "Nagios Web UI Admin password",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "password",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "NAGIOS",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "nagios_contact",
+      "displayName": "Hadoop Admin email",
+      "description": "Hadoop Administrator email for alert notification",
+      "defaultValue": "",
+      "displayType": "email",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "NAGIOS",
+      "index": 2
+    },
+  /**********************************************ZOOKEEPER***************************************/
+    {
+      "id": "puppet var",
+      "name": "zookeeperserver_hosts",
+      "displayName": "ZooKeeper Server hosts",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run ZooKeeper Server",
+      "displayType": "masterHosts",
+      "isVisible": true,
+      "isOverridable": false,
+      "isRequired": false,
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "zk_data_dir",
+      "displayName": "ZooKeeper directory",
+      "description": "Data directory for ZooKeeper",
+      "defaultValue": "",
+      "defaultDirectory": "/hadoop/zookeeper",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "tickTime",
+      "displayName": "Length of single Tick",
+      "description": "The length of a single tick in milliseconds, which is the basic time unit used by ZooKeeper",
+      "defaultValue": "2000",
+      "displayType": "int",
+      "unit": "ms",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server",
+      "index": 2
+    },
+    {
+      "id": "puppet var",
+      "name": "initLimit",
+      "displayName": "Ticks to allow for sync at Init",
+      "description": "Amount of time, in ticks to allow followers to connect and sync to a leader",
+      "defaultValue": "10",
+      "displayType": "int",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server",
+      "index": 3
+    },
+    {
+      "id": "puppet var",
+      "name": "syncLimit",
+      "displayName": "Ticks to allow for sync at Runtime",
+      "description": "Amount of time, in ticks to allow followers to connect",
+      "defaultValue": "5",
+      "displayType": "int",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server",
+      "index": 4
+    },
+    {
+      "id": "puppet var",
+      "name": "clientPort",
+      "displayName": "Port for running ZK Server",
+      "description": "Port for running ZooKeeper server",
+      "defaultValue": "2181",
+      "displayType": "int",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server",
+      "index": 5
+    },
+    {
+      "id": "puppet var",
+      "name": "zk_log_dir",
+      "displayName": "ZooKeeper Log Dir",
+      "description": "Directory for ZooKeeper log files",
+      "defaultValue": "/var/log/zookeeper",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "ZOOKEEPER",
+      "category": "Advanced",
+      "index": 0
+    },
+    {
+      "id": "puppet var",
+      "name": "zk_pid_dir",
+      "displayName": "ZooKeeper PID Dir",
+      "description": "Directory in which the pid files for zookeeper processes will be created",
+      "defaultValue": "/var/run/zookeeper",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "ZOOKEEPER",
+      "category": "Advanced",
+      "index": 1
+    },
+    {
+      "id": "puppet var",
+      "name": "zk_pid_file",
+      "displayName": "ZooKeeper PID File",
+      "description": "",
+      "defaultValue": "/var/run/zookeeper/zookeeper_server.pid",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "ZOOKEEPER",
+      "category": "Advanced"
+    },
+  /**********************************************HUE***************************************/
+    {
+      "id": "puppet var",
+      "name": "hueserver_host",
+      "displayName": "Hue Server host",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run Hue Server",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HUE",
+      "category": "Hue Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "hue_log_dir",
+      "displayName": "HUE Log Dir",
+      "description": "Directory for HUE logs",
+      "defaultValue": "/var/log/hue",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HUE",
+      "category": "Advanced"
+    },
+    {
+      "id": "puppet var",
+      "name": "hue_pid_dir",
+      "displayName": "HUE Pid Dir",
+      "description": "Directory in which the pid files for HUE processes will be created",
+      "defaultValue": "/var/run/hue",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "HUE",
+      "category": "Advanced"
+    },
+  /**********************************************GANGLIA***************************************/
+    {
+      "id": "puppet var",
+      "name": "ganglia_conf_dir",
+      "displayName": "Ganglia conf directory",
+      "description": "",
+      "defaultValue": "/etc/ganglia/hdp",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "GANGLIA",
+      "category": "Advanced"
+    },
+  /**********************************************MISC***************************************/
+    {
+      "id": "puppet var",
+      "name": "hbase_conf_dir",
+      "displayName": "HBase conf dir",
+      "description": "",
+      "defaultValue": "/etc/hbase",
+      "isRequired": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "General",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "proxyuser_group",
+      "displayName": "Proxy group for Hive, WebHCat, and Oozie",
+      "description": "",
+      "defaultValue": "users",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "filename": "core-site.xml",
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["HIVE","WEBHCAT","OOZIE"]
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_datanode_address",
+      "displayName": "dfs_datanode_address",
+      "description": "",
+      "defaultValue": "50010",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "filename": "hdfs-site.xml",
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Advanced",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_datanode_http_address",
+      "displayName": "dfs_datanode_http_address",
+      "description": "",
+      "defaultValue": "50075",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "filename": "hdfs-site.xml",
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Advanced",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "gpl_artifacts_download_url",
+      "displayName": "gpl artifact download url",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": false,
+      "displayType": "advanced",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "General",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "apache_artifacts_download_url",
+      "displayName": "apache artifact download url",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": false,
+      "displayType": "advanced",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "General",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "ganglia_runtime_dir",
+      "displayName": "Ganglia runtime directory",
+      "description": "",
+      "defaultValue": "/var/run/ganglia/hdp",
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "General",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "java64_home",
+      "displayName": "Path to 64-bit JAVA_HOME",
+      "description": "Path to 64-bit JAVA_HOME.  /usr/jdk/jdk1.6.0_31 is the default used by Ambari.  You can override this to a specific path that contains the JDK.  Note that the path must be valid on ALL hosts in your cluster.",
+      "defaultValue": "/usr/jdk64/jdk1.6.0_31",
+      "isRequired": true,
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "MISC",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "run_dir",
+      "displayName": "Hadoop run directory",
+      "description": "",
+      "defaultValue": "/var/run/hadoop",
+      "isRequired": false,
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Advanced",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "hadoop_conf_dir",
+      "displayName": "Hadoop conf directory",
+      "description": "",
+      "defaultValue": "/etc/hadoop/conf",
+      "isRequired": false,
+      "isReconfigurable": false,
+      "displayType": "directory",
+      "isVisible": false,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Advanced",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "hdfs_user",
+      "displayName": "HDFS User",
+      "description": "User to run HDFS as",
+      "defaultValue": "hdfs",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "MISC",
+      "domain": "global",
+      "category": "Users and Groups",
+      "belongsToService":["HDFS"]
+    },
+    {
+      "id": "puppet var",
+      "name": "mapred_user",
+      "displayName": "MapReduce User",
+      "description": "User to run MapReduce as",
+      "defaultValue": "mapred",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["MAPREDUCE2"]
+    },
+    {
+      "id": "puppet var",
+      "name": "yarn_user",
+      "displayName": "YARN User",
+      "description": "User to run YARN as",
+      "defaultValue": "yarn",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["YARN"]
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_user",
+      "displayName": "HBase User",
+      "description": "User to run HBase as",
+      "defaultValue": "hbase",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["HBASE"]
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_user",
+      "displayName": "Hive User",
+      "description": "User to run Hive as",
+      "defaultValue": "hive",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["HIVE"]
+    },
+    {
+      "id": "puppet var",
+      "name": "hcat_user",
+      "displayName": "HCat User",
+      "description": "User to run HCatalog as",
+      "defaultValue": "hcat",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["HCATALOG"]
+    },
+    {
+      "id": "puppet var",
+      "name": "webhcat_user",
+      "displayName": "WebHCat User",
+      "description": "User to run WebHCat as",
+      "defaultValue": "hcat",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["WEBHCAT"]
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_user",
+      "displayName": "Oozie User",
+      "description": "User to run Oozie as",
+      "defaultValue": "oozie",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["OOZIE"]
+    },
+    {
+      "id": "puppet var",
+      "name": "zk_user",
+      "displayName": "ZooKeeper User",
+      "description": "User to run ZooKeeper as",
+      "defaultValue": "zookeeper",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["ZOOKEEPER"]
+    },
+    {
+      "id": "puppet var",
+      "name": "gmetad_user",
+      "displayName": "Ganglia User",
+      "description": "The user used to run Ganglia",
+      "defaultValue": "nobody",
+      "isReconfigurable": false,
+      "displayType": "advanced",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["GANGLIA"]
+    },
+    {
+      "id": "puppet var",
+      "name": "gmond_user",
+      "displayName": "Gmond User",
+      "description": "The user used to run gmond for Ganglia",
+      "defaultValue": "nobody",
+      "isReconfigurable": false,
+      "displayType": "advanced",
+      "isOverridable": false,
+      "isVisible": false,
+      "domain": "global",
+      "serviceName":"MISC",
+      "category": "Users and Groups",
+      "belongsToService":[]
+    },
+    {
+      "id": "puppet var",
+      "name": "nagios_user",
+      "displayName": "Nagios User",
+      "description": "User to run Nagios as",
+      "defaultValue": "nagios",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "domain": "global",
+      "isVisible": true,
+      "serviceName":"MISC",
+      "category": "Users and Groups",
+      "belongsToService":["NAGIOS"]
+    },
+    {
+      "id": "puppet var",
+      "name": "nagios_group",
+      "displayName": "Nagios Group",
+      "description": "Nagios Group",
+      "defaultValue": "nagios",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "domain": "global",
+      "isVisible": true,
+      "serviceName":"MISC",
+      "category": "Users and Groups",
+      "belongsToService":["NAGIOS"]
+    },
+    {
+      "id": "puppet var",
+      "name": "smokeuser",
+      "displayName": "Smoke Test User",
+      "description": "The user used to run service smoke tests",
+      "defaultValue": "ambari-qa",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": App.supports.customizeSmokeTestUser,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["HDFS"]
+    },
+    {
+      "id": "puppet var",
+      "name": "user_group",
+      "displayName": "Group",
+      "description": "Group that the users specified above belong to",
+      "defaultValue": "hadoop",
+      "isReconfigurable": false,
+      "displayType": "user",
+      "isOverridable": false,
+      "isVisible": true,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "Users and Groups",
+      "belongsToService":["HDFS"]
+    },
+    {
+      "id": "puppet var",
+      "name": "rrdcached_base_dir",
+      "displayName": "Ganglia rrd cached base directory",
+      "description": "Default directory for saving the rrd files on ganglia server",
+      "defaultValue": "/var/lib/ganglia/rrds",
+      "displayType": "directory",
+      "isOverridable": false,
+      "domain": "global",
+      "serviceName": "MISC",
+      "category": "General",
+      "belongsToService":["GANGLIA"]
+    }
+  ]
+};