You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2014/02/11 18:41:47 UTC

[1/3] git commit: AMBARI-4578. Configuration on pushing Storm metrics to Ganglia. (Arsen Babych via aonishuk)

Updated Branches:
  refs/heads/trunk e7cf023b3 -> e66d84f8a


AMBARI-4578. Configuration on pushing Storm metrics to Ganglia. (Arsen
Babych via aonishuk)


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

Branch: refs/heads/trunk
Commit: 7f834d421d879d142fe5065ea7964722c11a7cfe
Parents: 3cfc830
Author: Andrew Onischuk <ao...@hortonworks.com>
Authored: Fri Jan 17 05:27:57 2014 -0800
Committer: Andrew Onischuk <ao...@hortonworks.com>
Committed: Fri Jan 17 05:27:57 2014 -0800

----------------------------------------------------------------------
 .../templates/hadoop-metrics2.properties.j2     |    2 +
 .../GANGLIA/package/scripts/ganglia_monitor.py  |   13 +
 .../GANGLIA/package/scripts/ganglia_server.py   |   16 +-
 .../services/GANGLIA/package/scripts/params.py  |    6 +
 .../package/templates/gangliaClusters.conf.j2   |    2 +
 ambari-web/app/data/HDP2/site_properties.js     |    6 +-
 .../app/data/HDP2/site_properties.js.orig       | 1893 ++++++++++++++++++
 7 files changed, 1934 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/7f834d42/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2 b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
index a6a66ef..d15ef0f 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
@@ -39,6 +39,8 @@ resourcemanager.sink.ganglia.servers={{ganglia_server_host}}:8664
 nodemanager.sink.ganglia.servers={{ganglia_server_host}}:8657
 historyserver.sink.ganglia.servers={{ganglia_server_host}}:8666
 journalnode.sink.ganglia.servers={{ganglia_server_host}}:8654
+nimbus.sink.ganglia.servers={{ganglia_server_host}}:8649
+supervisor.sink.ganglia.servers={{ganglia_server_host}}:8650
 
 resourcemanager.sink.ganglia.tagsForPrefix.yarn=Queue
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/7f834d42/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py
index 4abdb9b..552be45 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py
@@ -97,6 +97,19 @@ class GangliaMonitor(Script):
                       owner = "root",
                       group = params.user_group)
 
+    if params.is_nimbus_host:
+      generate_daemon("gmond",
+                      name = "HDPNimbus",
+                      role = "monitor",
+                      owner = "root",
+                      group = params.user_group)
+    if params.is_supervisor_host:
+      generate_daemon("gmond",
+                      name = "HDPSupervisor",
+                      role = "monitor",
+                      owner = "root",
+                      group = params.user_group)
+
     if params.is_hbase_master:
       generate_daemon("gmond",
                       name = "HDPHBaseMaster",

http://git-wip-us.apache.org/repos/asf/ambari/blob/7f834d42/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py
index 863f092..86ed577 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_server.py
@@ -35,7 +35,6 @@ class GangliaServer(Script):
 
   def start(self, env):
     import params
-
     env.set_params(params)
     ganglia_server_service.server("start")
 
@@ -121,6 +120,21 @@ class GangliaServer(Script):
                       owner = "root",
                       group = params.user_group)
 
+    if params.has_nimbus_server:
+      generate_daemon("gmond",
+                      name = "HDPNimbus",
+                      role = "server",
+                      owner = "root",
+                      group = params.user_group)
+
+    if params.has_supervisor_server:
+      generate_daemon("gmond",
+                      name = "HDPSupervisor",
+                      role = "server",
+                      owner = "root",
+                      group = params.user_group)
+
+
     if params.has_flume:
       generate_daemon("gmond",
                       name = "HDPFlumeServer",

http://git-wip-us.apache.org/repos/asf/ambari/blob/7f834d42/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py
index 601601e..a12ec9d 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py
@@ -49,6 +49,8 @@ nm_hosts = default("/clusterHostInfo/nm_hosts", [])
 hbase_rs_hosts = default("/clusterHostInfo/hbase_rs_hosts", [])
 flume_hosts = default("/clusterHostInfo/flume_hosts", [])
 jn_hosts = default("/clusterHostInfo/journalnode_hosts", [])
+nimbus_server_hosts = default("/clusterHostInfo/nimbus_hosts", [])
+supervisor_server_hosts = default("/clusterHostInfo/supervisor_hosts", [])
 
 is_namenode_master = hostname in namenode_host
 is_jtnode_master = hostname in jtnode_host
@@ -61,6 +63,8 @@ is_nodemanager = hostname in nm_hosts
 is_hbase_rs = hostname in hbase_rs_hosts
 is_flume = hostname in flume_hosts
 is_jn_host = hostname in jn_hosts
+is_nimbus_host = hostname in nimbus_server_hosts
+is_supervisor_host = hostname in supervisor_server_hosts
 
 has_namenodes = not len(namenode_host) == 0
 has_jobtracker = not len(jtnode_host) == 0
@@ -73,6 +77,8 @@ has_nodemanager = not len(nm_hosts) == 0
 has_hbase_rs = not len(hbase_rs_hosts) == 0
 has_flume = not len(flume_hosts) == 0
 has_journalnode = not len(jn_hosts) == 0
+has_nimbus_server = not len(nimbus_server_hosts) == 0
+has_supervisor_server = not len(supervisor_server_hosts) == 0
 
 if System.get_instance().os_family == "suse":
   rrd_py_path = '/srv/www/cgi-bin'

http://git-wip-us.apache.org/repos/asf/ambari/blob/7f834d42/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/templates/gangliaClusters.conf.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/templates/gangliaClusters.conf.j2 b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/templates/gangliaClusters.conf.j2
index f3bb355..1a91676 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/templates/gangliaClusters.conf.j2
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/templates/gangliaClusters.conf.j2
@@ -32,4 +32,6 @@
     HDPHBaseMaster      {{ganglia_server_host}}   8663
     HDPResourceManager  {{ganglia_server_host}}   8664
     HDPHistoryServer    {{ganglia_server_host}}   8666
+    HDPNimbus           {{ganglia_server_host}}   8649
+    HDPSupervisor       {{ganglia_server_host}}   8650
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/7f834d42/ambari-web/app/data/HDP2/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/site_properties.js b/ambari-web/app/data/HDP2/site_properties.js
index fac3cce..1212c02 100644
--- a/ambari-web/app/data/HDP2/site_properties.js
+++ b/ambari-web/app/data/HDP2/site_properties.js
@@ -1004,7 +1004,7 @@ module.exports =
       "name": "nimbus.childopts",
       "displayName": "nimbus.childopts",
       "description": "This parameter is used by the storm-deploy project to configure the jvm options for the nimbus daemon.",
-      "defaultValue": "-javaagent:/var/lib/storm/jmxetric-1.0.4.jar=host={0},port=8649,wireformat31x=true,mode=multicast,config=/var/lib/storm/jmxetric-conf.xml,process=Nimbus_JVM -Xmx1024m",
+      "defaultValue": "-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host={0},port=8649,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Nimbus_JVM -Xmx1024m",
       "isReconfigurable": true,
       "isOverridable": false,
       "isVisible": false,
@@ -1160,7 +1160,7 @@ module.exports =
       "category":"Supervisor",
       "displayName":"supervisor.childopts",
       "name":"supervisor.childopts",
-      "defaultValue":"-javaagent:/var/lib/storm/jmxetric-1.0.4.jar=host={0},port=8650,wireformat31x=true,mode=multicast,config=/var/lib/storm/jmxetric-conf.xml,process=Supervisor_JVM -Xmx256m",
+      "defaultValue":"-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host={0},port=8650,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Supervisor_JVM -Xmx256m",
       "displayType":"string",
       "filename": "storm-site.xml"
     },
@@ -1388,7 +1388,7 @@ module.exports =
       "category": "Advanced",
       "displayName": "worker.childopts",
       "name": "worker.childopts",
