Explorar o código

AMBARI-2783: FE work to Support securing YARN and MRv2 in Ambari security wizard. (jaimin)

Jaimin Jetly %!s(int64=11) %!d(string=hai) anos
pai
achega
14ff542d1b

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

@@ -115,6 +115,23 @@
     <value>/var/log/hadoop/yarn</value>
   </property>
 
+  <property>
+    <name>yarn.nodemanager.local-dirs</name>
+    <value></value>
+  </property>
+
+  <property>
+    <name>yarn.nodemanager.linux-container-executor.group</name>
+    <value>hadoop</value>
+    <description>Unix group of the NodeManager</description>
+  </property>
+
+  <property>
+    <name>yarn.nodemanager.container-executor.class</name>
+    <value>org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor</value>
+    <description>Executor(launcher) of the containers</description>
+  </property>
+
   <property>
     <name>yarn.nodemanager.container-monitor.interval-ms</name>
     <value>3000</value>

+ 3 - 0
ambari-web/app/app.js

@@ -58,6 +58,9 @@ module.exports = Em.Application.create({
     return this.get('currentStackVersion').replace(/HDP(Local)?-/, '');
   }.property('currentStackVersion'),
   isHadoop2Stack: function(){
+    if(App.testHadoop2Stack && !App.alwaysGoToInstaller) {
+      return true;
+    }
     return (stringUtils.compareVersions(this.get('currentStackVersionNumber'), "2.0") === 1 ||
       stringUtils.compareVersions(this.get('currentStackVersionNumber'), "2.0") === 0)
   }.property('currentStackVersionNumber')

+ 2269 - 0
ambari-web/app/assets/data/dashboard/HDP2/services.json

@@ -0,0 +1,2269 @@
+{
+  "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services?fields=components/ServiceComponentInfo,components/host_components,components/host_components/HostRoles",
+  "items": [
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/GANGLIA",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "GANGLIA"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/GANGLIA/components/GANGLIA_MONITOR",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "GANGLIA_MONITOR",
+            "service_name": "GANGLIA",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/GANGLIA_MONITOR",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "GANGLIA_MONITOR",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "GANGLIA",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/GANGLIA/components/GANGLIA_SERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "GANGLIA_SERVER",
+            "service_name": "GANGLIA",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/GANGLIA_SERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "GANGLIA_SERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "GANGLIA",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HBASE",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "HBASE"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HBASE/components/HBASE_CLIENT",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "HBASE_CLIENT",
+            "service_name": "HBASE",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HBASE_CLIENT",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HBASE_CLIENT",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HBASE",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HBASE/components/HBASE_MASTER",
+          "ServiceComponentInfo": {
+            "AverageLoad": 2.0,
+            "HeapMemoryMax": 1071579136,
+            "HeapMemoryUsed": 12600208,
+            "MasterActiveTime": 1375290042954,
+            "MasterStartTime": 1375290042930,
+            "NonHeapMemoryMax": 136314880,
+            "NonHeapMemoryUsed": 38262016,
+            "RegionsInTransition": [ ],
+            "Revision": "1a62b76bde7776a433ee069ab47ee6270f8992d4",
+            "Version": "0.94.6.2.0.3.0-116",
+            "cluster_name": "c1",
+            "component_name": "HBASE_MASTER",
+            "service_name": "HBASE",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HBASE_MASTER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HBASE_MASTER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "active",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HBASE",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HBASE/components/HBASE_REGIONSERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "HBASE_REGIONSERVER",
+            "service_name": "HBASE",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HBASE_REGIONSERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HBASE_REGIONSERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HBASE",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HCATALOG",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "HCATALOG"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HCATALOG/components/HCAT",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "HCAT",
+            "service_name": "HCATALOG",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HCAT",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HCAT",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HCATALOG",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HDFS",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "HDFS"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HDFS/components/DATANODE",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "DATANODE",
+            "service_name": "HDFS",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/DATANODE",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "DATANODE",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HDFS",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HDFS/components/HDFS_CLIENT",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "HDFS_CLIENT",
+            "service_name": "HDFS",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HDFS_CLIENT",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HDFS_CLIENT",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HDFS",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HDFS/components/NAMENODE",
+          "ServiceComponentInfo": {
+            "BlocksTotal": 379,
+            "CapacityRemaining": 45343223808,
+            "CapacityTotal": 52844687359,
+            "CapacityUsed": 182407168,
+            "CorruptBlocks": 0,
+            "DeadNodes": "{}",
+            "DecomNodes": "{}",
+            "HeapMemoryMax": 1006632960,
+            "HeapMemoryUsed": 495427800,
+            "LiveNodes": "{\"dev01.hortonworks.com\":{\"numBlocks\":379,\"usedSpace\":182407168,\"lastContact\":1,\"capacity\":52844687359,\"nonDfsUsedSpace\":7319056383,\"adminState\":\"In Service\"}}",
+            "MissingBlocks": 0,
+            "NonDfsUsedSpace": 7319056383,
+            "NonHeapMemoryMax": 136314880,
+            "NonHeapMemoryUsed": 42028744,
+            "PercentRemaining": 85.8047,
+            "PercentUsed": 0.34517598,
+            "Safemode": "",
+            "StartTime": 1375289702242,
+            "TotalFiles": 617,
+            "UnderReplicatedBlocks": 379,
+            "UpgradeFinalized": true,
+            "Version": "2.1.0.2.0.3.0-116, r707031d22de185c6af3023b0689578b9ec743113",
+            "cluster_name": "c1",
+            "component_name": "NAMENODE",
+            "service_name": "HDFS",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/NAMENODE",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "NAMENODE",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HDFS",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HDFS/components/SECONDARY_NAMENODE",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "SECONDARY_NAMENODE",
+            "service_name": "HDFS",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/SECONDARY_NAMENODE",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "SECONDARY_NAMENODE",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HDFS",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HIVE",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "HIVE"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HIVE/components/HIVE_CLIENT",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "HIVE_CLIENT",
+            "service_name": "HIVE",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HIVE_CLIENT",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HIVE_CLIENT",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HIVE",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HIVE/components/HIVE_METASTORE",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "HIVE_METASTORE",
+            "service_name": "HIVE",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HIVE_METASTORE",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HIVE_METASTORE",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HIVE",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HIVE/components/HIVE_SERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "HIVE_SERVER",
+            "service_name": "HIVE",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HIVE_SERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HIVE_SERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HIVE",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/HIVE/components/MYSQL_SERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "MYSQL_SERVER",
+            "service_name": "HIVE",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/MYSQL_SERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "MYSQL_SERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "HIVE",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/MAPREDUCE2",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "MAPREDUCE2"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/MAPREDUCE2/components/HISTORYSERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "HISTORYSERVER",
+            "service_name": "MAPREDUCE2",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/HISTORYSERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "HISTORYSERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "MAPREDUCE2",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/MAPREDUCE2/components/MAPREDUCE2_CLIENT",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "MAPREDUCE2_CLIENT",
+            "service_name": "MAPREDUCE2",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/MAPREDUCE2_CLIENT",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "MAPREDUCE2_CLIENT",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "MAPREDUCE2",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/NAGIOS",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "NAGIOS"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/NAGIOS/components/NAGIOS_SERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "NAGIOS_SERVER",
+            "service_name": "NAGIOS",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/NAGIOS_SERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "NAGIOS_SERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "nagios_alerts": {
+                  "alerts": [
+                    {
+                      "service_description": "Check ambari-agent process",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: Ambari agent is running [PID:15240]",
+                      "last_hard_state_change": "1375289689",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291189",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291189",
+                      "service_type": "AMBARI"
+                    },
+                    {
+                      "service_description": "DataNode process down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.000 second response time on port 50075",
+                      "last_hard_state_change": "1375289692",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291252",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291252",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "DataNode storage full",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: Capacity:[52844687359], Remaining Capacity:[45343248384], percent_full:[14.195256609314]",
+                      "last_hard_state_change": "1375289695",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291195",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291195",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "Ganglia Collector [gmond] process down alert for HBase Master",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.001 second response time on port 8663",
+                      "last_hard_state_change": "1375289698",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291273",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291273",
+                      "service_type": "GANGLIA"
+                    },
+                    {
+                      "service_description": "Ganglia Collector [gmond] process down alert for History Server 2",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.001 second response time on port 8666",
+                      "last_hard_state_change": "1375289701",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291276",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291276",
+                      "service_type": "GANGLIA"
+                    },
+                    {
+                      "service_description": "Ganglia Collector [gmond] process down alert for JobTracker",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "4",
+                      "current_state": "2",
+                      "plugin_output": "Connection refused",
+                      "last_hard_state_change": "1375289749",
+                      "last_hard_state": "2",
+                      "last_time_ok": "0",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375291279",
+                      "is_flapping": "0",
+                      "last_check": "1375291279",
+                      "service_type": "GANGLIA"
+                    },
+                    {
+                      "service_description": "Ganglia Collector [gmond] process down alert for NameNode",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.001 second response time on port 8661",
+                      "last_hard_state_change": "1375289707",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291282",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291282",
+                      "service_type": "GANGLIA"
+                    },
+                    {
+                      "service_description": "Ganglia Collector [gmond] process down alert for Node Manager",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.000 second response time on port 8660",
+                      "last_hard_state_change": "1375289710",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291285",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291285",
+                      "service_type": "GANGLIA"
+                    },
+                    {
+                      "service_description": "Ganglia Collector [gmond] process down alert for Resource Manager",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.001 second response time on port 8664",
+                      "last_hard_state_change": "1375289713",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291273",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291273",
+                      "service_type": "GANGLIA"
+                    },
+                    {
+                      "service_description": "Ganglia Collector [gmond] process down alert for slaves",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.006 second response time on port 8660",
+                      "last_hard_state_change": "1375289716",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291276",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291276",
+                      "service_type": "GANGLIA"
+                    },
+                    {
+                      "service_description": "Ganglia [gmetad] process down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.009 second response time on port 8651",
+                      "last_hard_state_change": "1375289719",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291279",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291279",
+                      "service_type": "GANGLIA"
+                    },
+                    {
+                      "service_description": "Percent RegionServers down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: total:&lt;1&gt;, affected:&lt;0&gt;",
+                      "last_hard_state_change": "1375290292",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291282",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375290262",
+                      "is_flapping": "0",
+                      "last_check": "1375291282",
+                      "service_type": "HBASE"
+                    },
+                    {
+                      "service_description": "HBase Master CPU utilization",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "1 CPU, load 30.0% &lt; 200% : OK",
+                      "last_hard_state_change": "1375289724",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291224",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291224",
+                      "service_type": "HBASE"
+                    },
+                    {
+                      "service_description": "HBase Master Web UI down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: Successfully accessed hbase Web UI",
+                      "last_hard_state_change": "1375290087",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291227",
+                      "last_time_warning": "1375290027",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291227",
+                      "service_type": "HBASE"
+                    },
+                    {
+                      "service_description": "HBase Master process down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.001 second response time on port 60010",
+                      "last_hard_state_change": "1375290075",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291275",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375290045",
+                      "is_flapping": "0",
+                      "last_check": "1375291275",
+                      "service_type": "HBASE"
+                    },
+                    {
+                      "service_description": "Corrupt/Missing blocks",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: corrupt_blocks:&lt;&gt;, missing_blocks:&lt;&gt;, total_blocks:&lt;&gt;",
+                      "last_hard_state_change": "1375289733",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291173",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291173",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "HDFS capacity utilization",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: DFSUsedGB:&lt;0.2&gt;, DFSTotalGB:&lt;42.4&gt;",
+                      "last_hard_state_change": "1375289736",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375290936",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375290936",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "NameNode RPC latency",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: RpcQueueTime_avg_time:&lt;0&gt; Secs, RpcProcessingTime_avg_time:&lt;0&gt; Secs",
+                      "last_hard_state_change": "1375289739",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291239",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291239",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "Percent DataNodes down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: total:&lt;1&gt;, affected:&lt;0&gt;",
+                      "last_hard_state_change": "1375289742",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291272",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291272",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "Percent DataNodes storage full",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: total:&lt;1&gt;, affected:&lt;0&gt;",
+                      "last_hard_state_change": "1375289745",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291185",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291185",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "Hive Metastore status check",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: Hive metaserver status OK",
+                      "last_hard_state_change": "1375290078",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291248",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375290048",
+                      "is_flapping": "0",
+                      "last_check": "1375291248",
+                      "service_type": "HIVE"
+                    },
+                    {
+                      "service_description": "History Server 2 CPU utilization",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "1 CPU, load 25.0% &lt; 200% : OK",
+                      "last_hard_state_change": "1375289751",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291251",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291251",
+                      "service_type": "UNKNOWN"
+                    },
+                    {
+                      "service_description": "History Server 2 RPC latency",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: RpcQueueTime_avg_time:&lt;0&gt; Secs, RpcProcessingTime_avg_time:&lt;0&gt; Secs",
+                      "last_hard_state_change": "1375289754",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291254",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291254",
+                      "service_type": "UNKNOWN"
+                    },
+                    {
+                      "service_description": "History Server 2 Web UI down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: Successfully accessed historyserver2 Web UI",
+                      "last_hard_state_change": "1375290117",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291257",
+                      "last_time_warning": "1375290057",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291257",
+                      "service_type": "UNKNOWN"
+                    },
+                    {
+                      "service_description": "Percent TaskTrackers down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: total:&lt;0&gt;, affected:&lt;0&gt;",
+                      "last_hard_state_change": "1375289759",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291259",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291259",
+                      "service_type": "MAPREDUCE"
+                    },
+                    {
+                      "service_description": "Nagios status log staleness",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "NAGIOS OK: 2 processes, status log updated 5 seconds ago",
+                      "last_hard_state_change": "1375289762",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291262",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291262",
+                      "service_type": "NAGIOS"
+                    },
+                    {
+                      "service_description": "NameNode Web UI down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: Successfully accessed namenode Web UI",
+                      "last_hard_state_change": "1375289765",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291265",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291265",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "NameNode edit logs directory status",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: All Namenode directories are active",
+                      "last_hard_state_change": "1375289768",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291268",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291268",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "NameNode host CPU utilization",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "1 CPU, load 32.0% &lt; 200% : OK",
+                      "last_hard_state_change": "1375289771",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291271",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291271",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "NameNode process down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.000 second response time on port 8020",
+                      "last_hard_state_change": "1375289774",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291274",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291274",
+                      "service_type": "HDFS"
+                    },
+                    {
+                      "service_description": "Node Manager process down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.001 second response time on port 8042",
+                      "last_hard_state_change": "1375290377",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291277",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375290317",
+                      "is_flapping": "0",
+                      "last_check": "1375291277",
+                      "service_type": "UNKNOWN"
+                    },
+                    {
+                      "service_description": "Oozie Server status check",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: Oozie server status [System mode: NORMAL]",
+                      "last_hard_state_change": "1375290140",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291280",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375290080",
+                      "is_flapping": "0",
+                      "last_check": "1375291280",
+                      "service_type": "OOZIE"
+                    },
+                    {
+                      "service_description": "RegionServer process down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.000 second response time on port 60030",
+                      "last_hard_state_change": "1375290263",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291283",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375290203",
+                      "is_flapping": "0",
+                      "last_check": "1375291283",
+                      "service_type": "HBASE"
+                    },
+                    {
+                      "service_description": "Resource Manager CPU utilization",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "1 CPU, load 31.0% &lt; 200% : OK",
+                      "last_hard_state_change": "1375289786",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291286",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291286",
+                      "service_type": "UNKNOWN"
+                    },
+                    {
+                      "service_description": "Resource Manager RPC latency",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: RpcQueueTime_avg_time:&lt;0&gt; Secs, RpcProcessingTime_avg_time:&lt;0&gt; Secs",
+                      "last_hard_state_change": "1375289789",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375290989",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375290989",
+                      "service_type": "UNKNOWN"
+                    },
+                    {
+                      "service_description": "Resource Manager Web UI down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: Successfully accessed resorcemanager Web UI",
+                      "last_hard_state_change": "1375290212",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291232",
+                      "last_time_warning": "1375290152",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "0",
+                      "is_flapping": "0",
+                      "last_check": "1375291232",
+                      "service_type": "UNKNOWN"
+                    },
+                    {
+                      "service_description": "WebHCat Server status check",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "",
+                      "last_hard_state_change": "1375290575",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291235",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375290515",
+                      "is_flapping": "",
+                      "last_check": "",
+                      "service_type": "WEBHCAT"
+                    },
+                    {
+                      "service_description": "Percent ZooKeeper Servers down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "OK: total:&lt;1&gt;, affected:&lt;0&gt;",
+                      "last_hard_state_change": "1375290067",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291267",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375290037",
+                      "is_flapping": "0",
+                      "last_check": "1375291267",
+                      "service_type": "ZOOKEEPER"
+                    },
+                    {
+                      "service_description": "ZooKeeper Server process down",
+                      "host_name": "dev01.hortonworks.com",
+                      "current_attempt": "1",
+                      "current_state": "0",
+                      "plugin_output": "TCP OK - 0.002 second response time on port 2181",
+                      "last_hard_state_change": "1375290040",
+                      "last_hard_state": "0",
+                      "last_time_ok": "1375291240",
+                      "last_time_warning": "0",
+                      "last_time_unknown": "0",
+                      "last_time_critical": "1375289980",
+                      "is_flapping": "0",
+                      "last_check": "1375291240",
+                      "service_type": "ZOOKEEPER"
+                    }
+                  ],
+                  "hostcounts": {
+                    "up_hosts": "1",
+                    "down_hosts": "0"
+                  },
+                  "servicestates": {
+                    "PUPPET": "0",
+                    "HIVE-METASTORE": "0",
+                    "HDFS": "0",
+                    "OOZIE": "0",
+                    "WEBHCAT": "0",
+                    "ZOOKEEPER": "0"
+                  }
+                },
+                "service_name": "NAGIOS",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/OOZIE",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "OOZIE"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/OOZIE/components/OOZIE_CLIENT",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "OOZIE_CLIENT",
+            "service_name": "OOZIE",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/OOZIE_CLIENT",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "OOZIE_CLIENT",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "OOZIE",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/OOZIE/components/OOZIE_SERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "OOZIE_SERVER",
+            "service_name": "OOZIE",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/OOZIE_SERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "OOZIE_SERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "OOZIE",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/PIG",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "PIG"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/PIG/components/PIG",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "PIG",
+            "service_name": "PIG",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/PIG",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "PIG",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "PIG",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/WEBHCAT",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "WEBHCAT"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/WEBHCAT/components/WEBHCAT_SERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "WEBHCAT_SERVER",
+            "service_name": "WEBHCAT",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/WEBHCAT_SERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "WEBHCAT_SERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "WEBHCAT",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/YARN",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "YARN"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/YARN/components/NODEMANAGER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "NODEMANAGER",
+            "service_name": "YARN",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/NODEMANAGER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "NODEMANAGER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "YARN",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/YARN/components/RESOURCEMANAGER",
+          "ServiceComponentInfo": {
+            "StartTime": 1375290150095,
+            "cluster_name": "c1",
+            "component_name": "RESOURCEMANAGER",
+            "service_name": "YARN",
+            "state": "STARTED",
+            "desired_configs": { },
+            "rm_metrics": {
+              "cluster": {
+                "activeNMcount": 1,
+                "decommissionedNMcount": 0,
+                "lostNMcount": 0,
+                "nodeManagers": "[{\"HostName\":\"dev01.hortonworks.com\",\"Rack\":\"/default-rack\",\"State\":\"RUNNING\",\"NodeId\":\"dev01.hortonworks.com:45454\",\"NodeHTTPAddress\":\"dev01.hortonworks.com:8042\",\"LastHealthUpdate\":1375291175321,\"HealthReport\":\"\",\"NumContainers\":0,\"UsedMemoryMB\":0,\"AvailableMemoryMB\":8192}]",
+                "rebootedNMcount": 0,
+                "unhealthyNMcount": 0
+              }
+            }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/RESOURCEMANAGER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "RESOURCEMANAGER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "YARN",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/YARN/components/YARN_CLIENT",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "YARN_CLIENT",
+            "service_name": "YARN",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/YARN_CLIENT",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "YARN_CLIENT",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "YARN",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/ZOOKEEPER",
+      "ServiceInfo": {
+        "cluster_name": "c1",
+        "service_name": "ZOOKEEPER"
+      },
+      "components": [
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/ZOOKEEPER/components/ZOOKEEPER_CLIENT",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "ZOOKEEPER_CLIENT",
+            "service_name": "ZOOKEEPER",
+            "state": "INSTALLED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/ZOOKEEPER_CLIENT",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "ZOOKEEPER_CLIENT",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "INSTALLED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "ZOOKEEPER",
+                "stack_id": "HDP-2.0.3",
+                "state": "INSTALLED",
+                "actual_configs": { },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        },
+        {
+          "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/services/ZOOKEEPER/components/ZOOKEEPER_SERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "c1",
+            "component_name": "ZOOKEEPER_SERVER",
+            "service_name": "ZOOKEEPER",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://dev01.hortonworks.com:8080/api/v1/clusters/c1/hosts/dev01.hortonworks.com/host_components/ZOOKEEPER_SERVER",
+              "HostRoles": {
+                "cluster_name": "c1",
+                "component_name": "ZOOKEEPER_SERVER",
+                "desired_stack_id": "HDP-2.0.3",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "dev01.hortonworks.com",
+                "service_name": "ZOOKEEPER",
+                "stack_id": "HDP-2.0.3",
+                "state": "STARTED",
+                "actual_configs": {
+                  "capacity-scheduler": {
+                    "tag": "version1"
+                  },
+                  "core-site": {
+                    "tag": "version1"
+                  },
+                  "global": {
+                    "tag": "version1"
+                  },
+                  "hbase-site": {
+                    "tag": "version1"
+                  },
+                  "hdfs-site": {
+                    "tag": "version1"
+                  },
+                  "hive-site": {
+                    "tag": "version1"
+                  },
+                  "mapred-queue-acls": {
+                    "tag": "version1"
+                  },
+                  "mapred-site": {
+                    "tag": "version1"
+                  },
+                  "oozie-site": {
+                    "tag": "version1"
+                  },
+                  "webhcat-site": {
+                    "tag": "version1"
+                  },
+                  "yarn-site": {
+                    "tag": "version1"
+                  }
+                },
+                "configs": { },
+                "desired_configs": { }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "href": "http://ec2-54-226-143-119.compute-1.amazonaws.com:8080/api/v1/clusters/fc/services/FLUME?fields=components/ServiceComponentInfo,components/host_components,components/host_components/HostRoles",
+      "ServiceInfo": {
+        "cluster_name": "fc",
+        "service_name": "FLUME"
+      },
+      "components": [
+        {
+          "href": "http://ec2-54-226-143-119.compute-1.amazonaws.com:8080/api/v1/clusters/fc/services/FLUME/components/FLUME_SERVER",
+          "ServiceComponentInfo": {
+            "cluster_name": "fc",
+            "component_name": "FLUME_SERVER",
+            "service_name": "FLUME",
+            "state": "STARTED",
+            "desired_configs": { }
+          },
+          "host_components": [
+            {
+              "href": "http://ec2-54-226-143-119.compute-1.amazonaws.com:8080/api/v1/clusters/fc/hosts/ip-10-204-21-198.ec2.internal/host_components/FLUME_SERVER",
+              "HostRoles": {
+                "cluster_name": "fc",
+                "component_name": "FLUME_SERVER",
+                "desired_stack_id": "HDP-1.3.0",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "ip-10-204-21-198.ec2.internal",
+                "service_name": "FLUME",
+                "stack_id": "HDP-1.3.0",
+                "state": "STARTED",
+                "configs": { },
+                "desired_configs": { }
+              },
+              "metrics": {
+                "flume": {
+                  "flume": {
+                    "CHANNEL": {
+                      "c1": {
+                        "ChannelCapacity": 10000.0,
+                        "ChannelFillPercentage": 0.0,
+                        "ChannelSize": 0.0,
+                        "EventPutAttemptCount": 5899.83333333,
+                        "EventPutSuccessCount": 5899.83333333,
+                        "EventTakeAttemptCount": 8363.175,
+                        "EventTakeSuccessCount": 5899.83333333,
+                        "StartTime": 1.37123650642E12,
+                        "StopTime": 0.0
+                      },
+                      "c2": {
+                        "ChannelCapacity": 10000.0,
+                        "ChannelFillPercentage": 0.0,
+                        "ChannelSize": 0.0,
+                        "EventPutAttemptCount": 5899.83333333,
+                        "EventPutSuccessCount": 5899.83333333,
+                        "EventTakeAttemptCount": 8363.175,
+                        "EventTakeSuccessCount": 5899.83333333,
+                        "StartTime": 1.37123650642E12,
+                        "StopTime": 0.0
+                      }
+                    },
+                    "SINK": {
+                      "sink1": {
+                        "BatchCompleteCount": 0.0,
+                        "BatchEmptyCount": 2167.68888889,
+                        "BatchUnderflowCount": 294.991666667,
+                        "ConnectionClosedCount": 798.766666667,
+                        "ConnectionCreatedCount": 799.6,
+                        "ConnectionFailedCount": 0.0,
+                        "EventDrainAttemptCount": 5899.83333333,
+                        "EventDrainSuccessCount": 5899.83333333,
+                        "StartTime": 1.37123650643E12,
+                        "StopTime": 0.0
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            {
+              "href": "http://ec2-54-226-143-119.compute-1.amazonaws.com:8080/api/v1/clusters/fc/hosts/ip-10-38-6-229.ec2.internal/host_components/FLUME_SERVER",
+              "HostRoles": {
+                "cluster_name": "fc",
+                "component_name": "FLUME_SERVER",
+                "desired_stack_id": "HDP-1.3.0",
+                "desired_state": "STARTED",
+                "ha_status": "passive",
+                "host_name": "ip-10-38-6-229.ec2.internal",
+                "service_name": "FLUME",
+                "stack_id": "HDP-1.3.0",
+                "state": "STARTED",
+                "configs": { },
+                "desired_configs": { }
+              },
+              "metrics": {
+                "flume": {
+                  "flume": {
+                    "CHANNEL": {
+                      "c1": {
+                        "ChannelCapacity": 10000.0,
+                        "ChannelFillPercentage": 0.0,
+                        "ChannelSize": 0.0,
+                        "EventPutAttemptCount": 5899.83333333,
+                        "EventPutSuccessCount": 5899.83333333,
+                        "EventTakeAttemptCount": 8363.175,
+                        "EventTakeSuccessCount": 5899.83333333,
+                        "StartTime": 1.37123650642E12,
+                        "StopTime": 0.0
+                      },
+                      "c4": {
+                        "ChannelCapacity": 10000.0,
+                        "ChannelFillPercentage": 0.0,
+                        "ChannelSize": 0.0,
+                        "EventPutAttemptCount": 5899.83333333,
+                        "EventPutSuccessCount": 5899.83333333,
+                        "EventTakeAttemptCount": 8363.175,
+                        "EventTakeSuccessCount": 5899.83333333,
+                        "StartTime": 1.37123650642E12,
+                        "StopTime": 0.0
+                      }
+                    },
+                    "SINK": {
+                      "sink1": {
+                        "BatchCompleteCount": 0.0,
+                        "BatchEmptyCount": 2167.68888889,
+                        "BatchUnderflowCount": 294.991666667,
+                        "ConnectionClosedCount": 798.766666667,
+                        "ConnectionCreatedCount": 799.6,
+                        "ConnectionFailedCount": 0.0,
+                        "EventDrainAttemptCount": 5899.83333333,
+                        "EventDrainSuccessCount": 5899.83333333,
+                        "StartTime": 1.37123650643E12,
+                        "StopTime": 0.0
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}

+ 1 - 0
ambari-web/app/config.js

@@ -26,6 +26,7 @@ App.testEnableSecurity = true; // By default enable security is tested; turning
 App.apiPrefix = '/api/v1';
 App.defaultStackVersion = 'HDP-1.3.0';
 App.defaultLocalStackVersion = 'HDPLocal-1.3.0';
+App.testHadoop2Stack = true;
 App.defaultJavaHome = '/usr/jdk/jdk1.6.0_31';
 App.timeout = 180000; // default AJAX timeout
 App.maxRetries = 3; // max number of retries for certain AJAX calls

+ 2 - 2
ambari-web/app/controllers/global/cluster_controller.js

@@ -241,8 +241,8 @@ App.ClusterController = Em.Controller.extend({
       callback();
       return false;
     }
-
-    var servicesUrl = this.getUrl('/data/dashboard/services.json', '/services?fields=ServiceInfo,components/host_components/HostRoles/desired_state,components/host_components/HostRoles/state');
+    var testUrl = App.testHadoop2Stack ? '/data/dashboard/HDP2/services.json':'/data/dashboard/services.json';
+    var servicesUrl = this.getUrl(testUrl, '/services?fields=ServiceInfo,components/host_components/HostRoles/desired_state,components/host_components/HostRoles/state');
 
     App.HttpClient.get(servicesUrl, App.statusMapper, {
       complete: callback

+ 3 - 2
ambari-web/app/controllers/global/update_controller.js

@@ -88,10 +88,11 @@ App.UpdateController = Em.Controller.extend({
     }
     var conditionalFieldsString = conditionalFields.length > 0 ? ',' + conditionalFields.join(',') : '';
     var methodStartTs = new Date().getTime();
+    var testUrl = App.testHadoop2Stack ? '/data/dashboard/HDP2/services.json':'/data/dashboard/services.json';
     var servicesUrl = isInitialLoad ? 
       //this.getUrl('/data/dashboard/services.json', '/services?fields=components/ServiceComponentInfo,components/host_components,components/host_components/HostRoles') :
-      this.getUrl('/data/dashboard/services.json', '/services?fields=components/ServiceComponentInfo,components/host_components,components/host_components/HostRoles,components/host_components/metrics/jvm/memHeapUsedM,components/host_components/metrics/jvm/memHeapCommittedM,components/host_components/metrics/mapred/jobtracker/trackers_decommissioned,components/host_components/metrics/cpu/cpu_wio,components/host_components/metrics/rpc/RpcQueueTime_avg_time'+conditionalFieldsString) :
-      this.getUrl('/data/dashboard/services.json', '/services?fields=components/ServiceComponentInfo,components/host_components,components/host_components/HostRoles,components/host_components/metrics/jvm/memHeapUsedM,components/host_components/metrics/jvm/memHeapCommittedM,components/host_components/metrics/mapred/jobtracker/trackers_decommissioned,components/host_components/metrics/cpu/cpu_wio,components/host_components/metrics/rpc/RpcQueueTime_avg_time'+conditionalFieldsString);
+      this.getUrl(testUrl, '/services?fields=components/ServiceComponentInfo,components/host_components,components/host_components/HostRoles,components/host_components/metrics/jvm/memHeapUsedM,components/host_components/metrics/jvm/memHeapCommittedM,components/host_components/metrics/mapred/jobtracker/trackers_decommissioned,components/host_components/metrics/cpu/cpu_wio,components/host_components/metrics/rpc/RpcQueueTime_avg_time'+conditionalFieldsString) :
+      this.getUrl(testUrl, '/services?fields=components/ServiceComponentInfo,components/host_components,components/host_components/HostRoles,components/host_components/metrics/jvm/memHeapUsedM,components/host_components/metrics/jvm/memHeapCommittedM,components/host_components/metrics/mapred/jobtracker/trackers_decommissioned,components/host_components/metrics/cpu/cpu_wio,components/host_components/metrics/rpc/RpcQueueTime_avg_time'+conditionalFieldsString);
     var callback = callback || function (jqXHR, textStatus) {
       self.set('isUpdated', true);
     };

+ 5 - 0
ambari-web/app/controllers/main/admin/security.js

@@ -138,6 +138,11 @@ App.MainAdminSecurityController = Em.Controller.extend({
       name: 'hdfs_user',
       value: configs['hdfs_user'] ? configs['hdfs_user'] : 'hdfs'
     });
+    serviceUsers.pushObject({
+      id: 'puppet var',
+      name: 'yarn_user',
+      value: configs['yarn_user'] ? configs['yarn_user'] : 'yarn'
+    });
     serviceUsers.pushObject({
       id: 'puppet var',
       name: 'mapred_user',

+ 7 - 1
ambari-web/app/controllers/main/admin/security/add/addSecurity_controller.js

@@ -60,7 +60,13 @@ App.AddSecurityController = App.WizardController.extend({
    */
   loadServices: function () {
     this.clearServices();
-    var secureServices = require('data/secure_configs');
+    var secureServices;
+    if(App.get('isHadoop2Stack')) {
+      secureServices = require('data/HDP2/secure_configs');
+    } else {
+      secureServices = require('data/secure_configs');
+    }
+
     var installedServices = this.get('installedServices');
     //General (only non service tab) tab is always displayed
     this.get('content.services').push(secureServices.findProperty('serviceName', 'GENERAL'));

+ 16 - 0
ambari-web/app/controllers/main/admin/security/add/step2.js

@@ -175,9 +175,11 @@ App.MainAdminSecurityAddStep2Controller = Em.Controller.extend({
   addSlaveHostToGlobals: function(serviceConfigs){
     var hdfsService = serviceConfigs.findProperty('serviceName', 'HDFS');
     var mapReduceService = serviceConfigs.findProperty('serviceName', 'MAPREDUCE');
+    var yarnService = serviceConfigs.findProperty('serviceName', 'YARN');
     var hbaseService = serviceConfigs.findProperty('serviceName', 'HBASE');
     this.setHostsToConfig(hdfsService, 'datanode_hosts', 'DATANODE');
     this.setHostsToConfig(mapReduceService, 'tasktracker_hosts', 'TASKTRACKER');
+    this.setHostsToConfig(yarnService, 'nodemanager_host', 'NODEMANAGER');
     this.setHostsToConfig(hbaseService, 'regionserver_hosts', 'HBASE_REGIONSERVER');
   },
 
@@ -190,6 +192,8 @@ App.MainAdminSecurityAddStep2Controller = Em.Controller.extend({
     var zooKeeperService = serviceConfigs.findProperty('serviceName', 'ZOOKEEPER');
     var hdfsService = serviceConfigs.findProperty('serviceName', 'HDFS');
     var mapReduceService = serviceConfigs.findProperty('serviceName', 'MAPREDUCE');
+    var mapReduce2Service = serviceConfigs.findProperty('serviceName', 'MAPREDUCE2');
+    var yarnService = serviceConfigs.findProperty('serviceName', 'YARN');
     if (oozieService) {
       var oozieServerHost = oozieService.configs.findProperty('name', 'oozie_servername');
       var oozieServerPrincipal = oozieService.configs.findProperty('name', 'oozie_principal_name');
@@ -237,6 +241,18 @@ App.MainAdminSecurityAddStep2Controller = Em.Controller.extend({
         jobTrackerHost.defaultValue = App.Service.find('MAPREDUCE').get('hostComponents').findProperty('componentName', 'JOBTRACKER').get('host.hostName');
       }
     }
+    if(mapReduce2Service){
+      var jobHistoryServerHost = mapReduce2Service.configs.findProperty('name', 'jobhistoryserver_host');
+      if (jobHistoryServerHost) {
+        jobHistoryServerHost.defaultValue = App.Service.find('MAPREDUCE2').get('hostComponents').findProperty('componentName', 'HISTORYSERVER').get('host.hostName');
+      }
+    }
+    if(yarnService){
+      var resourceManagerHost = yarnService.configs.findProperty('name', 'resourcemanager_host');
+      if (resourceManagerHost) {
+        resourceManagerHost.defaultValue = App.Service.find('YARN').get('hostComponents').findProperty('componentName', 'RESOURCEMANAGER').get('host.hostName');
+      }
+    }
     this.setHostsToConfig(hbaseService, 'hbasemaster_host', 'HBASE_MASTER');
     this.setHostsToConfig(zooKeeperService, 'zookeeperserver_hosts', 'ZOOKEEPER_SERVER');
   },

+ 6 - 1
ambari-web/app/controllers/main/admin/security/add/step3.js

@@ -45,7 +45,7 @@ App.MainAdminSecurityAddStep3Controller = Em.Controller.extend({
     var hosts = App.Host.find();
     var result = [];
     var componentsToDisplay = ['NAMENODE', 'SECONDARY_NAMENODE', 'DATANODE', 'JOBTRACKER', 'ZOOKEEPER_SERVER', 'HIVE_SERVER', 'TASKTRACKER',
-      'OOZIE_SERVER', 'NAGIOS_SERVER', 'HBASE_MASTER', 'HBASE_REGIONSERVER'];
+      'OOZIE_SERVER', 'NAGIOS_SERVER', 'HBASE_MASTER', 'HBASE_REGIONSERVER','HISTORYSERVER','RESOURCEMANAGER','NODEMANAGER'];
     var securityUsers = [];
     if (!securityUsers || securityUsers.length < 1) { // Page could be refreshed in middle
       securityUsers = this.getSecurityUsers();
@@ -58,6 +58,7 @@ App.MainAdminSecurityAddStep3Controller = Em.Controller.extend({
     var hdfsUserId = securityUsers.findProperty('name', 'hdfs_user').value;
     var hbaseUserId = securityUsers.findProperty('name', 'hbase_user').value;
     var mapredUserId = securityUsers.findProperty('name', 'mapred_user').value;
+    var yarnUserId =  securityUsers.findProperty('name', 'yarn_user').value;
     var hiveUserId = securityUsers.findProperty('name', 'hive_user').value;
     var zkUserId = securityUsers.findProperty('name', 'zk_user').value;
     var oozieUserId = securityUsers.findProperty('name', 'oozie_user').value;
@@ -78,6 +79,9 @@ App.MainAdminSecurityAddStep3Controller = Em.Controller.extend({
       'DATANODE': hdfsUserId,
       'TASKTRACKER': mapredUserId,
       'JOBTRACKER': mapredUserId,
+      'HISTORYSERVER': mapredUserId,
+      'RESOURCEMANAGER':yarnUserId,
+      'NODEMANAGER':yarnUserId,
       'ZOOKEEPER_SERVER': zkUserId,
       'HIVE_SERVER': hiveUserId,
       'OOZIE_SERVER': oozieUserId,
@@ -213,6 +217,7 @@ App.MainAdminSecurityAddStep3Controller = Em.Controller.extend({
     if (App.testMode) {
       securityUsers.pushObject({id: 'puppet var', name: 'hdfs_user', value: 'hdfs'});
       securityUsers.pushObject({id: 'puppet var', name: 'mapred_user', value: 'mapred'});
+      securityUsers.pushObject({id: 'puppet var', name: 'yarn_user', value: 'yarn'});
       securityUsers.pushObject({id: 'puppet var', name: 'hbase_user', value: 'hbase'});
       securityUsers.pushObject({id: 'puppet var', name: 'hive_user', value: 'hive'});
       securityUsers.pushObject({id: 'puppet var', name: 'smokeuser', value: 'ambari-qa'});

+ 14 - 2
ambari-web/app/controllers/main/admin/security/add/step4.js

@@ -20,8 +20,20 @@ var App = require('app');
 App.MainAdminSecurityAddStep4Controller = Em.Controller.extend({
 
   name: 'mainAdminSecurityAddStep4Controller',
-  secureMapping: require('data/secure_mapping'),
-  secureProperties: require('data/secure_properties').configProperties,
+  secureMapping: function() {
+    if(App.get('isHadoop2Stack')) {
+      return require('data/HDP2/secure_mapping');
+    } else {
+      return require('data/secure_mapping');
+    }
+  }.property(App.isHadoop2Stack),
+  secureProperties: function() {
+    if(App.get('isHadoop2Stack')) {
+      return require('data/HDP2/secure_properties').configProperties;
+    } else {
+      return require('data/secure_properties').configProperties;
+    }
+  }.property(App.isHadoop2Stack),
   stages: [],
   configs: [],
   noOfWaitingAjaxCalls: 0,

+ 18 - 3
ambari-web/app/controllers/main/admin/security/disable.js

@@ -20,9 +20,21 @@ var App = require('app');
 App.MainAdminSecurityDisableController = Em.Controller.extend({
 
   name: 'mainAdminSecurityDisableController',
-  secureMapping: require('data/secure_mapping'),
-  configMapping: App.config.get('configMapping'),
-  secureProperties: require('data/secure_properties').configProperties.slice(0),
+  secureMapping: function() {
+    if(App.get('isHadoop2Stack')) {
+      return require('data/HDP2/secure_mapping');
+    } else {
+      return require('data/secure_mapping');
+    }
+  }.property(App.isHadoop2Stack),
+  secureProperties: function() {
+    if(App.get('isHadoop2Stack')) {
+      return require('data/HDP2/secure_properties').configProperties;
+    } else {
+      return require('data/secure_properties').configProperties;
+    }
+  }.property(App.isHadoop2Stack),
+
   stages: [],
   configs: [],
   noOfWaitingAjaxCalls: 0,
@@ -371,6 +383,9 @@ App.MainAdminSecurityDisableController = Em.Controller.extend({
                 case 'mapred.task.tracker.task-controller':
                   _serviceConfigTags.configs[configName] = 'org.apache.hadoop.mapred.DefaultTaskController';
                   break;
+                case 'yarn.nodemanager.container-executor.class':
+                  _serviceConfigTags.configs[configName] = 'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor';
+                  break;
                 case 'hbase.security.authentication':
                   _serviceConfigTags.configs[configName] = 'simple';
                   break;

+ 7 - 0
ambari-web/app/data/HDP2/config_mapping.js

@@ -337,6 +337,13 @@ var configs = [
     "value": "http://<templateName[0]>:19888/jobhistory/logs",
     "filename": "yarn-site.xml"
   },
+  {
+    "name": "yarn.nodemanager.local-dirs",
+    "templateName": ["yarn_nodemanager_local-dirs"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "yarn-site.xml"
+  },
 /**********************************************mapred-site***************************************/
   {
     "name": "mapreduce.jobhistory.webapp.address",

+ 12 - 0
ambari-web/app/data/HDP2/config_properties.js

@@ -736,6 +736,18 @@ module.exports =
       "serviceName": "YARN",
       "category": "Advanced"
     },
+    {
+      "id": "puppet var",
+      "name": "yarn_nodemanager_local-dirs",
+      "displayName": "YARN local directories",
+      "defaultValue": "",
+      "defaultDirectory": "/hadoop/yarn",
+      "displayType": "directories",
+      "isReconfigurable": true,
+      "isVisible": true,
+      "serviceName": "YARN",
+      "category": "Advanced"
+    },
   /**********************************************HBASE***************************************/
     {
       "id": "puppet var",

+ 130 - 0
ambari-web/app/data/HDP2/secure_configs.js

@@ -0,0 +1,130 @@
+/**
+ * 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');
+require('models/service_config');
+App.SecureConfigProperties = Ember.ArrayProxy.extend({
+  content: require('data/HDP2/secure_properties').configProperties
+});
+
+var configProperties = App.SecureConfigProperties.create();
+
+module.exports = [
+  {
+    serviceName: 'GENERAL',
+    displayName: 'General',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'KERBEROS', displayName: 'Kerberos'}),
+      App.ServiceConfigCategory.create({ name: 'AMBARI', displayName: 'Ambari'})
+    ],
+    sites: ['global'],
+    configs: configProperties.filterProperty('serviceName', 'GENERAL')
+  },
+  {
+    serviceName: 'HDFS',
+    displayName: 'HDFS',
+    filename: 'hdfs-site',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'}),
+      App.ServiceConfigCategory.create({ name: 'NameNode', displayName: 'NameNode'}),
+      App.ServiceConfigCategory.create({ name: 'SNameNode', displayName: 'Secondary NameNode'}),
+      App.ServiceConfigCategory.create({ name: 'DataNode', displayName: 'DataNode'})
+    ],
+    sites: ['core-site', 'hdfs-site'],
+    configs: configProperties.filterProperty('serviceName', 'HDFS')
+  },
+  {
+    serviceName: 'MAPREDUCE2',
+    displayName: 'MapReduce2',
+    filename: 'mapred-site',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'JobHistoryServer', displayName: 'Job History Server'})
+    ],
+    sites: ['mapred-site'],
+    configs: configProperties.filterProperty('serviceName', 'MAPREDUCE2')
+  },
+  {
+    serviceName: 'YARN',
+    displayName: 'YARN',
+    filename: 'yarn-site',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'ResourceManager', displayName : 'Resource Manager'}),
+      App.ServiceConfigCategory.create({ name: 'NodeManager', displayName : 'Node Manager'})
+      ],
+    sites: ['yarn-site'],
+    configs: configProperties.filterProperty('serviceName', 'YARN')
+  },
+  {
+    serviceName: 'HIVE',
+    displayName: 'Hive',
+    filename: 'hive-site',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'Hive Metastore', displayName: 'Hive Metastore and Hive Server 2'})
+    ],
+    sites: ['hive-site'],
+    configs: configProperties.filterProperty('serviceName', 'HIVE')
+  },
+  {
+    serviceName: 'WEBHCAT',
+    displayName: 'WebHCat',
+    filename: 'webhcat-site',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'WebHCat Server', displayName : 'WebHCat Server'})
+    ],
+    sites: ['webhcat-site'],
+    configs: configProperties.filterProperty('serviceName', 'WEBHCAT')
+  },
+  {
+    serviceName: 'HBASE',
+    displayName: 'HBase',
+    filename: 'hbase-site',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'HBase Master', displayName: 'HBase Master'}),
+      App.ServiceConfigCategory.create({ name: 'RegionServer', displayName: 'RegionServer'})
+    ],
+    sites: ['hbase-site'],
+    configs: configProperties.filterProperty('serviceName', 'HBASE')
+  },
+  {
+    serviceName: 'ZOOKEEPER',
+    displayName: 'ZooKeeper',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'ZooKeeper Server', displayName: 'ZooKeeper Server'})
+    ],
+    configs: configProperties.filterProperty('serviceName', 'ZOOKEEPER')
+
+  },
+  {
+    serviceName: 'OOZIE',
+    displayName: 'Oozie',
+    filename: 'oozie-site',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'Oozie Server', displayName:  'Oozie Server'})
+    ],
+    sites: ['oozie-site'],
+    configs: configProperties.filterProperty('serviceName', 'OOZIE')
+  },
+  {
+    serviceName: 'NAGIOS',
+    displayName: 'Nagios',
+    configCategories: [
+      App.ServiceConfigCategory.create({ name: 'Nagios Server', displayName:  'Nagios Server'})
+    ],
+    configs: configProperties.filterProperty('serviceName', 'NAGIOS')
+  }
+
+];

+ 494 - 0
ambari-web/app/data/HDP2/secure_mapping.js

@@ -0,0 +1,494 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = [
+  {
+    "name": "hadoop.security.authentication",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "kerberos",
+    "filename": "core-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "hadoop.security.authorization",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "true",
+    "filename": "core-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "hadoop.security.auth_to_local",
+    "templateName": ["resourcemanager_primary_name", "kerberos_domain", "yarn_user", "nodemanager_primary_name", "namenode_primary_name", "hdfs_user", "datanode_primary_name", "hbase_master_primary_name", "hbase_user","hbase_regionserver_primary_name","oozie_primary_name","oozie_user","jobhistory_primary_name","mapred_user"],
+    "foreignKey": null,
+    "value": "RULE:[2:$1@$0](<templateName[0]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nRULE:[2:$1@$0](<templateName[3]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nRULE:[2:$1@$0](<templateName[4]>@.*<templateName[1]>)s/.*/<templateName[5]>/\nRULE:[2:$1@$0](<templateName[6]>@.*<templateName[1]>)s/.*/<templateName[5]>/\nRULE:[2:$1@$0](<templateName[7]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[9]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[10]>@.*<templateName[1]>)s/.*/<templateName[11]>/\nRULE:[2:$1@$0](<templateName[12]>@.*<templateName[1]>)s/.*/<templateName[13]>/\nDEFAULT",
+    "filename": "core-site.xml",
+    "serviceName": "HDFS",
+    "dependedServiceName": [{name: "HBASE", replace: "\nRULE:[2:$1@$0](<templateName[7]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[9]>@.*<templateName[1]>)s/.*/<templateName[8]>/"},{name: "OOZIE",replace: "\nRULE:[2:$1@$0](<templateName[10]>@.*<templateName[1]>)s/.*/<templateName[11]>/"},{name: "MAPREDUCE2",replace: "\nRULE:[2:$1@$0](<templateName[12]>@.*<templateName[1]>)s/.*/<templateName[13]>/"}]
+  },
+  {
+    "name": "dfs.namenode.kerberos.principal",
+    "templateName": ["namenode_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.namenode.keytab.file",
+    "templateName": ["namenode_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.secondary.namenode.kerberos.principal",
+    "templateName": ["snamenode_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "hdfs-site.xml"
+  },
+  {
+    "name": "dfs.secondary.namenode.keytab.file",
+    "templateName": ["snamenode_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.web.authentication.kerberos.principal",
+    "templateName": ["hadoop_http_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.web.authentication.kerberos.keytab",
+    "templateName": ["hadoop_http_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.datanode.kerberos.principal",
+    "templateName": ["datanode_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.datanode.keytab.file",
+    "templateName": ["datanode_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.namenode.kerberos.internal.spnego.principal",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "${dfs.web.authentication.kerberos.principal}",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.secondary.namenode.kerberos.internal.spnego.principal",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "${dfs.web.authentication.kerberos.principal}",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.datanode.address",
+    "templateName": ["dfs_datanode_address"],
+    "foreignKey": null,
+    "value": "0.0.0.0:<templateName[0]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "dfs.datanode.http.address",
+    "templateName": ["dfs_datanode_http_address"],
+    "foreignKey": null,
+    "value": "0.0.0.0:<templateName[0]>",
+    "filename": "hdfs-site.xml",
+    "serviceName": "HDFS"
+  },
+  {
+    "name": "mapreduce.jobhistory.principal",
+    "templateName": ["jobhistory_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "mapred-site.xml",
+    "serviceName": "MAPREDUCE2"
+  },
+  {
+    "name": "mapreduce.jobhistory.keytab",
+    "templateName": ["jobhistory_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "mapred-site.xml",
+    "serviceName": "MAPREDUCE2"
+  },
+  {
+    "name": "yarn.resourcemanager.principal",
+    "templateName": ["resourcemanager_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "yarn-site.xml",
+    "serviceName": "YARN"
+  },
+  {
+    "name": "yarn.resourcemanager.keytab",
+    "templateName": ["resourcemanager_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "yarn-site.xml",
+    "serviceName": "YARN"
+  },
+  {
+    "name": "yarn.nodemanager.principal",
+    "templateName": ["nodemanager_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "yarn-site.xml",
+    "serviceName": "YARN"
+  },
+  {
+    "name": "yarn.nodemanager.keytab",
+    "templateName": ["nodemanager_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "yarn-site.xml",
+    "serviceName": "YARN"
+  },
+  {
+    "name": "yarn.nodemanager.container-executor.class",
+    "templateName": ["yarn_nodemanager_container-executor_class"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "yarn-site.xml",
+    "serviceName": "YARN"
+  },
+  {
+    "name": "hbase.master.kerberos.principal",
+    "templateName": ["hbase_master_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hbase.master.keytab.file",
+    "templateName": ["hbase_master_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hbase.regionserver.kerberos.principal",
+    "templateName": ["hbase_regionserver_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hbase.regionserver.keytab.file",
+    "templateName": ["hbase_regionserver_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hive.metastore.sasl.enabled",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "true",
+    "filename": "hive-site.xml",
+    "serviceName": "HIVE"
+  },
+  {
+    "name": "hive.server2.authentication",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "KERBEROS",
+    "filename": "hive-site.xml",
+    "serviceName": "HIVE"
+  },
+  {
+    "name": "hive.metastore.kerberos.principal",
+    "templateName": ["hive_metastore_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "hive-site.xml",
+    "serviceName": "HIVE"
+  },
+  {
+    "name": "hive.metastore.kerberos.keytab.file",
+    "templateName": ["hive_metastore_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "hive-site.xml",
+    "serviceName": "HIVE"
+  },
+  {
+    "name": "hive.server2.authentication.kerberos.principal",
+    "templateName": ["hive_metastore_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "hive-site.xml",
+    "serviceName": "HIVE"
+  },
+  {
+    "name": "hive.server2.authentication.kerberos.keytab",
+    "templateName": ["hive_metastore_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "hive-site.xml",
+    "serviceName": "HIVE"
+  },
+  {
+    "name": "oozie.service.AuthorizationService.authorization.enabled",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "true",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "oozie.service.HadoopAccessorService.kerberos.enabled",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "true",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "local.realm",
+    "templateName": ["kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "oozie.service.HadoopAccessorService.keytab.file",
+    "templateName": ["oozie_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "oozie.service.HadoopAccessorService.kerberos.principal",
+    "templateName": ["oozie_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "oozie.authentication.type",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "kerberos",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "oozie.authentication.kerberos.principal",
+    "templateName": ["oozie_http_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "oozie.authentication.kerberos.keytab",
+    "templateName": ["oozie_http_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "oozie.authentication.kerberos.name.rules",
+    "templateName": ["resourcemanager_primary_name", "kerberos_domain", "yarn_user", "nodemanager_primary_name", "namenode_primary_name", "hdfs_user", "datanode_primary_name", "hbase_master_primary_name", "hbase_user","hbase_regionserver_primary_name"],
+    "foreignKey": null,
+    "value": "RULE:[2:$1@$0](<templateName[0]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nRULE:[2:$1@$0](<templateName[3]>@.*<templateName[1]>)s/.*/<templateName[2]>/\nRULE:[2:$1@$0](<templateName[4]>@.*<templateName[1]>)s/.*/<templateName[5]>/\nRULE:[2:$1@$0](<templateName[6]>@.*<templateName[1]>)s/.*/<templateName[5]>/\nRULE:[2:$1@$0](<templateName[7]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[9]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nDEFAULT",
+    "filename": "oozie-site.xml",
+    "serviceName": "OOZIE",
+    "dependedServiceName": [{name: "HBASE", replace: "\nRULE:[2:$1@$0](<templateName[7]>@.*<templateName[1]>)s/.*/<templateName[8]>/\nRULE:[2:$1@$0](<templateName[9]>@.*<templateName[1]>)s/.*/<templateName[8]>/"}]
+  },
+  {
+    "name": "templeton.kerberos.principal",
+    "templateName": ["webHCat_http_principal_name", "kerberos_domain"],
+    "foreignKey": null,
+    "value": "<templateName[0]>@<templateName[1]>",
+    "filename": "webhcat-site.xml",
+    "serviceName": "WEBHCAT"
+  },
+  {
+    "name": "templeton.kerberos.keytab",
+    "templateName": ["webhcat_http_keytab"],
+    "foreignKey": null,
+    "value": "<templateName[0]>",
+    "filename": "webhcat-site.xml",
+    "serviceName": "WEBHCAT"
+  },
+  {
+    "name": "templeton.kerberos.secret",
+    "templateName": [""],
+    "foreignKey": null,
+    "value": "secret",
+    "filename": "webhcat-site.xml",
+    "serviceName": "WEBHCAT"
+  },
+  {
+    "name": "templeton.hive.properties",
+    "templateName": ["hivemetastore_host","hive_metastore_principal_name","kerberos_domain"],
+    "foreignKey": null,
+    "value": "hive.metastore.local=false,hive.metastore.uris=thrift://<templateName[0]>:9083,hive." +
+      "metastore.sasl.enabled=true,hive.metastore.execute.setugi=true,hive.exec.mode.local.auto=false,hive.metastore.kerberos.principal=<templateName[1]>@<templateName[2]>",
+    "filename": "webhcat-site.xml",
+    "serviceName": "WEBHCAT"
+  },
+  {
+    "name": "hbase.coprocessor.master.classes",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "org.apache.hadoop.hbase.security.access.AccessController",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hbase.coprocessor.region.classes",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint,org.apache.hadoop.hbase.security.access.AccessController",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hbase.security.authentication",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "kerberos",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hbase.rpc.engine",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "org.apache.hadoop.hbase.ipc.SecureRpcEngine",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hbase.security.authorization",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "true",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hbase.coprocessor.region.classes",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint,org.apache.hadoop.hbase.security.access.AccessController",
+    "filename": "hbase-site.xml"
+  },
+  {
+    "name": "hbase.bulkload.staging.dir",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "/apps/hbase/staging",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "zookeeper.znode.parent",
+    "templateName": [],
+    "foreignKey": null,
+    "value": "/hbase-secure",
+    "filename": "hbase-site.xml",
+    "serviceName": "HBASE"
+  },
+  {
+    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
+    "templateName": ["proxyuser_group"],
+    "foreignKey": ["hive_metastore_primary_name"],
+    "value": "<templateName[0]>",
+    "filename": "core-site.xml",
+    "serviceName": "HIVE"
+  },
+  {
+    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
+    "templateName": ["hivemetastore_host"],
+    "foreignKey": ["hive_metastore_primary_name"],
+    "value": "<templateName[0]>",
+    "filename": "core-site.xml",
+    "serviceName": "HIVE"
+  },
+  {
+    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
+    "templateName": ["proxyuser_group"],
+    "foreignKey": ["oozie_primary_name"],
+    "value": "<templateName[0]>",
+    "filename": "core-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
+    "templateName": ["oozieserver_host"],
+    "foreignKey": ["oozie_primary_name"],
+    "value": "<templateName[0]>",
+    "filename": "core-site.xml",
+    "serviceName": "OOZIE"
+  },
+  {
+    "name": "hadoop.proxyuser.<foreignKey[0]>.groups",
+    "templateName": ["proxyuser_group"],
+    "foreignKey": ["webHCat_http_primary_name"],
+    "value": "<templateName[0]>",
+    "filename": "core-site.xml",
+    "serviceName": "WEBHCAT"
+  },
+  {
+    "name": "hadoop.proxyuser.<foreignKey[0]>.hosts",
+    "templateName": ["webhcat_server"],
+    "foreignKey": ["webHCat_http_primary_name"],
+    "value": "<templateName[0]>",
+    "filename": "core-site.xml",
+    "serviceName": "WEBHCAT"
+  }
+];
+

+ 800 - 0
ambari-web/app/data/HDP2/secure_properties.js

@@ -0,0 +1,800 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+module.exports =
+{
+  "configProperties": [
+    {
+      "id": "puppet var",
+      "name": "security_enabled",
+      "displayName": "Enable security",
+      "value": "",
+      "defaultValue": 'true',
+      "description": "Enable kerberos security for the cluster",
+      "isVisible": false,
+      "isOverridable": false,
+      "serviceName": "GENERAL",
+      "category": "KERBEROS"
+    },
+    {
+      "id": "puppet var",
+      "name": "kerberos_install_type",
+      "displayName": "Type of security",
+      "value": "",
+      "defaultValue": "MANUALLY_SET_KERBEROS",
+      "description": "Type of kerberos security for the cluster",
+      "isVisible": false,
+      "isOverridable": false,
+      "serviceName": "GENERAL",
+      "category": "KERBEROS"
+    },
+    {
+      "id": "puppet var",
+      "name": "keytab_path",
+      "displayName": "Path to keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs",
+      "description": "Type of kerberos security for the cluster",
+      "displayType": "principal",
+      "isVisible": false,
+      "isOverridable": false,
+      "serviceName": "GENERAL",
+      "category": "AMBARI"
+    },
+    {
+      "id": "puppet var",
+      "name": "kerberos_domain",
+      "displayName": "Realm name",
+      "value": "",
+      "defaultValue": "EXAMPLE.COM",
+      "description": "Realm name to be used for all principal names",
+      "displayType": "advanced",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "GENERAL",
+      "category": "KERBEROS"
+    },
+    {
+      "id": "puppet var",
+      "name": "kinit_path_local",
+      "displayName": "Kerberos tool path",
+      "value": "",
+      "defaultValue": "/usr/bin",
+      "description": "Directoy path to installed kerberos tools like kinit, kdestroy etc. This can have multiple comma delimited paths",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "GENERAL",
+      "category": "KERBEROS"
+    },
+    {
+      "id": "puppet var",
+      "name": "smokeuser_principal_name",
+      "displayName": "Smoke test user Principal",
+      "value": "",
+      "defaultValue": "ambari-qa",
+      "description": "This is the principal name for Smoke test user",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "isReconfigurable": false,
+      "serviceName": "GENERAL",
+      "category": "AMBARI"
+    },
+    {
+      "id": "puppet var",
+      "name": "smokeuser_keytab",
+      "displayName": "Path to smoke test user keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/smokeuser.headless.keytab",
+      "description": "Path to keytab file for smoke test user",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "GENERAL",
+      "category": "AMBARI"
+    },
+    {
+      "id": "puppet var",
+      "name": "hdfs_principal_name",
+      "displayName": "HDFS User Principal",
+      "value": "",
+      "defaultValue": "hdfs",
+      "description": "This is the principal name for HDFS user",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "isReconfigurable": false,
+      "serviceName": "GENERAL",
+      "category": "AMBARI"
+    },
+    {
+      "id": "puppet var",
+      "name": "hdfs_user_keytab",
+      "displayName": "Path to HDFS user keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/hdfs.headless.keytab",
+      "description": "Path to keytab file for HDFS user",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "GENERAL",
+      "category": "AMBARI"
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_principal_name",
+      "displayName": "HBase User Principal",
+      "value": "",
+      "defaultValue": "hbase",
+      "description": "This is the principal name for HBase user",
+      "displayType": "principal",
+      "isVisible": false,
+      "isOverridable": false,
+      "isReconfigurable": false,
+      "serviceName": "GENERAL",
+      "category": "AMBARI"
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_user_keytab",
+      "displayName": "Path to HBase user keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/hbase.headless.keytab",
+      "description": "Path to keytab file for Hbase user",
+      "displayType": "directory",
+      "isVisible": false,
+      "isOverridable": false,
+      "serviceName": "GENERAL",
+      "category": "AMBARI"
+    },
+
+    //HDFS
+    {
+      "id": "puppet var",
+      "name": "namenode_host",
+      "displayName": "NameNode host",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run NameNode",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "HDFS",
+      "category": "NameNode"
+    },
+    {
+      "id": "puppet var",
+      "name": "namenode_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "nn/_HOST",
+      "description": "Principal name for NameNode. _HOST will get automatically replaced with actual hostname at an instance of NameNode",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "NameNode",
+      "components": ["NAMENODE"]
+    },
+    {
+      "id": "puppet var",
+      "name": "namenode_keytab",
+      "displayName": "Path to Keytab File",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/nn.service.keytab",
+      "description": "Path to NameNode keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "NameNode",
+      "components": ["NAMENODE"]
+    },
+    {
+      "id": "puppet var",
+      "name": "snamenode_host",
+      "displayName": "SNameNode host",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run SecondaryNameNode",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "HDFS",
+      "category": "SNameNode"
+    },
+    {
+      "id": "puppet var",
+      "name": "snamenode_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "nn/_HOST",
+      "description": "Principal name for SNameNode. _HOST will get automatically replaced with actual hostname at an instance of SNameNode",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "SNameNode",
+      "components": ["SECONDARY_NAMENODE"]
+    },
+    {
+      "id": "puppet var",
+      "name": "snamenode_keytab",
+      "displayName": "Path to Keytab File",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/nn.service.keytab",
+      "description": "Path to SNameNode keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "SNameNode",
+      "components": ["SECONDARY_NAMENODE"]
+    },
+    {
+      "id": "puppet var",
+      "name": "datanode_hosts", //not in the schema. For UI purpose
+      "displayName": "DataNode hosts",
+      "value": "",
+      "defaultValue": "",
+      "description": "The hosts that have been assigned to run DataNode",
+      "displayType": "slaveHosts",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "HDFS",
+      "category": "DataNode"
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_datanode_address",
+      "displayName": "Datanode address",
+      "value": "",
+      "defaultValue": "1019",
+      "description": "Address for DataNode",
+      "displayType": "principal",
+      "isVisible": false,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "DataNode"
+    },
+    {
+      "id": "puppet var",
+      "name": "dfs_datanode_http_address",
+      "displayName": "Datanode HTTP address",
+      "value": "",
+      "defaultValue": "1022",
+      "description": "Address for DataNode",
+      "displayType": "principal",
+      "isVisible": false,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "DataNode"
+    },
+    {
+      "id": "puppet var",
+      "name": "datanode_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "dn/_HOST",
+      "description": "Principal name for DataNode. _HOST will get automatically replaced with actual hostname at every instance of DataNode",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "DataNode",
+      "component": "DATANODE"
+    },
+    {
+      "id": "puppet var",
+      "name": "datanode_keytab",
+      "displayName": "Path to Keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/dn.service.keytab",
+      "description": "Path to DataNode keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "DataNode",
+      "component": "DATANODE"
+    },
+    {
+      "id": "puppet var",
+      "name": "hadoop_http_principal_name",
+      "displayName": "DFS Web Principal name",
+      "value": "",
+      "defaultValue": "HTTP/_HOST",
+      "description": "Principal name for spnego access for NameNode and SNameNode. _HOST will get automatically replaced with actual hostname at instance of NameNode and SNameNode",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "General"
+    },
+    {
+      "id": "puppet var",
+      "name": "hadoop_http_keytab",
+      "displayName": "Path to spnego keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/spnego.service.keytab",
+      "description": "Path to spnego keytab file for NameNode and SNameNode",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HDFS",
+      "category": "General"
+    },
+    //MAPREDUCE 2
+    {
+      "id": "puppet var",
+      "name": "jobhistoryserver_host",
+      "displayName": "Job History Server",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run JobHistoryServer",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "MAPREDUCE2",
+      "category": "JobHistoryServer"
+    },
+    {
+      "id": "puppet var",
+      "name": "jobhistory_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "jhs/_HOST",
+      "description": "Principal name for Job History Server. _HOST will get automatically replaced with actual hostname at an instance of Job History Server",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "MAPREDUCE2",
+      "category": "JobHistoryServer",
+      "component": "HISTORYSERVER"
+    },
+    {
+      "id": "puppet var",
+      "name": "jobhistory_keytab",
+      "displayName": "Path to keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/jhs.service.keytab",
+      "description": "Path to Job History Server keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "MAPREDUCE2",
+      "category": "JobHistoryServer",
+      "component": "HISTORYSERVER"
+    },
+    //YARN
+    {
+      "id": "puppet var",
+      "name": "resourcemanager_host",
+      "displayName": "Resource Manager",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run Resource Manager",
+      "displayType": "masterHost",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "YARN",
+      "category": "ResourceManager"
+    },
+    {
+      "id": "puppet var",
+      "name": "resourcemanager_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "rs/_HOST",
+      "description": "Principal name for Resource Manager. _HOST will get automatically replaced with actual hostname at an instance of Resource Manager",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "YARN",
+      "category": "ResourceManager",
+      "component": "RESOURCEMANAGER"
+    },
+    {
+      "id": "puppet var",
+      "name": "resourcemanager_keytab",
+      "displayName": "Path to keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/rs.service.keytab",
+      "description": "Path to Resource Manager keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "YARN",
+      "category": "ResourceManager",
+      "component": "RESOURCEMANAGER"
+    },
+    {
+      "id": "puppet var",
+      "name": "nodemanager_host",
+      "displayName": "Node Manager",
+      "value": "",
+      "defaultValue": "",
+      "description": "The hosts that has been assigned to run Node Manager",
+      "displayType": "slaveHosts",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+    {
+      "id": "puppet var",
+      "name": "nodemanager_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "nm/_HOST",
+      "description": "Principal name for Node Manager. _HOST will get automatically replaced with actual hostname at all instances of Node Manager",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "YARN",
+      "category": "NodeManager",
+      "component": "NODEMANAGER"
+    },
+    {
+      "id": "puppet var",
+      "name": "nodemanager_keytab",
+      "displayName": "Path to keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/nm.service.keytab",
+      "description": "Path to Node Manager keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "YARN",
+      "category": "NodeManager",
+      "component": "NODEMANAGER"
+    },
+    {
+      "id": "puppet var",
+      "name": "yarn_nodemanager_container-executor_class",
+      "displayName": "yarn.nodemanager.container-executor.class",
+      "value": "",
+      "defaultValue": "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor",
+      "description": "Executor(launcher) of the containers",
+      "displayType": "advanced",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "YARN",
+      "category": "NodeManager"
+    },
+
+    //WEBHCAT
+    {
+      "id": "puppet var",
+      "name": "webhcatserver_host",
+      "displayName": "WebHCat Server host",
+      "value": "",
+      "defaultValue": "localhost",
+      "description": "The host that has been assigned to run WebHCat Server",
+      "displayType": "masterHost",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "WEBHCAT",
+      "category": "WebHCat Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "webHCat_http_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "HTTP/_HOST",
+      "description": "Principal name for spnego access for WebHCat",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "WEBHCAT",
+      "category": "WebHCat Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "webhcat_http_keytab",
+      "displayName": "Path to keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/spnego.service.keytab",
+      "description": "Path to spnego keytab file for WebHCat",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "WEBHCAT",
+      "category": "WebHCat Server"
+    },
+    //HBASE
+    {
+      "id": "puppet var",
+      "name": "hbasemaster_host",
+      "displayName": "HBase Master hosts",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run HBase Master",
+      "displayType": "masterHosts",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "HBASE",
+      "category": "HBase Master"
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_master_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "hbase/_HOST",
+      "description": "Principal name for HBase master. _HOST will get automatically replaced with actual hostname at an instance of HBase Master",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HBASE",
+      "category": "HBase Master",
+      "components": ["HBASE_MASTER"]
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_master_keytab",
+      "displayName": "Path to Keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/hbase.service.keytab",
+      "description": "Path to HBase master keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HBASE",
+      "category": "HBase Master",
+      "components": ["HBASE_MASTER"]
+    },
+    {
+      "id": "puppet var",
+      "name": "regionserver_hosts",
+      "displayName": "RegionServer hosts",
+      "value": "",
+      "defaultValue": "",
+      "description": "The hosts that have been assigned to run RegionServer",
+      "displayType": "slaveHosts",
+      "isOverridable": false,
+      "isVisible": true,
+      "serviceName": "HBASE",
+      "category": "RegionServer"
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_regionserver_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "hbase/_HOST",
+      "description": "Principal name for HBase RegionServer. _HOST will get automatically replaced with actual hostname at every instance of RegionServer",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HBASE",
+      "category": "RegionServer",
+      "components": ["HBASE_REGIONSERVER"]
+    },
+    {
+      "id": "puppet var",
+      "name": "hbase_regionserver_keytab",
+      "displayName": "Path to Keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/hbase.service.keytab",
+      "description": "Path to HBase RegionServer keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HBASE",
+    },
+
+    //HIVE
+    {
+      "id": "puppet var",
+      "name": "hive_metastore",
+      "displayName": "Hive Metastore host",
+      "value": "",
+      "defaultValue": "localhost",
+      "description": "The host that has been assigned to run Hive Metastore and HiveServer2",
+      "displayType": "masterHost",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HIVE",
+      "category": "Hive Metastore"
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_metastore_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "hive/_HOST",
+      "description": "Principal name for Hive Metastore and HiveServer2. _HOST will get automatically replaced with actual hostname at an instance of Hive Metastore and HiveServer2",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "component": "HIVE_SERVER"
+    },
+    {
+      "id": "puppet var",
+      "name": "hive_metastore_keytab",
+      "displayName": "Path to Keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/hive.service.keytab",
+      "description": "Path to Hive Metastore and HiveServer2 keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "HIVE",
+      "category": "Hive Metastore",
+      "component": "HIVE_SERVER"
+    },
+
+    //OOZIE
+    {
+      "id": "puppet var",
+      "name": "oozie_servername",
+      "displayName": "Oozie Server host",
+      "value": "",
+      "defaultValue": "localhost",
+      "description": "Oozie server host name",
+      "displayType": "masterHost",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "OOZIE",
+      "category": "Oozie Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "oozie/_HOST",
+      "description": "Principal name for Oozie server",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "component": "OOZIE_SERVER"
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_keytab",
+      "displayName": "Path to keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/oozie.service.keytab",
+      "description": "Path to Oozie server keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "OOZIE",
+      "category": "Oozie Server",
+      "component": "OOZIE_SERVER"
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_http_principal_name",
+      "displayName": "Oozie Web Principal name",
+      "value": "",
+      "defaultValue": "HTTP/_HOST",
+      "description": "Principal name for spnego access for Oozie",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "OOZIE",
+      "category": "Oozie Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "oozie_http_keytab",
+      "displayName": "Path to spnego keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/spnego.service.keytab",
+      "description": "Path to spnego keytab file for oozie",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "OOZIE",
+      "category": "Oozie Server"
+    },
+
+    //ZooKeeper
+    {
+      "id": "puppet var",
+      "name": "zookeeperserver_hosts",
+      "displayName": "ZooKeeper Server hosts",
+      "value": "",
+      "defaultValue": "",
+      "description": "The host that has been assigned to run ZooKeeper Server",
+      "displayType": "masterHosts",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "zookeeper_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "zookeeper/_HOST",
+      "description": "Principal name for ZooKeeper. _HOST will get automatically replaced with actual hostname at every instance of zookeeper server",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server",
+      "component": "ZOOKEEPER_SERVER"
+    },
+    {
+      "id": "puppet var",
+      "name": "zookeeper_keytab_path",
+      "displayName": "Path to keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/zk.service.keytab",
+      "description": "Path to ZooKeeper keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "ZOOKEEPER",
+      "category": "ZooKeeper Server",
+      "component": "ZOOKEEPER_SERVER"
+    },
+    //NAGIOS
+    {
+      "id": "puppet var",
+      "name": "nagios_server",
+      "displayName": "Nagios Server host",
+      "value": "",
+      "defaultValue": "localhost",
+      "description": "Nagios server host",
+      "displayType": "masterHost",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "NAGIOS",
+      "category": "Nagios Server"
+    },
+    {
+      "id": "puppet var",
+      "name": "nagios_principal_name",
+      "displayName": "Principal name",
+      "value": "",
+      "defaultValue": "nagios",
+      "description": "Primary name for Nagios server",
+      "displayType": "principal",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "NAGIOS",
+      "category": "Nagios Server",
+      "component": "NAGIOS_SERVER"
+    },
+    {
+      "id": "puppet var",
+      "name": "nagios_keytab_path",
+      "displayName": " Path to keytab file",
+      "value": "",
+      "defaultValue": "/etc/security/keytabs/nagios.service.keytab",
+      "description": "Path to the Nagios server keytab file",
+      "displayType": "directory",
+      "isVisible": true,
+      "isOverridable": false,
+      "serviceName": "NAGIOS",
+      "category": "Nagios Server",
+      "component": "NAGIOS_SERVER"
+    }
+  ]
+};

+ 2 - 2
ambari-web/app/data/secure_configs.js

@@ -95,7 +95,7 @@ module.exports = [
     serviceName: 'ZOOKEEPER',
     displayName: 'ZooKeeper',
     configCategories: [
-      App.ServiceConfigCategory.create({ name: 'ZooKeeper Server'})
+      App.ServiceConfigCategory.create({ name: 'ZooKeeper Server', displayName: 'ZooKeeper Server'})
     ],
     configs: configProperties.filterProperty('serviceName', 'ZOOKEEPER')
 
@@ -105,7 +105,7 @@ module.exports = [
     displayName: 'Oozie',
     filename: 'oozie-site',
     configCategories: [
-      App.ServiceConfigCategory.create({ name: 'Oozie Server'})
+      App.ServiceConfigCategory.create({ name: 'Oozie Server', displayName:  'Oozie Server'})
     ],
     sites: ['oozie-site'],
     configs: configProperties.filterProperty('serviceName', 'OOZIE')

+ 2 - 2
ambari-web/app/data/secure_mapping.js

@@ -124,7 +124,7 @@ module.exports = [
   },
   {
     "name": "dfs.datanode.address",
-    "templateName": [],
+    "templateName": ["dfs_datanode_address"],
     "foreignKey": null,
     "value": "0.0.0.0:<templateName[0]>",
     "filename": "hdfs-site.xml",
@@ -132,7 +132,7 @@ module.exports = [
   },
   {
     "name": "dfs.datanode.http.address",
-    "templateName": [],
+    "templateName": ["dfs_datanode_http_address"],
     "foreignKey": null,
     "value": "0.0.0.0:<templateName[0]>",
     "filename": "hdfs-site.xml",

+ 7 - 0
ambari-web/app/models/service_config.js

@@ -287,6 +287,7 @@ App.ServiceConfigProperty = Ember.Object.extend({
         break;
       case 'dfs_name_dir':
       case 'dfs_data_dir':
+      case 'yarn_nodemanager_local-dirs':
       case 'mapred_local_dir':
         this.unionAllMountPoints(!isOnlyFirstOneNeeded, localDB);
         break;
@@ -344,6 +345,12 @@ App.ServiceConfigProperty = Ember.Object.extend({
           setOfHostNames.push(host.hostName);
         }, this);
         break;
+      case 'yarn_nodemanager_local-dirs':
+        temp = slaveComponentHostsInDB.findProperty('componentName', 'NODEMANAGER');
+        temp.hosts.forEach(function (host) {
+          setOfHostNames.push(host.hostName);
+        }, this);
+        break;
       case 'zk_data_dir':
         var components = masterComponentHostsInDB.filterProperty('component', 'ZOOKEEPER_SERVER');
         components.forEach(function (component) {

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

@@ -151,9 +151,10 @@ App.ServiceConfigsByCategoryView = Ember.View.extend({
           );
         }
       } else if (changedProperty.get("name") == "user_group") {
-        if (!(this.get("controller.selectedServiceNames").indexOf("MAPREDUCE") >= 0)) {
+        if (!((this.get("controller.selectedServiceNames").indexOf("MAPREDUCE") >= 0) || (this.get("controller.selectedServiceNames").indexOf("YARN") >= 0))) {
           return;
         }
+        if(this.get("controller.selectedServiceNames").indexOf("MAPREDUCE") >= 0) {
         curConfigs = stepConfigs.findProperty("serviceName", "MAPREDUCE").get("configs");
         if (newValue != curConfigs.findProperty("name", "mapreduce.tasktracker.group").get("value")) {
           this.affectedProperties.push(
@@ -179,6 +180,22 @@ App.ServiceConfigsByCategoryView = Ember.View.extend({
             }
           );
         }
+        }
+        if (this.get("controller.selectedServiceNames").indexOf("YARN") >= 0) {
+        curConfigs = stepConfigs.findProperty("serviceName", "YARN").get("configs");
+        if (newValue != curConfigs.findProperty("name", "yarn.nodemanager.linux-container-executor.group").get("value")) {
+          this.affectedProperties.push(
+            {
+              serviceName: "YARN",
+              propertyName: "yarn.nodemanager.linux-container-executor.group",
+              propertyDisplayName: "yarn.nodemanager.linux-container-executor.group",
+              newValue: newValue,
+              curValue: curConfigs.findProperty("name", "yarn.nodemanager.linux-container-executor.group").get("value"),
+              changedPropertyName: "user_group"
+            }
+          )
+        }
+        }
       }
       if (this.affectedProperties.length > 0 && !this.get("controller.miscModalVisible")) {
         this.newAffectedProperties = this.affectedProperties;