AMBARI-15793. Blueprint: Presence/absence of HiveServer2 Interactive component 
in the template should be validated against related configurations


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

Branch: refs/heads/trunk
Commit: 88984efde16cd3bfd32616db454abab56f818c7d
Parents: 55e5a78
Author: Sumit Mohanty <smoha...@hortonworks.com>
Authored: Sun Apr 10 17:45:20 2016 -0700
Committer: Sumit Mohanty <smoha...@hortonworks.com>
Committed: Sun Apr 10 17:45:20 2016 -0700

----------------------------------------------------------------------
 .../stacks/HDP/2.5/services/stack_advisor.py    |  105 +-
 .../python/stacks/2.5/common/host-3-hosts.json  |  269 +++++
 .../2.5/common/services-normal-his-2-hosts.json | 1131 ++++++++++++++++++
 .../2.5/common/services-normal-his-valid.json   | 1131 ++++++++++++++++++
 .../stacks/2.5/common/test_stack_advisor.py     |  168 +++
 5 files changed, 2802 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/88984efd/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py 
b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
index 9050092..a3009ee 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
@@ -19,15 +19,110 @@ limitations under the License.
 
 
 class HDP25StackAdvisor(HDP24StackAdvisor):
+  def createComponentLayoutRecommendations(self, services, hosts):
+    parentComponentLayoutRecommendations = super(HDP25StackAdvisor, 
self).createComponentLayoutRecommendations(
+      services, hosts)
+    return parentComponentLayoutRecommendations
+
+  def getComponentLayoutValidations(self, services, hosts):
+    parentItems = super(HDP25StackAdvisor, 
self).getComponentLayoutValidations(services, hosts)
+    servicesList = [service["StackServices"]["service_name"] for service in 
services["services"]]
+    componentsListList = [service["components"] for service in 
services["services"]]
+    componentsList = [item["StackServiceComponents"] for sublist in 
componentsListList for item in sublist]
+    childItems = []
+
+    if "HIVE" in servicesList:
+      hsi_hosts = self.__getHosts(componentsList, "HIVE_SERVER_INTERACTIVE")
+      if len(hsi_hosts) > 1:
+        message = "Only one host can install HIVE_SERVER_INTERACTIVE. "
+        childItems.append(
+          {"type": 'host-component', "level": 'ERROR', "message": message, 
"component-name": 'HIVE_SERVER_INTERACTIVE'})
+        print '3329'
+
+    parentItems.extend(childItems)
+    return parentItems
+
+  def getServiceConfigurationValidators(self):
+    parentValidators = super(HDP25StackAdvisor, 
self).getServiceConfigurationValidators()
+    childValidators = {
+      "HIVE": {"hive-interactive-env": 
self.validateHiveInteractiveEnvConfigurations}
+    }
+    self.mergeValidators(parentValidators, childValidators)
+    return parentValidators
+
+  def validateHiveInteractiveEnvConfigurations(self, properties, 
recommendedDefaults, configurations, services, hosts):
+    hive_site_env_properties = getSiteProperties(configurations, 
"hive-interactive-env")
+    servicesList = [service["StackServices"]["service_name"] for service in 
services["services"]]
+    componentsListList = [service["components"] for service in 
services["services"]]
+    componentsList = [item["StackServiceComponents"] for sublist in 
componentsListList for item in sublist]
+    validationItems = []
+
+    if "HIVE" in servicesList:
+      hsi_hosts = self.__getHosts(componentsList, "HIVE_SERVER_INTERACTIVE")
+      if len(hsi_hosts) > 0:
+        # HIVE_SERVER_INTERACTIVE is mapped to a host
+        if 'enable_hive_interactive' not in hive_site_env_properties or (
+                'enable_hive_interactive' in hive_site_env_properties and 
hive_site_env_properties[
+              'enable_hive_interactive'].lower() != 'true'):
+          validationItems.append({"config-name": "enable_hive_interactive",
+                                  "item": self.getWarnItem(
+                                    "HIVE_SERVER_INTERACTIVE requires 
enable_hive_interactive in hive-interactive-env set to true.")})
+        if 'hive_server_interactive_host' in hive_site_env_properties:
+          hsi_host = hsi_hosts[0]
+          if hive_site_env_properties['hive_server_interactive_host'].lower() 
!= hsi_host.lower():
+            validationItems.append({"config-name": 
"hive_server_interactive_host",
+                                    "item": self.getWarnItem(
+                                      "HIVE_SERVER_INTERACTIVE requires 
hive_server_interactive_host in hive-interactive-env set to its host name.")})
+          pass
+        if 'hive_server_interactive_host' not in hive_site_env_properties:
+          validationItems.append({"config-name": 
"hive_server_interactive_host",
+                                  "item": self.getWarnItem(
+                                    "HIVE_SERVER_INTERACTIVE requires 
hive_server_interactive_host in hive-interactive-env set to its host name.")})
+          pass
+
+    else:
+      # no  HIVE_SERVER_INTERACTIVE
+      if 'enable_hive_interactive' in hive_site_env_properties and 
hive_site_env_properties[
+        'enable_hive_interactive'].lower() != 'false':
+        validationItems.append({"config-name": "enable_hive_interactive",
+                                "item": self.getWarnItem(
+                                  "enable_hive_interactive in 
hive-interactive-env should be set to false.")})
+        pass
+      pass
+
+    validationProblems = 
self.toConfigurationValidationProblems(validationItems, "hdfs-site")
+    return validationProblems
+
 
   def getServiceConfigurationRecommenderDict(self):
     parentRecommendConfDict = super(HDP25StackAdvisor, 
self).getServiceConfigurationRecommenderDict()
     childRecommendConfDict = {
-      "RANGER": self.recommendRangerConfigurations
+      "RANGER": self.recommendRangerConfigurations,
+      "HIVE": self.recommendHIVEConfigurations
     }
     parentRecommendConfDict.update(childRecommendConfDict)
     return parentRecommendConfDict
 
+
+  def recommendHIVEConfigurations(self, configurations, clusterData, services, 
hosts):
+    super(HDP23StackAdvisor, self).recommendHIVEConfigurations(configurations, 
clusterData, services, hosts)
+    putHiveInteractiveEnvProperty = self.putProperty(configurations, 
"hive-interactive-env", services)
+    servicesList = [service["StackServices"]["service_name"] for service in 
services["services"]]
+    componentsListList = [service["components"] for service in 
services["services"]]
+    componentsList = [item["StackServiceComponents"] for sublist in 
componentsListList for item in sublist]
+
+    if "HIVE" in servicesList:
+      hsi_hosts = self.__getHosts(componentsList, "HIVE_SERVER_INTERACTIVE")
+      if len(hsi_hosts) > 0:
+        hsi_host = hsi_hosts[0]
+        putHiveInteractiveEnvProperty('enable_hive_interactive', 'true')
+        putHiveInteractiveEnvProperty('hive_server_interactive_host', hsi_host)
+      else:
+        putHiveInteractiveEnvProperty('enable_hive_interactive', 'false')
+      pass
+    pass
+
+
   def recommendRangerConfigurations(self, configurations, clusterData, 
services, hosts):
     super(HDP25StackAdvisor, 
self).recommendRangerConfigurations(configurations, clusterData, services, 
hosts)
     servicesList = [service["StackServices"]["service_name"] for service in 
services["services"]]
@@ -44,7 +139,8 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
     if 'KAFKA' in servicesList:
       kafka_hosts = self.getHostNamesWithComponent("KAFKA", "KAFKA_BROKER", 
services)
       kafka_port = '6667'
-      if 'kafka-broker' in services['configurations'] and ('port' in 
services['configurations']['kafka-broker']['properties']):
+      if 'kafka-broker' in services['configurations'] and (
+            'port' in 
services['configurations']['kafka-broker']['properties']):
         kafka_port = 
services['configurations']['kafka-broker']['properties']['port']
       kafka_host_port = []
       for i in range(len(kafka_hosts)):
@@ -54,3 +150,8 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
       putTagsyncAppProperty('atlas.kafka.bootstrap.servers', final_kafka_host)
     else:
       putTagsyncAppProperty('atlas.kafka.bootstrap.servers', 'localhost:2181')
+
+
+  def __getHosts(self, componentsList, componentName):
+    return [component["hostnames"] for component in componentsList if 
component["component_name"] == componentName][0]
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/88984efd/ambari-server/src/test/python/stacks/2.5/common/host-3-hosts.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.5/common/host-3-hosts.json 
b/ambari-server/src/test/python/stacks/2.5/common/host-3-hosts.json
new file mode 100644
index 0000000..3c0511e
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.5/common/host-3-hosts.json
@@ -0,0 +1,269 @@
+{
+  "href" : 
"/api/v1/hosts?fields=Hosts/*&Hosts/host_name.in(c6401.ambari.apache.org,c6402.ambari.apache.org,c6403.ambari.apache.org)",
+  "items" : [
+    {
+      "href" : "/api/v1/hosts/c6401.ambari.apache.org",
+      "Hosts" : {
+        "cpu_count" : 1,
+        "desired_configs" : null,
+        "disk_info" : [
+          {
+            "available" : "481199416",
+            "device" : "/dev/mapper/VolGroup-lv_root",
+            "used" : "5714440",
+            "percent" : "2%",
+            "size" : "512971376",
+            "type" : "ext4",
+            "mountpoint" : "/"
+          },
+          {
+            "available" : "1478456",
+            "device" : "tmpfs",
+            "used" : "0",
+            "percent" : "0%",
+            "size" : "1478456",
+            "type" : "tmpfs",
+            "mountpoint" : "/dev/shm"
+          },
+          {
+            "available" : "438284",
+            "device" : "/dev/sda1",
+            "used" : "31960",
+            "percent" : "7%",
+            "size" : "495844",
+            "type" : "ext4",
+            "mountpoint" : "/boot"
+          },
+          {
+            "available" : "191426876",
+            "device" : "vagrant",
+            "used" : "295661344",
+            "percent" : "61%",
+            "size" : "487088220",
+            "type" : "vboxsf",
+            "mountpoint" : "/vagrant"
+          }
+        ],
+        "host_health_report" : "",
+        "host_name" : "c6401.ambari.apache.org",
+        "host_state" : "HEALTHY",
+        "host_status" : "HEALTHY",
+        "ip" : "192.168.64.101",
+        "last_agent_env" : {
+          "stackFoldersAndFiles" : [ ],
+          "alternatives" : [ ],
+          "existingUsers" : [ ],
+          "existingRepos" : [ ],
+          "installedPackages" : [ ],
+          "hostHealth" : {
+            "activeJavaProcs" : [ ],
+            "agentTimeStampAtReporting" : 1445290054919,
+            "serverTimeStampAtReporting" : 1445290054980,
+            "liveServices" : [
+              {
+                "desc" : "",
+                "name" : "ntpd",
+                "status" : "Healthy"
+              }
+            ]
+          },
+          "umask" : 18,
+          "transparentHugePage" : "always",
+          "firewallRunning" : false,
+          "firewallName" : "iptables",
+          "reverseLookup" : true
+        },
+        "last_heartbeat_time" : 1445290077648,
+        "last_registration_time" : 1445289898391,
+        "os_arch" : "x86_64",
+        "os_family" : "redhat6",
+        "os_type" : "centos6",
+        "ph_cpu_count" : 1,
+        "public_host_name" : "c6401.ambari.apache.org",
+        "rack_info" : "/default-rack",
+        "recovery_report" : {
+          "summary" : "DISABLED",
+          "component_reports" : [ ]
+        },
+        "recovery_summary" : "DISABLED",
+        "total_mem" : 2956916
+      }
+    },
+    {
+      "href" : "/api/v1/hosts/c6402.ambari.apache.org",
+      "Hosts" : {
+        "cpu_count" : 1,
+        "desired_configs" : null,
+        "disk_info" : [
+          {
+            "available" : "482615388",
+            "device" : "/dev/mapper/VolGroup-lv_root",
+            "used" : "4298468",
+            "percent" : "1%",
+            "size" : "512971376",
+            "type" : "ext4",
+            "mountpoint" : "/"
+          },
+          {
+            "available" : "1478456",
+            "device" : "tmpfs",
+            "used" : "0",
+            "percent" : "0%",
+            "size" : "1478456",
+            "type" : "tmpfs",
+            "mountpoint" : "/dev/shm"
+          },
+          {
+            "available" : "438284",
+            "device" : "/dev/sda1",
+            "used" : "31960",
+            "percent" : "7%",
+            "size" : "495844",
+            "type" : "ext4",
+            "mountpoint" : "/boot"
+          },
+          {
+            "available" : "191430912",
+            "device" : "vagrant",
+            "used" : "295657308",
+            "percent" : "61%",
+            "size" : "487088220",
+            "type" : "vboxsf",
+            "mountpoint" : "/vagrant"
+          }
+        ],
+        "host_health_report" : "",
+        "host_name" : "c6402.ambari.apache.org",
+        "host_state" : "HEALTHY",
+        "host_status" : "HEALTHY",
+        "ip" : "192.168.64.102",
+        "last_agent_env" : {
+          "stackFoldersAndFiles" : [ ],
+          "alternatives" : [ ],
+          "existingUsers" : [ ],
+          "existingRepos" : [ ],
+          "installedPackages" : [ ],
+          "hostHealth" : {
+            "activeJavaProcs" : [ ],
+            "agentTimeStampAtReporting" : 1445290076132,
+            "serverTimeStampAtReporting" : 1445290076343,
+            "liveServices" : [
+              {
+                "desc" : "",
+                "name" : "ntpd",
+                "status" : "Healthy"
+              }
+            ]
+          },
+          "umask" : 18,
+          "transparentHugePage" : "always",
+          "firewallRunning" : false,
+          "firewallName" : "iptables",
+          "reverseLookup" : true
+        },
+        "last_heartbeat_time" : 1445290086404,
+        "last_registration_time" : 1445290032489,
+        "os_arch" : "x86_64",
+        "os_family" : "redhat6",
+        "os_type" : "centos6",
+        "ph_cpu_count" : 1,
+        "public_host_name" : "c6402.ambari.apache.org",
+        "rack_info" : "/default-rack",
+        "recovery_report" : {
+          "summary" : "DISABLED",
+          "component_reports" : [ ]
+        },
+        "recovery_summary" : "DISABLED",
+        "total_mem" : 2956916
+      }
+    },
+    {
+      "href" : "/api/v1/hosts/c6403.ambari.apache.org",
+      "Hosts" : {
+        "cpu_count" : 1,
+        "desired_configs" : null,
+        "disk_info" : [
+          {
+            "available" : "482615388",
+            "device" : "/dev/mapper/VolGroup-lv_root",
+            "used" : "4298468",
+            "percent" : "1%",
+            "size" : "512971376",
+            "type" : "ext4",
+            "mountpoint" : "/"
+          },
+          {
+            "available" : "1478456",
+            "device" : "tmpfs",
+            "used" : "0",
+            "percent" : "0%",
+            "size" : "1478456",
+            "type" : "tmpfs",
+            "mountpoint" : "/dev/shm"
+          },
+          {
+            "available" : "438284",
+            "device" : "/dev/sda1",
+            "used" : "31960",
+            "percent" : "7%",
+            "size" : "495844",
+            "type" : "ext4",
+            "mountpoint" : "/boot"
+          },
+          {
+            "available" : "191430912",
+            "device" : "vagrant",
+            "used" : "295657308",
+            "percent" : "61%",
+            "size" : "487088220",
+            "type" : "vboxsf",
+            "mountpoint" : "/vagrant"
+          }
+        ],
+        "host_health_report" : "",
+        "host_name" : "c6403.ambari.apache.org",
+        "host_state" : "HEALTHY",
+        "host_status" : "HEALTHY",
+        "ip" : "192.168.64.103",
+        "last_agent_env" : {
+          "stackFoldersAndFiles" : [ ],
+          "alternatives" : [ ],
+          "existingUsers" : [ ],
+          "existingRepos" : [ ],
+          "installedPackages" : [ ],
+          "hostHealth" : {
+            "activeJavaProcs" : [ ],
+            "agentTimeStampAtReporting" : 1445290073223,
+            "serverTimeStampAtReporting" : 1445290073435,
+            "liveServices" : [
+              {
+                "desc" : "",
+                "name" : "ntpd",
+                "status" : "Healthy"
+              }
+            ]
+          },
+          "umask" : 18,
+          "transparentHugePage" : "always",
+          "firewallRunning" : false,
+          "firewallName" : "iptables",
+          "reverseLookup" : true
+        },
+        "last_heartbeat_time" : 1445290083492,
+        "last_registration_time" : 1445290030522,
+        "os_arch" : "x86_64",
+        "os_family" : "redhat6",
+        "os_type" : "centos6",
+        "ph_cpu_count" : 1,
+        "public_host_name" : "c6403.ambari.apache.org",
+        "rack_info" : "/default-rack",
+        "recovery_report" : {
+          "summary" : "DISABLED",
+          "component_reports" : [ ]
+        },
+        "recovery_summary" : "DISABLED",
+        "total_mem" : 2956916
+      }
+    }
+  ]
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/88984efd/ambari-server/src/test/python/stacks/2.5/common/services-normal-his-2-hosts.json
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.5/common/services-normal-his-2-hosts.json
 
b/ambari-server/src/test/python/stacks/2.5/common/services-normal-his-2-hosts.json
new file mode 100644
index 0000000..dcf6d26
--- /dev/null
+++ 
b/ambari-server/src/test/python/stacks/2.5/common/services-normal-his-2-hosts.json
@@ -0,0 +1,1131 @@
+{
+  "href" : 
"/api/v1/stacks/HDP/versions/2.5/?fields=Versions/stack_name,Versions/stack_version,Versions/parent_stack_version,services/StackServices/service_name,services/StackServices/service_version,services/components/StackServiceComponents,services/components/dependencies,services/components/auto_deploy,services/configurations/StackConfigurations/property_depends_on,services/configurations/dependencies/StackConfigurationDependency/dependency_name,services/configurations/dependencies/StackConfigurationDependency/dependency_type,services/configurations/StackConfigurations/type&services/StackServices/service_name.in(HDFS,YARN,MAPREDUCE2,TEZ,HIVE,PIG,ZOOKEEPER,SLIDER)",
+  "Versions" : {
+    "parent_stack_version" : "2.4",
+    "stack_name" : "HDP",
+    "stack_version" : "2.5",
+    "stack_hierarchy" : {
+      "stack_name" : "HDP",
+      "stack_versions" : [ "2.4", "2.3", "2.2", "2.1", "2.0.6" ]
+    }
+  },
+  "services" : [ {
+    "href" : "/api/v1/stacks/HDP/versions/2.5/services/HDFS",
+    "StackServices" : {
+      "service_name" : "HDFS",
+      "service_version" : "2.7.1.2.5",
+      "stack_name" : "HDP",
+      "stack_version" : "2.5"
+    },
+    "components" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/DATANODE",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "DataNodes",
+        "bulk_commands_master_component_name" : "NAMENODE",
+        "cardinality" : "1+",
+        "component_category" : "SLAVE",
+        "component_name" : "DATANODE",
+        "custom_commands" : [ ],
+        "decommission_allowed" : true,
+        "display_name" : "DataNode",
+        "has_bulk_commands_definition" : true,
+        "is_client" : false,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "HDFS",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/HDFS_CLIENT",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "CLIENT",
+        "component_name" : "HDFS_CLIENT",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "HDFS Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "HDFS",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/JOURNALNODE",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0+",
+        "component_category" : "SLAVE",
+        "component_name" : "JOURNALNODE",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "JournalNode",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "HDFS",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/JOURNALNODE/dependencies/HDFS_CLIENT",
+        "Dependencies" : {
+          "component_name" : "HDFS_CLIENT",
+          "dependent_component_name" : "JOURNALNODE",
+          "dependent_service_name" : "HDFS",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/NAMENODE",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1-2",
+        "component_category" : "MASTER",
+        "component_name" : "NAMENODE",
+        "custom_commands" : [ "DECOMMISSION", "REBALANCEHDFS" ],
+        "decommission_allowed" : false,
+        "display_name" : "NameNode",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "HDFS",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/NFS_GATEWAY",
+      "StackServiceComponents" : {
+        "advertise_version" : false,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0+",
+        "component_category" : "SLAVE",
+        "component_name" : "NFS_GATEWAY",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "NFSGateway",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "HDFS",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ ]
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/NFS_GATEWAY/dependencies/HDFS_CLIENT",
+        "Dependencies" : {
+          "component_name" : "HDFS_CLIENT",
+          "dependent_component_name" : "NFS_GATEWAY",
+          "dependent_service_name" : "HDFS",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/SECONDARY_NAMENODE",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1",
+        "component_category" : "MASTER",
+        "component_name" : "SECONDARY_NAMENODE",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "SNameNode",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "HDFS",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : "/api/v1/stacks/HDP/versions/2.5/services/HDFS/components/ZKFC",
+      "StackServiceComponents" : {
+        "advertise_version" : false,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0+",
+        "component_category" : "SLAVE",
+        "component_name" : "ZKFC",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "ZKFailoverController",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "HDFS",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    } ],
+    "configurations" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HDFS/configurations/REPOSITORY_CONFIG_PASSWORD",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "REPOSITORY_CONFIG_PASSWORD",
+        "service_name" : "HDFS",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "ranger-hdfs-plugin-properties.xml"
+      },
+      "dependencies" : [ ]
+    } ]
+  }, {
+    "href" : "/api/v1/stacks/HDP/versions/2.5/services/HIVE",
+    "StackServices" : {
+      "service_name" : "HIVE",
+      "service_version" : "1.2.1.2.5",
+      "stack_name" : "HDP",
+      "stack_version" : "2.5"
+    },
+    "components" : [ {
+      "href" : "/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HCAT",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0+",
+        "component_category" : "CLIENT",
+        "component_name" : "HCAT",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "HCat Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "HIVE",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_CLIENT",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "CLIENT",
+        "component_name" : "HIVE_CLIENT",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "Hive Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "HIVE",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_METASTORE",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "MASTER",
+        "component_name" : "HIVE_METASTORE",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "Hive Metastore",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "HIVE",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "auto_deploy" : {
+        "enabled" : true,
+        "location" : "HIVE/HIVE_SERVER"
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "MASTER",
+        "component_name" : "HIVE_SERVER",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "HiveServer2",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "HIVE",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER/dependencies/MAPREDUCE2_CLIENT",
+        "Dependencies" : {
+          "component_name" : "MAPREDUCE2_CLIENT",
+          "dependent_component_name" : "HIVE_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER/dependencies/TEZ_CLIENT",
+        "Dependencies" : {
+          "component_name" : "TEZ_CLIENT",
+          "dependent_component_name" : "HIVE_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER/dependencies/YARN_CLIENT",
+        "Dependencies" : {
+          "component_name" : "YARN_CLIENT",
+          "dependent_component_name" : "HIVE_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER/dependencies/ZOOKEEPER_SERVER",
+        "Dependencies" : {
+          "component_name" : "ZOOKEEPER_SERVER",
+          "dependent_component_name" : "HIVE_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER_INTERACTIVE",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0-1",
+        "component_category" : "MASTER",
+        "component_name" : "HIVE_SERVER_INTERACTIVE",
+        "custom_commands" : [ "RESTART_LLAP" ],
+        "decommission_allowed" : false,
+        "display_name" : "HiveServer2 Interactive",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "HIVE",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6401.ambari.apache.org", "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER_INTERACTIVE/dependencies/HDFS_CLIENT",
+        "Dependencies" : {
+          "component_name" : "HDFS_CLIENT",
+          "dependent_component_name" : "HIVE_SERVER_INTERACTIVE",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER_INTERACTIVE/dependencies/MAPREDUCE2_CLIENT",
+        "Dependencies" : {
+          "component_name" : "MAPREDUCE2_CLIENT",
+          "dependent_component_name" : "HIVE_SERVER_INTERACTIVE",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER_INTERACTIVE/dependencies/PIG",
+        "Dependencies" : {
+          "component_name" : "PIG",
+          "dependent_component_name" : "HIVE_SERVER_INTERACTIVE",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER_INTERACTIVE/dependencies/SLIDER",
+        "Dependencies" : {
+          "component_name" : "SLIDER",
+          "dependent_component_name" : "HIVE_SERVER_INTERACTIVE",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER_INTERACTIVE/dependencies/TEZ_CLIENT",
+        "Dependencies" : {
+          "component_name" : "TEZ_CLIENT",
+          "dependent_component_name" : "HIVE_SERVER_INTERACTIVE",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER_INTERACTIVE/dependencies/YARN_CLIENT",
+        "Dependencies" : {
+          "component_name" : "YARN_CLIENT",
+          "dependent_component_name" : "HIVE_SERVER_INTERACTIVE",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/HIVE_SERVER_INTERACTIVE/dependencies/ZOOKEEPER_SERVER",
+        "Dependencies" : {
+          "component_name" : "ZOOKEEPER_SERVER",
+          "dependent_component_name" : "HIVE_SERVER_INTERACTIVE",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/MYSQL_SERVER",
+      "StackServiceComponents" : {
+        "advertise_version" : false,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0-1",
+        "component_category" : "MASTER",
+        "component_name" : "MYSQL_SERVER",
+        "custom_commands" : [ "CLEAN" ],
+        "decommission_allowed" : false,
+        "display_name" : "MySQL Server",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "HIVE",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/WEBHCAT_SERVER",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "MASTER",
+        "component_name" : "WEBHCAT_SERVER",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "WebHCat Server",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "HIVE",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/WEBHCAT_SERVER/dependencies/HDFS_CLIENT",
+        "Dependencies" : {
+          "component_name" : "HDFS_CLIENT",
+          "dependent_component_name" : "WEBHCAT_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/WEBHCAT_SERVER/dependencies/HIVE_CLIENT",
+        "Dependencies" : {
+          "component_name" : "HIVE_CLIENT",
+          "dependent_component_name" : "WEBHCAT_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/WEBHCAT_SERVER/dependencies/MAPREDUCE2_CLIENT",
+        "Dependencies" : {
+          "component_name" : "MAPREDUCE2_CLIENT",
+          "dependent_component_name" : "WEBHCAT_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/WEBHCAT_SERVER/dependencies/PIG",
+        "Dependencies" : {
+          "component_name" : "PIG",
+          "dependent_component_name" : "WEBHCAT_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/WEBHCAT_SERVER/dependencies/YARN_CLIENT",
+        "Dependencies" : {
+          "component_name" : "YARN_CLIENT",
+          "dependent_component_name" : "WEBHCAT_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/WEBHCAT_SERVER/dependencies/ZOOKEEPER_CLIENT",
+        "Dependencies" : {
+          "component_name" : "ZOOKEEPER_CLIENT",
+          "dependent_component_name" : "WEBHCAT_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/components/WEBHCAT_SERVER/dependencies/ZOOKEEPER_SERVER",
+        "Dependencies" : {
+          "component_name" : "ZOOKEEPER_SERVER",
+          "dependent_component_name" : "WEBHCAT_SERVER",
+          "dependent_service_name" : "HIVE",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    } ],
+    "configurations" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/HIVE/configurations/REPOSITORY_CONFIG_PASSWORD",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "REPOSITORY_CONFIG_PASSWORD",
+        "service_name" : "HIVE",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "ranger-hive-plugin-properties.xml"
+      },
+      "dependencies" : [ ]
+    } ]
+  }, {
+    "href" : "/api/v1/stacks/HDP/versions/2.5/services/MAPREDUCE2",
+    "StackServices" : {
+      "service_name" : "MAPREDUCE2",
+      "service_version" : "2.7.1.2.4",
+      "stack_name" : "HDP",
+      "stack_version" : "2.5"
+    },
+    "components" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/MAPREDUCE2/components/HISTORYSERVER",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1",
+        "component_category" : "MASTER",
+        "component_name" : "HISTORYSERVER",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "History Server",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "MAPREDUCE2",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "auto_deploy" : {
+        "enabled" : true,
+        "location" : "YARN/RESOURCEMANAGER"
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/MAPREDUCE2/components/HISTORYSERVER/dependencies/HDFS_CLIENT",
+        "Dependencies" : {
+          "component_name" : "HDFS_CLIENT",
+          "dependent_component_name" : "HISTORYSERVER",
+          "dependent_service_name" : "MAPREDUCE2",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/MAPREDUCE2/components/HISTORYSERVER/dependencies/TEZ_CLIENT",
+        "Dependencies" : {
+          "component_name" : "TEZ_CLIENT",
+          "dependent_component_name" : "HISTORYSERVER",
+          "dependent_service_name" : "MAPREDUCE2",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/MAPREDUCE2/components/MAPREDUCE2_CLIENT",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0+",
+        "component_category" : "CLIENT",
+        "component_name" : "MAPREDUCE2_CLIENT",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "MapReduce2 Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "MAPREDUCE2",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    } ],
+    "configurations" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/MAPREDUCE2/configurations/content",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "content",
+        "service_name" : "MAPREDUCE2",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "mapred-env.xml"
+      },
+      "dependencies" : [ ]
+    } ]
+  }, {
+    "href" : "/api/v1/stacks/HDP/versions/2.5/services/PIG",
+    "StackServices" : {
+      "service_name" : "PIG",
+      "service_version" : "0.15.0.2.5",
+      "stack_name" : "HDP",
+      "stack_version" : "2.5"
+    },
+    "components" : [ {
+      "href" : "/api/v1/stacks/HDP/versions/2.5/services/PIG/components/PIG",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0+",
+        "component_category" : "CLIENT",
+        "component_name" : "PIG",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "Pig Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "PIG",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    } ],
+    "configurations" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/PIG/configurations/content",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "content",
+        "service_name" : "PIG",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "pig-env.xml"
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/PIG/configurations/content",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "content",
+        "service_name" : "PIG",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "pig-log4j.xml"
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/PIG/configurations/content",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "content",
+        "service_name" : "PIG",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "pig-properties.xml"
+      },
+      "dependencies" : [ ]
+    } ]
+  }, {
+    "href" : "/api/v1/stacks/HDP/versions/2.5/services/SLIDER",
+    "StackServices" : {
+      "service_name" : "SLIDER",
+      "service_version" : "0.80.0.2.5",
+      "stack_name" : "HDP",
+      "stack_version" : "2.5"
+    },
+    "components" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/SLIDER/components/SLIDER",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "0+",
+        "component_category" : "CLIENT",
+        "component_name" : "SLIDER",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "Slider Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "SLIDER",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/SLIDER/components/SLIDER/dependencies/HDFS_CLIENT",
+        "Dependencies" : {
+          "component_name" : "HDFS_CLIENT",
+          "dependent_component_name" : "SLIDER",
+          "dependent_service_name" : "SLIDER",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/SLIDER/components/SLIDER/dependencies/YARN_CLIENT",
+        "Dependencies" : {
+          "component_name" : "YARN_CLIENT",
+          "dependent_component_name" : "SLIDER",
+          "dependent_service_name" : "SLIDER",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    } ],
+    "configurations" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/SLIDER/configurations/content",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "content",
+        "service_name" : "SLIDER",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "slider-env.xml"
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/SLIDER/configurations/content",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "content",
+        "service_name" : "SLIDER",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "slider-log4j.xml"
+      },
+      "dependencies" : [ ]
+    } ]
+  }, {
+    "href" : "/api/v1/stacks/HDP/versions/2.5/services/TEZ",
+    "StackServices" : {
+      "service_name" : "TEZ",
+      "service_version" : "0.7.0.2.5",
+      "stack_name" : "HDP",
+      "stack_version" : "2.5"
+    },
+    "components" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/TEZ/components/TEZ_CLIENT",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "CLIENT",
+        "component_name" : "TEZ_CLIENT",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "Tez Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "TEZ",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/TEZ/components/TEZ_CLIENT/dependencies/HDFS_CLIENT",
+        "Dependencies" : {
+          "component_name" : "HDFS_CLIENT",
+          "dependent_component_name" : "TEZ_CLIENT",
+          "dependent_service_name" : "TEZ",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/TEZ/components/TEZ_CLIENT/dependencies/MAPREDUCE2_CLIENT",
+        "Dependencies" : {
+          "component_name" : "MAPREDUCE2_CLIENT",
+          "dependent_component_name" : "TEZ_CLIENT",
+          "dependent_service_name" : "TEZ",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      }, {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/TEZ/components/TEZ_CLIENT/dependencies/YARN_CLIENT",
+        "Dependencies" : {
+          "component_name" : "YARN_CLIENT",
+          "dependent_component_name" : "TEZ_CLIENT",
+          "dependent_service_name" : "TEZ",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    } ],
+    "configurations" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/TEZ/configurations/content",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "content",
+        "service_name" : "TEZ",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "tez-env.xml"
+      },
+      "dependencies" : [ ]
+    } ]
+  }, {
+    "href" : "/api/v1/stacks/HDP/versions/2.5/services/YARN",
+    "StackServices" : {
+      "service_name" : "YARN",
+      "service_version" : "2.7.1.2.5",
+      "stack_name" : "HDP",
+      "stack_version" : "2.5"
+    },
+    "components" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/YARN/components/APP_TIMELINE_SERVER",
+      "StackServiceComponents" : {
+        "advertise_version" : false,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1",
+        "component_category" : "MASTER",
+        "component_name" : "APP_TIMELINE_SERVER",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "App Timeline Server",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "YARN",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/YARN/components/NODEMANAGER",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "NodeManagers",
+        "bulk_commands_master_component_name" : "RESOURCEMANAGER",
+        "cardinality" : "1+",
+        "component_category" : "SLAVE",
+        "component_name" : "NODEMANAGER",
+        "custom_commands" : [ ],
+        "decommission_allowed" : true,
+        "display_name" : "NodeManager",
+        "has_bulk_commands_definition" : true,
+        "is_client" : false,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "YARN",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/YARN/components/RESOURCEMANAGER",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1-2",
+        "component_category" : "MASTER",
+        "component_name" : "RESOURCEMANAGER",
+        "custom_commands" : [ "DECOMMISSION", "REFRESHQUEUES" ],
+        "decommission_allowed" : false,
+        "display_name" : "ResourceManager",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : true,
+        "recovery_enabled" : false,
+        "service_name" : "YARN",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ {
+        "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/YARN/components/RESOURCEMANAGER/dependencies/TEZ_CLIENT",
+        "Dependencies" : {
+          "component_name" : "TEZ_CLIENT",
+          "dependent_component_name" : "RESOURCEMANAGER",
+          "dependent_service_name" : "YARN",
+          "stack_name" : "HDP",
+          "stack_version" : "2.5"
+        }
+      } ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/YARN/components/YARN_CLIENT",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "CLIENT",
+        "component_name" : "YARN_CLIENT",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "YARN Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "YARN",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    } ],
+    "configurations" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/YARN/configurations/REPOSITORY_CONFIG_PASSWORD",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "REPOSITORY_CONFIG_PASSWORD",
+        "service_name" : "YARN",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "ranger-yarn-plugin-properties.xml"
+      },
+      "dependencies" : [ ]
+    } ]
+  }, {
+    "href" : "/api/v1/stacks/HDP/versions/2.5/services/ZOOKEEPER",
+    "StackServices" : {
+      "service_name" : "ZOOKEEPER",
+      "service_version" : "3.4.6.2.5",
+      "stack_name" : "HDP",
+      "stack_version" : "2.5"
+    },
+    "components" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/ZOOKEEPER/components/ZOOKEEPER_CLIENT",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "CLIENT",
+        "component_name" : "ZOOKEEPER_CLIENT",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "ZooKeeper Client",
+        "has_bulk_commands_definition" : false,
+        "is_client" : true,
+        "is_master" : false,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "ZOOKEEPER",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    }, {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/ZOOKEEPER/components/ZOOKEEPER_SERVER",
+      "StackServiceComponents" : {
+        "advertise_version" : true,
+        "bulk_commands_display_name" : "",
+        "bulk_commands_master_component_name" : "",
+        "cardinality" : "1+",
+        "component_category" : "MASTER",
+        "component_name" : "ZOOKEEPER_SERVER",
+        "custom_commands" : [ ],
+        "decommission_allowed" : false,
+        "display_name" : "ZooKeeper Server",
+        "has_bulk_commands_definition" : false,
+        "is_client" : false,
+        "is_master" : true,
+        "reassign_allowed" : false,
+        "recovery_enabled" : false,
+        "service_name" : "ZOOKEEPER",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "hostnames" : [ "c6402.ambari.apache.org" ]
+      },
+      "dependencies" : [ ]
+    } ],
+    "configurations" : [ {
+      "href" : 
"/api/v1/stacks/HDP/versions/2.5/services/ZOOKEEPER/configurations/autopurge.purgeInterval",
+      "StackConfigurations" : {
+        "property_depends_on" : [ ],
+        "property_name" : "autopurge.purgeInterval",
+        "service_name" : "ZOOKEEPER",
+        "stack_name" : "HDP",
+        "stack_version" : "2.5",
+        "type" : "zoo.cfg.xml"
+      },
+      "dependencies" : [ ]
+    } ]
+  } ],
+  "configurations" : { },
+  "changed-configurations" : [ ],
+  "ambari-server-properties" : {
+    "http.x-frame-options" : "DENY",
+    "server.stages.parallel" : "true",
+    "client.threadpool.size.max" : "25",
+    "mpacks.staging.path" : "/var/lib/ambari-server/resources/mpacks",
+    "server.os_family" : "redhat6",
+    "jdk1.7.home" : "/usr/jdk64/",
+    "views.request.read.timeout.millis" : "10000",
+    "ulimit.open.files" : "10000",
+    "common.services.path" : 
"/var/lib/ambari-server/resources/common-services",
+    "kerberos.keytab.cache.dir" : "/var/lib/ambari-server/data/cache",
+    "jdk.name" : "jdk-8u60-linux-x64.tar.gz",
+    "server.execution.scheduler.isClustered" : "false",
+    "bootstrap.script" : 
"/usr/lib/python2.6/site-packages/ambari_server/bootstrap.py",
+    "resources.dir" : "/var/lib/ambari-server/resources",
+    "server.version.file" : "/var/lib/ambari-server/resources/version",
+    "server.jdbc.user.passwd" : "/etc/ambari-server/conf/password.dat",
+    "user.inactivity.timeout.role.readonly.default" : "0",
+    "ambari.python.wrap" : "ambari-python-wrap",
+    "webapp.dir" : "/usr/lib/ambari-server/web",
+    "jdk1.8.home" : "/usr/jdk64/",
+    "agent.task.timeout" : "900",
+    "jdk1.8.dest-file" : "jdk-8u60-linux-x64.tar.gz",
+    "server.execution.scheduler.maxDbConnections" : "5",
+    "java.releases" : "jdk1.8,jdk1.7",
+    "jdk1.7.jcpol-url" : 
"http://public-repo-1.hortonworks.com/ARTIFACTS/UnlimitedJCEPolicyJDK7.zip";,
+    "server.jdbc.connection-pool" : "internal",
+    "server.execution.scheduler.misfire.toleration.minutes" : "480",
+    "shared.resources.dir" : 
"/usr/lib/ambari-server/lib/ambari_commons/resources",
+    "agent.threadpool.size.max" : "25",
+    "agent.stack.retry.tries" : "5",
+    "server.jdbc.database_name" : "ambari",
+    "java.home" : "/usr/jdk64/jdk1.8.0_40",
+    "bootstrap.setup_agent.script" : 
"/usr/lib/python2.6/site-packages/ambari_server/setupAgent.py",
+    "jdk1.7.desc" : "Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy 
Files 7",
+    "jdk1.8.re" : "(jdk.*)/jre",
+    "views.http.strict-transport-security" : "max-age=31536000",
+    "server.execution.scheduler.maxThreads" : "5",
+    "jce.name" : "jce_policy-8.zip",
+    "security.server.keys_dir" : "/var/lib/ambari-server/keys",
+    "views.http.x-frame-options" : "SAMEORIGIN",
+    "server.http.session.inactive_timeout" : "1800",
+    "bootstrap.dir" : "/var/run/ambari-server/bootstrap",
+    "jdk.download.supported" : "true",
+    "agent.package.install.task.timeout" : "1800",
+    "rolling.upgrade.skip.packages.prefixes" : "",
+    "user.inactivity.timeout.default" : "0",
+    "recommendations.dir" : "/var/run/ambari-server/stack-recommendations",
+    "jdk1.7.url" : 
"http://public-repo-1.hortonworks.com/ARTIFACTS/jdk-7u67-linux-x64.tar.gz";,
+    "views.ambari.request.read.timeout.millis" : "10000",
+    "agent.stack.retry.on_repo_unavailability" : "false",
+    "jdk1.8.jcpol-url" : 
"http://public-repo-1.hortonworks.com/ARTIFACTS/jce_policy-8.zip";,
+    "ambari-server.user" : "root",
+    "custom.action.definitions" : 
"/var/lib/ambari-server/resources/custom_action_definitions",
+    "server.os_type" : "centos6",
+    "server.persistence.type" : "local",
+    "server.connection.max.idle.millis" : "900000",
+    "http.x-xss-protection" : "1; mode=block",
+    "pid.dir" : "/var/run/ambari-server",
+    "jdk1.8.url" : 
"http://public-repo-1.hortonworks.com/ARTIFACTS/jdk-8u60-linux-x64.tar.gz";,
+    "http.strict-transport-security" : "max-age=31536000",
+    "jdk1.8.jcpol-file" : "jce_policy-8.zip",
+    "server.tmp.dir" : "/var/lib/ambari-server/data/tmp",
+    "jdk1.7.re" : "(jdk.*)/jre",
+    "server.jdbc.user.name" : "ambari",
+    "jdk1.7.jcpol-file" : "UnlimitedJCEPolicyJDK7.zip",
+    "jce.download.supported" : "true",
+    "jdk1.8.desc" : "Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy 
Files 8",
+    "server.fqdn.service.url" : 
"http://169.254.169.254/latest/meta-data/public-hostname";,
+    "metadata.path" : "/var/lib/ambari-server/resources/stacks",
+    "views.ambari.request.connect.timeout.millis" : "5000",
+    "skip.service.checks" : "false",
+    "views.request.connect.timeout.millis" : "5000",
+    "stackadvisor.script" : 
"/var/lib/ambari-server/resources/scripts/stack_advisor.py",
+    "server.jdbc.database" : "postgres",
+    "views.http.x-xss-protection" : "1; mode=block",
+    "jdk1.7.dest-file" : "jdk-7u67-linux-x64.tar.gz",
+    "server.jdbc.postgres.schema" : "ambari",
+    "server.task.timeout" : "1200"
+  }
+}

Reply via email to