-      "defaultValue": "-javaagent:/var/lib/storm/jmxetric-1.0.4.jar=host={0},port=8650,wireformat31x=true,mode=multicast,config=/var/lib/storm/jmxetric-conf.xml,process=Worker_%ID%_JVM -Xmx768m",
+      "defaultValue": "-javaagent:/usr/lib/storm/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host={0},port=8650,wireformat31x=true,mode=multicast,config=/usr/lib/storm/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Worker_%ID%_JVM -Xmx768m",
       "displayType": "string",
       "filename": "storm-site.xml"
     },

http://git-wip-us.apache.org/repos/asf/ambari/blob/7f834d42/ambari-web/app/data/HDP2/site_properties.js.orig
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/site_properties.js.orig b/ambari-web/app/data/HDP2/site_properties.js.orig
new file mode 100644
index 0000000..fac3cce
--- /dev/null
+++ b/ambari-web/app/data/HDP2/site_properties.js.orig
@@ -0,0 +1,1893 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var App = require('app');
+
+module.exports =
+{
+  "configProperties": [
+  /**********************************************HDFS***************************************/
+    {
+      "id": "site property",
+      "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,
+      "serviceName": "HDFS",
+      "category": "SNameNode",
+      "index": 1
+    },
+    {
+      "id": "site property",
+      "name": "dfs.namenode.checkpoint.period",
+      "displayName": "HDFS Maximum Checkpoint Delay",
+      "description": "Maximum delay between two consecutive checkpoints for HDFS",
+      "defaultValue": "",
+      "displayType": "int",
+      "unit": "seconds",
+      "isVisible": true,
+      "category": "General",
+      "serviceName": "HDFS",
+      "index": 3
+    },
+    {
+      "id": "site property",
+      "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,
+      "serviceName": "HDFS",
+      "category": "NameNode",
+      "index": 1
+    },
+    {
+      "id": "site property",
+      "name": "dfs.webhdfs.enabled",
+      "displayName": "WebHDFS enabled",
+      "description": "Whether to enable WebHDFS feature",
+      "defaultValue": true,
+      "displayType": "checkbox",
+      "isOverridable": false,
+      "isVisible": true,
+      "category": "General",
+      "serviceName": "HDFS",
+      "index": 0
+    },
+    {
+      "id": "site property",
+      "name": "dfs.datanode.failed.volumes.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,
+      "category": "DataNode",
+      "serviceName": "HDFS",
+      "index": 3
+    },
+    {
+      "id": "site property",
+      "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,
+      "category": "DataNode",
+      "serviceName": "HDFS",
+      "index": 1
+    },
+    {
+      "id": "site property",
+      "name": "dfs.datanode.data.dir.perm",
+      "displayName": "DataNode directories permission",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "isVisible": true,
+      "category": "DataNode",
+      "serviceName": "HDFS"
+    },
+    {
+      "id": "site property",
+      "name": "dfs.replication",
+      "displayName": "Block replication",
+      "description": "Default block replication.",
+      "displayType": "int",
+      "defaultValue": "",
+      "isVisible": true,
+      "category": "Advanced",
+      "serviceName": "HDFS"
+    },
+    {
+      "id": "site property",
+      "name": "dfs.datanode.du.reserved",
+      "displayName": "Reserved space for HDFS",
+      "description": "Reserved space in bytes per volume. Always leave this much space free for non dfs use.",
+      "defaultValue": "1073741824",
+      "displayType": "int",
+      "unit": "bytes",
+      "isVisible": true,
+      "category": "General",
+      "serviceName": "HDFS",
+      "index": 2
+    },
+    {
+      "id": "site property",
+      "name": "dfs.client.read.shortcircuit",
+      "displayName": "HDFS Short-circuit read",
+      "description": "This configuration parameter turns on short-circuit local reads.",
+      "defaultValue": "",
+      "displayType": "checkbox",
+      "category": "Advanced",
+      "serviceName": "HDFS"
+
+    },
+
+  /**********************************************YARN***************************************/
+    {
+      "id": "site property",
+      "name": "yarn.acl.enable",
+      "displayName": "yarn.acl.enable",
+      "displayType": "checkbox",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "ResourceManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.admin.acl",
+      "displayName": "yarn.admin.acl",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "ResourceManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.log-aggregation-enable",
+      "displayName": "yarn.log-aggregation-enable",
+      "displayType": "checkbox",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "ResourceManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.resourcemanager.scheduler.class",
+      "displayName": "yarn.resourcemanager.scheduler.class",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "CapacityScheduler"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.scheduler.minimum-allocation-mb",
+      "displayName": "yarn.scheduler.minimum-allocation-mb",
+      "displayType": "int",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "CapacityScheduler"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.scheduler.maximum-allocation-mb",
+      "displayName": "yarn.scheduler.maximum-allocation-mb",
+      "displayType": "int",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "CapacityScheduler"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.nodemanager.resource.memory-mb",
+      "displayName": "yarn.nodemanager.resource.memory-mb",
+      "displayType": "int",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.nodemanager.vmem-pmem-ratio",
+      "displayName": "yarn.nodemanager.vmem-pmem-ratio",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.nodemanager.log-dirs",
+      "displayName": "yarn.nodemanager.log-dirs",
+      "defaultValue": "",
+      "description": "Where to store container logs. An application's localized log directory\
+      will be found in ${yarn.nodemanager.log-dirs}/application_${appid}.\
+      Individual containers' log directories will be below this, in directories\
+      named container_{$contid}. Each container directory will contain the files\
+      stderr, stdin, and syslog generated by that container.",
+      "defaultDirectory": "/hadoop/yarn/log",
+      "displayType": "directories",
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.nodemanager.local-dirs",
+      "displayName": "yarn.nodemanager.local-dirs",
+      "defaultValue": "",
+      "description": "List of directories to store localized files in.\
+      An application's localized file directory will be found in:\
+      ${yarn.nodemanager.local-dirs}/usercache/${user}/appcache/application_${appid}.\
+      Individual containers' work directories, called container_${contid}, will be subdirectories of this.",
+      "defaultDirectory": "/hadoop/yarn/local",
+      "displayType": "directories",
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.nodemanager.remote-app-log-dir",
+      "displayName": "yarn.nodemanager.remote-app-log-dir",
+      "value": "",
+      "defaultValue": "",
+      "displayType": "directory",
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.nodemanager.remote-app-log-dir-suffix",
+      "displayName": "yarn.nodemanager.remote-app-log-dir-suffix",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.nodemanager.aux-services",
+      "displayName": "yarn.nodemanager.aux-services",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.nodemanager.log.retain-second",
+      "displayName": "yarn.nodemanager.log.retain-second",
+      "value": "",
+      "defaultValue": "",
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.log.server.url",
+      "displayName": "yarn.log.server.url",
+      "value": "",
+      "defaultValue": "",
+      "category": "Advanced",
+      "serviceName": "YARN"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.ats.leveldb-timeline-store.path",
+      "displayName": "yarn.ats.leveldb-timeline-store.path",
+      "value": "",
+      "defaultValue": "/var/log/hadoop-yarn/ats",
+      "isVisible": App.supports.appTimelineServer, // @todo remove after Application Timeline Server approving
+      "category": "AppTimelineServer",
+      "displayType": "directory",
+      "serviceName": "YARN"
+    },
+    {
+      "id": "site property",
+      "name": "yarn.ats.store.class",
+      "displayName": "yarn.ats.store.class",
+      "value": "",
+      "defaultValue": "org.apache.hadoop.yarn.server.applicationhistoryservice.timeline.LeveldbApplicationTimelineStore",
+      "isVisible": App.supports.appTimelineServer, // @todo remove after Application Timeline Server approving
+      "category": "AppTimelineServer",
+      "serviceName": "YARN"
+    },
+  /**********************************************MAPREDUCE2***************************************/
+    {
+      "id": "site property",
+      "name": "mapreduce.map.memory.mb",
+      "displayName": "Default virtual memory for a job's map-task",
+      "description": "Virtual memory for single Map task",
+      "value": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "unit": "MB",
+      "category": "General",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "site property",
+      "name": "mapreduce.reduce.memory.mb",
+      "displayName": "Default virtual memory for a job's reduce-task",
+      "description": "Virtual memory for single Reduce task",
+      "value": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "unit": "MB",
+      "category": "General",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "site property",
+      "name": "mapreduce.task.io.sort.mb",
+      "displayName": "Map-side sort buffer memory",
+      "description": "The total amount of buffer memory to use while sorting files, in megabytes.\
+       By default, gives each merge stream 1MB, which should minimize seeks.",
+      "defaultValue": "",
+      "displayType": "int",
+      "unit": "MB",
+      "category": "General",
+      "serviceName": "MAPREDUCE2"
+    },
+    {
+      "id": "site property",
+      "name": "hadoop.security.auth_to_local",
+      "displayName": "hadoop.security.auth_to_local",
+      "displayType": "multiLine",
+      "serviceName": "HDFS",
+      "category": "Advanced",
+      "value": "",
+      "defaultValue": ""
+    },
+    {
+      "id": "site property",
+      "name": "yarn.app.mapreduce.am.resource.mb",
+      "displayName": "yarn.app.mapreduce.am.resource.mb",
+      "value": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "category": "Advanced",
+      "serviceName": "MAPREDUCE2"
+    },
+
+  /**********************************************oozie-site***************************************/
+    {
+      "id": "site property",
+      "name": "oozie.db.schema.name",
+      "displayName": "Database Name",
+      "description": "Database name used for the Oozie",
+      "defaultValue": "",
+      "isOverridable": false,
+      "displayType": "host",
+      "isVisible": true,
+      "isObserved": true,
+      "category": "Oozie Server",
+      "serviceName": "OOZIE",
+      "index": 3
+    },
+    {
+      "id": "site property",
+      "name": "oozie.service.JPAService.jdbc.username",
+      "displayName": "Database Username",
+      "description": "Database user name to use to connect to the database",
+      "defaultValue": "",
+      "isOverridable": false,
+      "displayType": "host",
+      "category": "Oozie Server",
+      "serviceName": "OOZIE",
+      "index": 4
+    },
+    {
+      "id": "site property",
+      "name": "oozie.service.JPAService.jdbc.password",
+      "displayName": "Database Password",
+      "description": "Database password to use to connect to the database",
+      "defaultValue": "",
+      "isOverridable": false,
+      "displayType": "password",
+      "isVisible": true,
+      "category": "Oozie Server",
+      "serviceName": "OOZIE",
+      "index": 5
+    },
+    {
+      "id": "site property",
+      "name": "oozie.service.JPAService.jdbc.driver",
+      "displayName": "JDBC Driver Class",
+      "defaultValue": "",
+      "value": "",     // the value is overwritten in code
+      "isVisible": true,
+      "isOverridable": false,
+      "description": "Database name used for the Oozie",
+      "category": "Oozie Server",
+      "serviceName": "OOZIE",
+      "index": 6
+    },
+    {
+      "id": "site property",
+      "name": "oozie.service.JPAService.jdbc.url",
+      "displayName": "Database URL",
+      "description": "The JDBC connection URL to the database",
+      "defaultValue": "",
+      "isOverridable": false,
+      "displayType": "advanced",
+      "category": "Oozie Server",
+      "serviceName": "OOZIE",
+      "index": 7
+    },
+
+  /**********************************************hive-site***************************************/
+    {
+      "id": "site property",
+      "name": "javax.jdo.option.ConnectionDriverName",
+      "displayName": "JDBC Driver Class",
+      "defaultValue": "",
+      "value": "",     // the value is overwritten in code
+      "isVisible": true,
+      "isOverridable": false,
+      "description": "Driver class name for a JDBC metastore",
+      "category": "Hive Metastore",
+      "serviceName": "HIVE",
+      "index": 7
+    },
+    {
+      "id": "site property",
+      "name": "javax.jdo.option.ConnectionUserName",
+      "displayName": "Database Username",
+      "description": "Database user name to use to connect to the database",
+      "defaultValue": "hive",
+      "displayType": "host",
+      "isOverridable": false,
+      "category": "Hive Metastore",
+      "serviceName": "HIVE",
+      "index": 5
+    },
+    {
+      "id": "site property",
+      "name": "javax.jdo.option.ConnectionPassword",
+      "displayName": "Database Password",
+      "description": "Database password to use to connect to the metastore database",
+      "defaultValue": "",
+      "displayType": "password",
+      "isOverridable": false,
+      "isVisible": true,
+      "category": "Hive Metastore",
+      "serviceName": "HIVE",
+      "index": 6
+    },
+    {
+      "id": "site property",
+      "name": "javax.jdo.option.ConnectionURL",
+      "displayName": "Database URL",
+      "value": "",
+      "defaultValue": "", // set to a 'jdbc' to not include this in initial error count
+      "description": "The JDBC connection URL to the database",
+      "displayType": "advanced",
+      "isOverridable": false,
+      "isVisible": true,
+      "category": "Hive Metastore",
+      "serviceName": "HIVE",
+      "index": 8
+    },
+    {
+      "id": "site property",
+      "name": "ambari.hive.db.schema.name",
+      "displayName": "Database Name",
+      "description": "Database name used as the Hive Metastore",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "host",
+      "isOverridable": false,
+      "isObserved": true,
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "index": 4
+    },
+
+  /**********************************************hbase-site***************************************/
+    {
+      "id": "site property",
+      "name": "hbase.tmp.dir",
+      "displayName": "HBase local directory",
+      "description": "Temporary directory on the local filesystem",
+      "defaultDirectory": "/hadoop/hbase",
+      "defaultValue": "",
+      "displayType": "directory",
+      "isVisible": true,
+      "category": "Advanced",
+      "serviceName": "HBASE"
+
+    },
+    {
+      "id": "site property",
+      "name": "hbase.regionserver.global.memstore.upperLimit",
+      "displayName": "hbase.regionserver.global.memstore.upperLimit",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "float",
+      "category": "Advanced",
+      "serviceName": "HBASE"
+    },
+    {
+      "id": "site property",
+      "name": "hbase.regionserver.global.memstore.lowerLimit",
+      "displayName": "hbase.regionserver.global.memstore.lowerLimit",
+      "defaultValue": "",
+      "description": "When memstores are being forced to flush to make room in\
+      memory, keep flushing until we hit this mark. Defaults to 35% of heap.\
+      This value equal to hbase.regionserver.global.memstore.upperLimit causes\
+      the minimum possible flushing to occur when updates are blocked due to\
+      memstore limiting.",
+      "displayType": "float",
+      "category": "Advanced",
+      "serviceName": "HBASE"
+    },
+    {
+      "id": "site property",
+      "name": "hbase.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": "",
+      "isRequired": true,
+      "displayType": "int",
+      "category": "Advanced",
+      "serviceName": "HBASE"
+    },
+    {
+      "id": "site property",
+      "name": "hbase.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",
+      "category": "General",
+      "serviceName": "HBASE",
+      "index": 0
+    },
+    {
+      "id": "site property",
+      "name": "hfile.block.cache.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",
+      "category": "General",
+      "serviceName": "HBASE",
+      "index": 1
+    },
+    {
+      "id": "site property",
+      "name": "hbase.hregion.max.filesize",
+      "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": "",
+      "displayType": "int",
+      "unit": "bytes",
+      "isVisible": true,
+      "category": "General",
+      "serviceName": "HBASE",
+      "index": 2
+    },
+    {
+      "id": "site property",
+      "name": "hbase.regionserver.handler.count",
+      "displayName": "HBase RegionServer Handler",
+      "description": "Count of RPC Listener instances spun up on RegionServers",
+      "defaultValue": "60",
+      "displayType": "int",
+      "category": "RegionServer",
+      "serviceName": "HBASE",
+      "index": 2
+    },
+    {
+      "id": "site property",
+      "name": "hbase.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": "",
+      "displayType": "int",
+      "unit": "ms",
+      "isVisible": true,
+      "category": "RegionServer",
+      "serviceName": "HBASE",
+      "index": 3
+    },
+    {
+      "id": "site property",
+      "name": "hbase.hregion.memstore.block.multiplier",
+      "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": "",
+      "displayType": "int",
+      "category": "RegionServer",
+      "serviceName": "HBASE",
+      "index": 4
+    },
+    {
+      "id": "site property",
+      "name": "hbase.hregion.memstore.mslab.enabled",
+      "displayName": "hbase.hregion.memstore.mslab.enabled",
+      "description": "Enables the MemStore-Local Allocation Buffer,\
+      a feature which works to prevent heap fragmentation under\
+      heavy write loads. This can reduce the frequency of stop-the-world\
+      GC pauses on large heaps.",
+      "defaultValue": "",
+      "displayType": "checkbox",
+      "category": "Advanced",
+      "serviceName": "HBASE"
+    },
+    {
+      "id": "site property",
+      "name": "hbase.hregion.memstore.flush.size",
+      "displayName": "HBase Region Memstore Flush Size",
+      "description": "Memstore will be flushed to disk if size of the memstore exceeds this number of bytes.",
+      "defaultValue": "",
+      "displayType": "int",
+      "unit": "bytes",
+      "category": "RegionServer",
+      "serviceName": "HBASE",
+      "index": 5
+    },
+    {
+      "id": "site property",
+      "name": "hbase.client.scanner.caching",
+      "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": "",
+      "displayType": "int",
+      "unit": "rows",
+      "isVisible": true,
+      "category": "General",
+      "serviceName": "HBASE",
+      "index": 3
+    },
+    {
+      "id": "site property",
+      "name": "zookeeper.session.timeout",
+      "displayName": "Zookeeper timeout for HBase Session",
+      "description": "HBase passes this to the zk quorum as suggested maximum time for a session",
+      "defaultValue": "",
+      "displayType": "int",
+      "unit": "ms",
+      "category": "General",
+      "serviceName": "HBASE",
+      "index": 4
+    },
+    {
+      "id": "site property",
+      "name": "hbase.client.keyvalue.maxsize",
+      "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": "",
+      "displayType": "int",
+      "unit": "bytes",
+      "category": "General",
+      "serviceName": "HBASE",
+      "index": 5
+    },
+    {
+      "id": "site property",
+      "name": "hbase.zookeeper.quorum",
+      "displayName": "hbase.zookeeper.quorum",
+      "defaultValue": "",
+      "displayType": "multiLine",
+      "serviceName": "HBASE",
+      "category": "Advanced"
+    },
+
+  /**********************************************storm-site***************************************/
+    {
+      "id": "site property",
+      "name": "storm.zookeeper.root",
+      "displayName": "storm.zookeeper.root",
+      "description": "",
+      "defaultValue": "/storm",
+      "isReconfigurable": true,
+      "displayType": "directory",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.local.dir",
+      "displayName": "storm.local.dir",
+      "description": "",
+      "defaultValue": "storm-local",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.zookeeper.servers",
+      "displayName": "storm.zookeeper.servers",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "masterHosts",
+      "isOverridable": false,
+      "isReconfigurable": false,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.zookeeper.port",
+      "displayName": "storm.zookeeper.port",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.zookeeper.session.timeout",
+      "displayName": "storm.zookeeper.session.timeout",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.zookeeper.connection.timeout",
+      "displayName": "storm.zookeeper.connection.timeout",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.zookeeper.retry.times",
+      "displayName": "storm.zookeeper.retry.times",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.zookeeper.retry.interval",
+      "displayName": "storm.zookeeper.retry.interval",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General",
+      "unit": "ms"
+    },
+    {
+      "id": "site property",
+      "name": "storm.zookeeper.retry.intervalceiling.millis",
+      "displayName": "storm.zookeeper.retry.intervalceiling.millis",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General",
+      "unit": "ms"
+    },
+    {
+      "id": "site property",
+      "name": "storm.cluster.mode",
+      "displayName": "storm.cluster.mode",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.local.mode.zmq",
+      "displayName": "storm.local.mode.zmq",
+      "description": "",
+      "defaultValue": false,
+      "isReconfigurable": true,
+      "displayType": "checkbox",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.thrift.transport",
+      "displayName": "storm.thrift.transport",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id": "site property",
+      "name": "storm.messaging.transport",
+      "displayName": "storm.messaging.transport",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable": true,
+      "isVisible":true,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"General",
+      "displayName":"storm.messaging.netty.buffer_size",
+      "name":"storm.messaging.netty.buffer_size",
+      "defaultValue":"5242880",
+      "displayType":"int",
+      "unit": "bytes"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable": true,
+      "isVisible":true,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"General",
+      "displayName":"storm.messaging.netty.max_retries",
+      "name":"storm.messaging.netty.max_retries",
+      "defaultValue":"30",
+      "displayType":"int"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable": true,
+      "isVisible":true,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"General",
+      "displayName":"storm.messaging.netty.max_wait_ms",
+      "name":"storm.messaging.netty.max_wait_ms",
+      "defaultValue":"1000",
+      "displayType":"int",
+      "unit": "ms"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable": true,
+      "isVisible":true,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"General",
+      "displayName":"storm.messaging.netty.min_wait_ms",
+      "name":"storm.messaging.netty.min_wait_ms",
+      "defaultValue":"100",
+      "displayType":"int",
+      "unit": "ms"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General",
+      "displayName": "storm.messaging.netty.server_worker_threads",
+      "name": "storm.messaging.netty.server_worker_threads",
+      "defaultValue": "1",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "General",
+      "displayName": "storm.messaging.netty.client_worker_threads",
+      "name": "storm.messaging.netty.client_worker_threads",
+      "defaultValue": "1",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.host",
+      "displayName": "Nimbus Host",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isReconfigurable": false,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.thrift.port",
+      "displayName": "nimbus.thrift.port",
+      "description": "",
+      "defaultValue": "6627",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.thrift.max_buffer_size",
+      "displayName": "nimbus.thrift.max_buffer_size",
+      "description": "",
+      "defaultValue": "1048576",
+      "isReconfigurable": true,
+      "displayType": "int",
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "unit": "bytes"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.childopts",
+      "displayName": "nimbus.childopts",
+      "description": "This parameter is used by the storm-deploy project to configure the jvm options for the nimbus daemon.",
+      "defaultValue": "-javaagent:/var/lib/storm/jmxetric-1.0.4.jar=host={0},port=8649,wireformat31x=true,mode=multicast,config=/var/lib/storm/jmxetric-conf.xml,process=Nimbus_JVM -Xmx1024m",
+      "isReconfigurable": true,
+      "isOverridable": false,
+      "isVisible": false,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "filename": "storm-site.xml"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.task.timeout.secs",
+      "displayName": "nimbus.task.timeout.secs",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "unit": "seconds"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.supervisor.timeout.secs",
+      "displayName": "nimbus.supervisor.timeout.secs",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "unit": "seconds"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.monitor.freq.secs",
+      "displayName": "nimbus.monitor.freq.secs",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "unit": "seconds"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.cleanup.inbox.freq.secs",
+      "displayName": "nimbus.cleanup.inbox.freq.secs",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "unit": "seconds"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.inbox.jar.expiration.secs",
+      "displayName": "nimbus.inbox.jar.expiration.secs",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "unit": "seconds"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.task.launch.secs",
+      "displayName": "nimbus.task.launch.secs",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "unit": "seconds"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.reassign",
+      "displayName": "nimbus.reassign",
+      "description": "",
+      "defaultValue": true,
+      "displayType": "checkbox",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.file.copy.expiration.secs",
+      "displayName": "nimbus.file.copy.expiration.secs",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "int",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus",
+      "unit": "seconds"
+    },
+    {
+      "id": "site property",
+      "name": "nimbus.topology.validator",
+      "displayName": "nimbus.topology.validator",
+      "description": "",
+      "defaultValue": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Nimbus"
+    },
+    {
+      "id": "site property",
+      "name": "supervisor.slots.ports",
+      "displayName": "supervisor.slots.ports",
+      "description": "",
+      "defaultValue": "",
+      "displayType": "string",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Supervisor"
+    },
+    {
+      "id":"site property",
+      "description":"This parameter is used by the storm-deploy project to configure the jvm options for the supervisor daemon.",
+      "isReconfigurable": true,
+      "isVisible":false,
+      "isOverrideable": false,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"Supervisor",
+      "displayName":"supervisor.childopts",
+      "name":"supervisor.childopts",
+      "defaultValue":"-javaagent:/var/lib/storm/jmxetric-1.0.4.jar=host={0},port=8650,wireformat31x=true,mode=multicast,config=/var/lib/storm/jmxetric-conf.xml,process=Supervisor_JVM -Xmx256m",
+      "displayType":"string",
+      "filename": "storm-site.xml"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable": true,
+      "isVisible":true,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"Supervisor",
+      "displayName":"supervisor.worker.start.timeout.secs",
+      "name":"supervisor.worker.start.timeout.secs",
+      "defaultValue":"120",
+      "displayType":"int",
+      "unit": "seconds"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable": true,
+      "isVisible":true,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"Supervisor",
+      "displayName":"supervisor.worker.timeout.secs",
+      "name":"supervisor.worker.timeout.secs",
+      "defaultValue":"30",
+      "displayType":"int",
+      "unit": "seconds"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable": true,
+      "isVisible":true,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"Supervisor",
+      "displayName":"supervisor.monitor.frequency.secs",
+      "name":"supervisor.monitor.frequency.secs",
+      "defaultValue":"3",
+      "displayType":"int",
+      "unit": "seconds"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable": true,
+      "isVisible":true,
+      "isRequiredByAgent":true,
+      "serviceName":"STORM",
+      "category":"Supervisor",
+      "displayName":"supervisor.heartbeat.frequency.secs",
+      "name":"supervisor.heartbeat.frequency.secs",
+      "defaultValue":"5",
+      "displayType":"int",
+      "unit": "seconds"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":true,
+      "isVisible":true,
+      "isRequiredByAgent": true,
+      "serviceName":"STORM",
+      "category":"Supervisor",
+      "displayName":"supervisor.enable",
+      "name":"supervisor.enable",
+      "defaultValue":true,
+      "displayType":"checkbox"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "DRPCServer",
+      "displayName": "drpc.port",
+      "name": "drpc.port",
+      "defaultValue": "3772",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "DRPCServer",
+      "displayName": "drpc.worker.threads",
+      "name": "drpc.worker.threads",
+      "defaultValue": "64",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "DRPCServer",
+      "displayName": "drpc.queue.size",
+      "name": "drpc.queue.size",
+      "defaultValue": "128",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "DRPCServer",
+      "displayName": "drpc.invocations.port",
+      "name": "drpc.invocations.port",
+      "defaultValue": "3773",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "DRPCServer",
+      "displayName": "drpc.request.timeout.secs",
+      "name": "drpc.request.timeout.secs",
+      "defaultValue": "600",
+      "displayType": "int",
+      "unit": "seconds"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "DRPCServer",
+      "displayName": "drpc.childopts",
+      "name": "drpc.childopts",
+      "defaultValue": "-Xmx768m",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "StormUIServer",
+      "displayName": "ui.port",
+      "name": "ui.port",
+      "defaultValue": "8744",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "StormUIServer",
+      "displayName": "ui.childopts",
+      "name": "ui.childopts",
+      "defaultValue": "-Xmx768m",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "LogviewerServer",
+      "displayName": "logviewer.port",
+      "name": "logviewer.port",
+      "defaultValue": "8000",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "LogviewerServer",
+      "displayName": "logviewer.childopts",
+      "name": "logviewer.childopts",
+      "defaultValue": "-Xmx128m",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "LogviewerServer",
+      "displayName": "logviewer.appender.name",
+      "name": "logviewer.appender.name",
+      "defaultValue": "A1",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "The jvm opts provided to workers launched by this supervisor. All \"%ID%\" substrings are replaced with an identifier for this worker.",
+      "isReconfigurable": true,
+      "isVisible": false,
+      "isOverridable": false,
+      "isRequiredByAgent": true,
+      "serviceName": "STORM",
+      "category": "Advanced",
+      "displayName": "worker.childopts",
+      "name": "worker.childopts",
+      "defaultValue": "-javaagent:/var/lib/storm/jmxetric-1.0.4.jar=host={0},port=8650,wireformat31x=true,mode=multicast,config=/var/lib/storm/jmxetric-conf.xml,process=Worker_%ID%_JVM -Xmx768m",
+      "displayType": "string",
+      "filename": "storm-site.xml"
+    },
+
+  /**********************************************tez-site***************************************/
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.lib.uris",
+      "name": "tez.lib.uris",
+      "defaultValue": "file:///usr/lib/tez/,file:///usr/lib/tez/lib/",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.log.level",
+      "name": "tez.am.log.level",
+      "defaultValue": "INFO",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.staging-dir",
+      "name": "tez.staging-dir",
+      "defaultValue": "/tmp/${user.name}/staging",
+      "displayType": "directory"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.slowstart-vertex-scheduler.min-src-fraction",
+      "name": "tez.slowstart-vertex-scheduler.min-src-fraction",
+      "defaultValue": "0.1",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.slowstart-vertex-scheduler.max-src-fraction",
+      "name": "tez.slowstart-vertex-scheduler.max-src-fraction",
+      "defaultValue": "0.1",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.am-rm.heartbeat.interval-ms.max",
+      "name": "tez.am.am-rm.heartbeat.interval-ms.max",
+      "defaultValue": "250",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.runtime.broadcast.data-via-events.enabled",
+      "name": "tez.runtime.broadcast.data-via-events.enabled",
+      "defaultValue": "true",
+      "displayType": "checkbox"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.runtime.broadcast.data-via-events.max-size",
+      "name": "tez.runtime.broadcast.data-via-events.max-size",
+      "defaultValue": "614400",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.aggressive.scheduling",
+      "name": "tez.am.aggressive.scheduling",
+      "defaultValue": "false",
+      "displayType": "checkbox"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.resource.memory.mb",
+      "name": "tez.am.resource.memory.mb",
+      "defaultValue": "1024",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.java.opts",
+      "name": "tez.am.java.opts",
+      "defaultValue": "-server -Xmx1024m -Djava.net.preferIPv4Stack=true -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.grouping.split-waves",
+      "name": "tez.am.grouping.split-waves",
+      "defaultValue": "1.7",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.container.reuse.enabled",
+      "name": "tez.am.container.reuse.enabled",
+      "defaultValue": "true",
+      "displayType": "checkbox"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.container.reuse.rack-fallback.enabled",
+      "name": "tez.am.container.reuse.rack-fallback.enabled",
+      "defaultValue": "true",
+      "displayType": "checkbox"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.container.reuse.non-local-fallback.enabled",
+      "name": "tez.am.container.reuse.non-local-fallback.enabled",
+      "defaultValue": "true",
+      "displayType": "checkbox"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.container.session.delay-allocation-millis",
+      "name": "tez.am.container.session.delay-allocation-millis",
+      "defaultValue": "300000",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.am.container.reuse.locality.delay-allocation-millis",
+      "name": "tez.am.container.reuse.locality.delay-allocation-millis",
+      "defaultValue": "250",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.runtime.intermediate-output.should-compress",
+      "name": "tez.runtime.intermediate-output.should-compress",
+      "defaultValue": "true",
+      "displayType": "checkbox"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.runtime.intermediate-output.compress.codec",
+      "name": "tez.runtime.intermediate-output.compress.codec",
+      "defaultValue": "org.apache.hadoop.io.compress.DefaultCodec",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.runtime.intermdiate-input.is-compressed",
+      "name": "tez.runtime.intermdiate-input.is-compressed",
+      "defaultValue": "true",
+      "displayType": "checkbox"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.runtime.intermediate-input.compress.codec",
+      "name": "tez.runtime.intermediate-input.compress.codec",
+      "defaultValue": "org.apache.hadoop.io.compress.DefaultCodec",
+      "displayType": "string"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.task.get-task.sleep.interval-ms.max",
+      "name": "tez.task.get-task.sleep.interval-ms.max",
+      "defaultValue": "100",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.runtime.job.counters.max",
+      "name": "tez.runtime.job.counters.max",
+      "defaultValue": "5000",
+      "displayType": "int"
+    },
+    {
+      "id": "site property",
+      "description": "",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "isRequiredByAgent": true,
+      "serviceName": "TEZ",
+      "category": "General",
+      "displayName": "tez.runtime.job.counters.groups.max",
+      "name": "tez.runtime.job.counters.groups.max",
+      "defaultValue": "5000",
+      "displayType": "int"
+    },
+  /*********************************************oozie-site for Falcon*****************************/
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":true,
+      "isVisible":true,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon proxyuser hosts",
+      "name":"oozie.service.ProxyUserService.proxyuser.falcon.hosts",
+      "defaultValue":"*",
+      "displayType":"advanced"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":true,
+      "isVisible":true,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon proxyuser groups",
+      "name":"oozie.service.ProxyUserService.proxyuser.falcon.groups",
+      "defaultValue":"*",
+      "displayType":"advanced"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":false,
+      "isVisible":false,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon",
+      "name":"oozie.service.ELService.ext.functions.coord-job-submit-instances",
+      "defaultValue":"now=org.apache.oozie.extensions.OozieELExtensions#ph1_now_echo,"
+        + "today=org.apache.oozie.extensions.OozieELExtensions#ph1_today_echo,"
+        + "yesterday=org.apache.oozie.extensions.OozieELExtensions#ph1_yesterday_echo,"
+        + "currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_currentMonth_echo,"
+        + "lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_lastMonth_echo,"
+        + "currentYear=org.apache.oozie.extensions.OozieELExtensions#ph1_currentYear_echo,"
+        + "lastYear=org.apache.oozie.extensions.OozieELExtensions#ph1_lastYear_echo,"
+        + "formatTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_formatTime_echo,"
+        + "latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo,"
+        + "future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo",
+      "displayType":"multiLine"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":false,
+      "isVisible":false,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon",
+      "name":"oozie.service.ELService.ext.functions.coord-action-create-inst",
+      "defaultValue":"now=org.apache.oozie.extensions.OozieELExtensions#ph2_now_inst,"
+        + "today=org.apache.oozie.extensions.OozieELExtensions#ph2_today_inst,"
+        + "yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday_inst,"
+        + "currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth_inst,"
+        + "lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth_inst,"
+        + "currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear_inst,"
+        + "lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear_inst,"
+        + "latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo,"
+        + "future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo,"
+        + "formatTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_formatTime,"
+        + "user=org.apache.oozie.coord.CoordELFunctions#coord_user",
+      "displayType":"multiLine"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":false,
+      "isVisible":false,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon",
+      "name": "oozie.service.ELService.ext.functions.coord-action-create",
+      "defaultValue":"now=org.apache.oozie.extensions.OozieELExtensions#ph2_now,"
+        + "today=org.apache.oozie.extensions.OozieELExtensions#ph2_today,"
+        + "yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday,"
+        + "currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth,"
+        + "lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth,"
+        + "currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear,"
+        + "lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear,"
+        + "latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo,"
+        + "future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo,"
+        + "formatTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_formatTime,"
+        + "user=org.apache.oozie.coord.CoordELFunctions#coord_user,",
+      "displayType":"multiLine"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":false,
+      "isVisible":false,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon",
+      "name":"oozie.service.ELService.ext.functions.coord-job-submit-data",
+      "defaultValue":"now=org.apache.oozie.extensions.OozieELExtensions#ph1_now_echo,"
+        + "today=org.apache.oozie.extensions.OozieELExtensions#ph1_today_echo,"
+        + "yesterday=org.apache.oozie.extensions.OozieELExtensions#ph1_yesterday_echo,"
+        + "currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_currentMonth_echo,"
+        + "lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_lastMonth_echo,"
+        + "currentYear=org.apache.oozie.extensions.OozieELExtensions#ph1_currentYear_echo,"
+        + "lastYear=org.apache.oozie.extensions.OozieELExtensions#ph1_lastYear_echo,"
+        + "dataIn=org.apache.oozie.extensions.OozieELExtensions#ph1_dataIn_echo,"
+        + "instanceTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_nominalTime_echo_wrap,"
+        + "formatTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_formatTime_echo,"
+        + "dateOffset=org.apache.oozie.coord.CoordELFunctions#ph1_coord_dateOffset_echo,"
+        + "user=org.apache.oozie.coord.CoordELFunctions#coord_user",
+      "displayType":"multiLine"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":false,
+      "isVisible":false,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon",
+      "name":"oozie.service.ELService.ext.functions.coord-action-start",
+      "defaultValue":"now=org.apache.oozie.extensions.OozieELExtensions#ph2_now,"
+        + "today=org.apache.oozie.extensions.OozieELExtensions#ph2_today,"
+        + "yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday,"
+        + "currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth,"
+        + "lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth,"
+        + "currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear,"
+        + "lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear,"
+        + "latest=org.apache.oozie.coord.CoordELFunctions#ph3_coord_latest,"
+        + "future=org.apache.oozie.coord.CoordELFunctions#ph3_coord_future,"
+        + "dataIn=org.apache.oozie.extensions.OozieELExtensions#ph3_dataIn,"
+        + "instanceTime=org.apache.oozie.coord.CoordELFunctions#ph3_coord_nominalTime,"
+        + "dateOffset=org.apache.oozie.coord.CoordELFunctions#ph3_coord_dateOffset,"
+        + "formatTime=org.apache.oozie.coord.CoordELFunctions#ph3_coord_formatTime,"
+        + "user=org.apache.oozie.coord.CoordELFunctions#coord_user",
+      "displayType":"multiLine"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":false,
+      "isVisible":false,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon",
+      "name":"oozie.service.ELService.ext.functions.coord-sla-submit",
+      "defaultValue":"instanceTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_nominalTime_echo_fixed,"
+        + "user=org.apache.oozie.coord.CoordELFunctions#coord_user",
+      "displayType":"multiLine"
+    },
+    {
+      "id":"site property",
+      "description":"",
+      "isReconfigurable":false,
+      "isVisible":false,
+      "isRequiredByAgent": true,
+      "serviceName":"FALCON",
+      "category":"Advanced",
+      "displayName":"Falcon",
+      "name":"oozie.service.ELService.ext.functions.coord-sla-create",
+      "defaultValue":"instanceTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_nominalTime,"
+        + "user=org.apache.oozie.coord.CoordELFunctions#coord_user",
+      "displayType":"multiLine"
+    },
+  /**********************************************webhcat-site***************************************/
+    {
+      "id": "site property",
+      "name": "templeton.zookeeper.hosts",
+      "displayName": "templeton.zookeeper.hosts",
+      "defaultValue": "",
+      "displayType": "multiLine",
+      "serviceName": "WEBHCAT",
+      "category": "Advanced"
+    }
+  ]
+};


[2/3] git commit: AMBARI-4609. Unit tests failing with pop from empty list error. (Vitaliy Semenyk via aonishuk)

Posted by ao...@apache.org.
AMBARI-4609. Unit tests failing with pop from empty list error.
(Vitaliy Semenyk via aonishuk)


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

Branch: refs/heads/trunk
Commit: 3cfc8308fef22193dfee00d1310dd1910aececc0
Parents: e7cf023
Author: Andrew Onischuk <ao...@hortonworks.com>
Authored: Tue Feb 11 09:19:40 2014 -0800
Committer: Andrew Onischuk <ao...@hortonworks.com>
Committed: Tue Feb 11 09:19:40 2014 -0800

----------------------------------------------------------------------
 .../test/python/stacks/1.3.2/PIG/test_pig_client.py | 16 ++++++++++------
 .../test/python/stacks/1.3.2/configs/default.json   |  3 +++
 .../test/python/stacks/1.3.2/configs/secured.json   |  3 +++
 .../test/python/stacks/2.0.6/PIG/test_pig_client.py | 16 +++++++++-------
 .../test/python/stacks/2.0.6/configs/default.json   |  3 +++
 .../test/python/stacks/2.0.6/configs/secured.json   |  3 +++
 6 files changed, 31 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/3cfc8308/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py
index b290939..1856be6 100644
--- a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py
+++ b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py
@@ -28,7 +28,6 @@ class TestPigClient(RMFTestCase):
                        command = "configure",
                        config_file="default.json"
     )
-    
     self.assertResourceCalled('Directory', '/etc/pig/conf',
       owner = 'hdfs',
       group = 'hadoop',
@@ -39,20 +38,23 @@ class TestPigClient(RMFTestCase):
     self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig.properties',
       owner = 'hdfs',
     )
-    self.assertResourceCalled('File', '/etc/pig/conf/log4j.properties',
+    self.assertResourceCalled('PropertiesFile', 'log4j.properties',
       owner = 'hdfs',
       group = 'hadoop',
-      mode = 0644,
+      mode = 0664,
+      dir = '/etc/pig/conf',
+      properties = self.getConfig()['configurations']['pig-log4j'],
     )
     self.assertNoMoreResources()
 
+
+
   def test_configure_secured(self):
     self.executeScript("1.3.2/services/PIG/package/scripts/pig_client.py",
                        classname = "PigClient",
                        command = "configure",
                        config_file="secured.json"
     )
-    
     self.assertResourceCalled('Directory', '/etc/pig/conf',
       owner = 'hdfs',
       group = 'hadoop',
@@ -63,9 +65,11 @@ class TestPigClient(RMFTestCase):
     self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig.properties',
       owner = 'hdfs',
     )
-    self.assertResourceCalled('File', '/etc/pig/conf/log4j.properties',
+    self.assertResourceCalled('PropertiesFile', 'log4j.properties',
       owner = 'hdfs',
       group = 'hadoop',
-      mode = 0644,
+      mode = 0664,
+      dir = '/etc/pig/conf',
+      properties = self.getConfig()['configurations']['pig-log4j'],
     )
     self.assertNoMoreResources()

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cfc8308/ambari-server/src/test/python/stacks/1.3.2/configs/default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/1.3.2/configs/default.json b/ambari-server/src/test/python/stacks/1.3.2/configs/default.json
index 9e087b7..67cc4ac 100644
--- a/ambari-server/src/test/python/stacks/1.3.2/configs/default.json
+++ b/ambari-server/src/test/python/stacks/1.3.2/configs/default.json
@@ -367,6 +367,9 @@
         },
         "zookeeper-log4j": {
             "property1": "value1"
+        },
+        "pig-log4j": {
+            "property1": "value1"
         }
     }, 
     "configurationTags": {

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cfc8308/ambari-server/src/test/python/stacks/1.3.2/configs/secured.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/1.3.2/configs/secured.json b/ambari-server/src/test/python/stacks/1.3.2/configs/secured.json
index a5ee2fd..e711ff2 100644
--- a/ambari-server/src/test/python/stacks/1.3.2/configs/secured.json
+++ b/ambari-server/src/test/python/stacks/1.3.2/configs/secured.json
@@ -472,6 +472,9 @@
         },
         "zookeeper-log4j": {
             "property1": "value1"
+        },
+        "pig-log4j": {
+            "property1": "value1"
         }
     }, 
     "configurationTags": {

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cfc8308/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
index 12c08e1..0143e27 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py
@@ -28,7 +28,6 @@ class TestPigClient(RMFTestCase):
                        command = "configure",
                        config_file="default.json"
     )
-
     self.assertResourceCalled('Directory', '/etc/pig/conf',
       owner = 'hdfs',
       group = 'hadoop',
@@ -39,20 +38,21 @@ class TestPigClient(RMFTestCase):
     self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig.properties',
       owner = 'hdfs',
     )
-    self.assertResourceCalled('File', '/etc/pig/conf/log4j.properties',
+    self.assertResourceCalled('PropertiesFile', 'log4j.properties',
       owner = 'hdfs',
       group = 'hadoop',
-      mode = 0644,
+      mode = 0664,
+      dir = '/etc/pig/conf',
+      properties = self.getConfig()['configurations']['pig-log4j'],
     )
     self.assertNoMoreResources()
-
+    
   def test_configure_secured(self):
     self.executeScript("2.0.6/services/PIG/package/scripts/pig_client.py",
                        classname = "PigClient",
                        command = "configure",
                        config_file="secured.json"
     )
-    
     self.assertResourceCalled('Directory', '/etc/pig/conf',
       owner = 'hdfs',
       group = 'hadoop',
@@ -63,9 +63,11 @@ class TestPigClient(RMFTestCase):
     self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig.properties',
       owner = 'hdfs',
     )
-    self.assertResourceCalled('File', '/etc/pig/conf/log4j.properties',
+    self.assertResourceCalled('PropertiesFile', 'log4j.properties',
       owner = 'hdfs',
       group = 'hadoop',
-      mode = 0644,
+      mode = 0664,
+      dir = '/etc/pig/conf',
+      properties = self.getConfig()['configurations']['pig-log4j'],
     )
     self.assertNoMoreResources()

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cfc8308/ambari-server/src/test/python/stacks/2.0.6/configs/default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/configs/default.json b/ambari-server/src/test/python/stacks/2.0.6/configs/default.json
index c96a303..32717e1 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/configs/default.json
+++ b/ambari-server/src/test/python/stacks/2.0.6/configs/default.json
@@ -507,6 +507,9 @@
         },
         "zookeeper-log4j": {
             "property1": "value1"
+        },
+        "pig-log4j": {
+            "property1": "value1"
         }
     },
     "configurationTags": {

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cfc8308/ambari-server/src/test/python/stacks/2.0.6/configs/secured.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.0.6/configs/secured.json b/ambari-server/src/test/python/stacks/2.0.6/configs/secured.json
index c4776bc..61a4830 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/configs/secured.json
+++ b/ambari-server/src/test/python/stacks/2.0.6/configs/secured.json
@@ -634,6 +634,9 @@
         },
         "zookeeper-log4j": {
             "property1": "value1"
+        },
+        "pig-log4j": {
+            "property1": "value1"
         }
     }, 
     "configurationTags": {


[3/3] git commit: AMBARI-4583. Extract common hdfs directories creation code per services (Eugene Chekanskiy via aonishuk)

Posted by ao...@apache.org.
AMBARI-4583. Extract common hdfs directories creation code per services
(Eugene Chekanskiy via aonishuk)


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

Branch: refs/heads/trunk
Commit: e66d84f8a8fb82bb31cc6f7b220a422443541dfe
Parents: 7f834d4
Author: Andrew Onischuk <ao...@hortonworks.com>
Authored: Tue Feb 11 09:40:13 2014 -0800
Committer: Andrew Onischuk <ao...@hortonworks.com>
Committed: Tue Feb 11 09:40:13 2014 -0800

----------------------------------------------------------------------
 .../python/resource_management/TestScript.py    |   6 +-
 .../HDFS/package/scripts/hdfs_namenode.py       | 137 +++++--------------
 .../stacks/2.1.1/STORM/test_service_check.py    |   1 -
 3 files changed, 35 insertions(+), 109 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e66d84f8/ambari-agent/src/test/python/resource_management/TestScript.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/test/python/resource_management/TestScript.py b/ambari-agent/src/test/python/resource_management/TestScript.py
index 5b34fae..23bbef1 100644
--- a/ambari-agent/src/test/python/resource_management/TestScript.py
+++ b/ambari-agent/src/test/python/resource_management/TestScript.py
@@ -73,7 +73,7 @@ class TestScript(TestCase):
       Script.config = no_packages_config
       script.install_packages(env)
     resource_dump = pprint.pformat(env.resource_list)
-    self.assertEquals(resource_dump, "[Repository['HDP-2.0._'], Repository['HDP-2.0._']]")
+    self.assertEquals(resource_dump, "[Repository['HDP-2.0._']]")
 
     # Testing empty package list
     with Environment(".", test_mode=True) as env:
@@ -81,14 +81,14 @@ class TestScript(TestCase):
       Script.config = empty_config
       script.install_packages(env)
     resource_dump = pprint.pformat(env.resource_list)
-    self.assertEquals(resource_dump, "[Repository['HDP-2.0._'], Repository['HDP-2.0._']]")
+    self.assertEquals(resource_dump, "[Repository['HDP-2.0._']]")
 
     # Testing installing of a list of packages
     with Environment(".", test_mode=True) as env:
       Script.config = dummy_config
       script.install_packages("env")
     resource_dump = pprint.pformat(env.resource_list)
-    self.assertEqual(resource_dump, "[Repository['HDP-2.0._'],\n Repository['HDP-2.0._'],\n Package['hbase'],\n Package['yet-another-package'],\n Repository['HDP-2.0._'],\n Repository['HDP-2.0._']]")
+    self.assertEqual(resource_dump, "[Repository['HDP-2.0._'],\n Repository['HDP-2.0._'],\n Package['hbase'],\n Package['yet-another-package']]")
 
   @patch("__builtin__.open")
   def test_structured_out(self, open_mock):

http://git-wip-us.apache.org/repos/asf/ambari/blob/e66d84f8/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py
index 2d2c8f9..0dad995 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/hdfs_namenode.py
@@ -19,11 +19,9 @@ limitations under the License.
 
 from resource_management import *
 from utils import service
-from utils import hdfs_directory
-import urlparse
 
 
-def namenode(action=None, format=True):
+def namenode(action=None, do_format=True):
   import params
   #we need this directory to be present before any action(HA manual steps for
   #additional namenode)
@@ -31,7 +29,7 @@ def namenode(action=None, format=True):
     create_name_dirs(params.dfs_name_dir)
 
   if action == "start":
-    if format:
+    if do_format:
       format_namenode()
       pass
 
@@ -48,11 +46,22 @@ def namenode(action=None, format=True):
       create_log_dir=True,
       principal=params.dfs_namenode_kerberos_principal
     )
+    if params.dfs_ha_enabled:
+      dfs_check_nn_status_cmd = format("su - {hdfs_user} -c 'hdfs haadmin -getServiceState {namenode_id} | grep active > /dev/null'")
+    else:
+      dfs_check_nn_status_cmd = None
 
-    # TODO: extract creating of dirs to different services
-    create_app_directories()
-    create_user_directories()
+    namenode_safe_mode_off = format("su - {hdfs_user} -c 'hadoop dfsadmin -safemode get' | grep 'Safe mode is OFF'")
 
+    if params.security_enabled:
+      Execute(format("{kinit_path_local} -kt {hdfs_user_keytab} {hdfs_user}"),
+              user = params.hdfs_user)
+    Execute(namenode_safe_mode_off,
+            tries=40,
+            try_sleep=10,
+            only_if=dfs_check_nn_status_cmd #skip when HA not active
+    )
+    create_hdfs_directories(dfs_check_nn_status_cmd)
   if action == "stop":
     service(
       action="stop", name="namenode", user=params.hdfs_user,
@@ -63,7 +72,6 @@ def namenode(action=None, format=True):
   if action == "decommission":
     decommission()
 
-
 def create_name_dirs(directories):
   import params
 
@@ -76,100 +84,22 @@ def create_name_dirs(directories):
   )
 
 
-def create_app_directories():
+def create_hdfs_directories(check):
   import params
 
-  hdfs_directory(name="/tmp",
-                 owner=params.hdfs_user,
-                 mode="777"
+  params.HdfsDirectory("/tmp",
+                       action="create_delayed",
+                       owner=params.hdfs_user,
+                       mode=0777
   )
-  #mapred directories
-  if params.has_histroryserver:
-    hdfs_directory(name="/mapred",
-                   owner=params.mapred_user
-    )
-    hdfs_directory(name="/mapred/system",
-                   owner=params.hdfs_user
-    )
-    #hbase directories
-  if len(params.hbase_master_hosts) != 0:
-    hdfs_directory(name=params.hbase_hdfs_root_dir,
-                   owner=params.hbase_user
-    )
-    hdfs_directory(name=params.hbase_staging_dir,
-                   owner=params.hbase_user,
-                   mode="711"
-    )
-    #hive directories
-  if len(params.hive_server_host) != 0:
-    hdfs_directory(name=params.hive_apps_whs_dir,
-                   owner=params.hive_user,
-                   mode="777"
-    )
-  if len(params.hcat_server_hosts) != 0:
-    hdfs_directory(name=params.webhcat_apps_dir,
-                   owner=params.webhcat_user,
-                   mode="755"
-    )
-  if len(params.hs_host) != 0:
-    if params.yarn_log_aggregation_enabled:
-      hdfs_directory(name=params.yarn_nm_app_log_dir,
-                     owner=params.yarn_user,
-                     group=params.user_group,
-                     mode="777",
-                     recursive_chmod=True
-      )
-    hdfs_directory(name=params.mapreduce_jobhistory_intermediate_done_dir,
-                   owner=params.mapred_user,
-                   group=params.user_group,
-                   mode="777"
-    )
-
-    hdfs_directory(name=params.mapreduce_jobhistory_done_dir,
-                   owner=params.mapred_user,
-                   group=params.user_group,
-                   mode="1777"
-    )
-
-  if params.has_falcon_host:
-    if params.falcon_store_uri[0:4] == "hdfs":
-      hdfs_directory(name=params.store_uri,
-                     owner=params.falcon_user,
-                     mode="755"
-      )
-
-
-def create_user_directories():
-  import params
-
-  hdfs_directory(name=params.smoke_hdfs_user_dir,
-                 owner=params.smoke_user,
-                 mode=params.smoke_hdfs_user_mode
+  params.HdfsDirectory(params.smoke_hdfs_user_dir,
+                       action="create_delayed",
+                       owner=params.smoke_user,
+                       mode=params.smoke_hdfs_user_mode
+  )
+  params.HdfsDirectory(None, action="create",
+                       only_if=check #skip creation when HA not active
   )
-
-  if params.has_hive_server_host:
-    hdfs_directory(name=params.hive_hdfs_user_dir,
-                   owner=params.hive_user,
-                   mode=params.hive_hdfs_user_mode
-    )
-
-  if params.has_hcat_server_host:
-    if params.hcat_hdfs_user_dir != params.webhcat_hdfs_user_dir:
-      hdfs_directory(name=params.hcat_hdfs_user_dir,
-                     owner=params.hcat_user,
-                     mode=params.hcat_hdfs_user_mode
-      )
-    hdfs_directory(name=params.webhcat_hdfs_user_dir,
-                   owner=params.webhcat_user,
-                   mode=params.webhcat_hdfs_user_mode
-    )
-
-  if params.has_oozie_server:
-    hdfs_directory(name=params.oozie_hdfs_user_dir,
-                   owner=params.oozie_user,
-                   mode=params.oozie_hdfs_user_mode
-    )
-
 
 def format_namenode(force=None):
   import params
@@ -208,10 +138,7 @@ def decommission():
        group=user_group
   )
 
-  if params.update_exclude_file_only == False:
-    ExecuteHadoop('dfsadmin -refreshNodes',
-                  user=hdfs_user,
-                  conf_dir=conf_dir,
-                  kinit_override=True)
-    pass
-  pass
+  ExecuteHadoop('dfsadmin -refreshNodes',
+                user=hdfs_user,
+                conf_dir=conf_dir,
+                kinit_override=True)

http://git-wip-us.apache.org/repos/asf/ambari/blob/e66d84f8/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py
index 94d4744..fdc8305 100644
--- a/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py
+++ b/ambari-server/src/test/python/stacks/2.1.1/STORM/test_service_check.py
@@ -32,7 +32,6 @@ class TestStormServiceCheck(RMFTestCase):
                        command="service_check",
                        config_file="default.json"
     )
-    self.printResources()
 
     self.assertResourceCalled('File', '/tmp/wordCount.jar',
       content = StaticFile('wordCount.jar'),