ambari-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Swapan Shridhar (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMBARI-22198) Refactor stack-specific cluster-env configs to stack settings
Date Sun, 22 Oct 2017 11:23:00 GMT

     [ https://issues.apache.org/jira/browse/AMBARI-22198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Swapan Shridhar updated AMBARI-22198:
-------------------------------------
    Description: 
This assumes the following things to be present in the stack coming from the mpack (as there is no inheritance in stacks, given the flat stack structure coming from mpacks):
- settings.xml file in {{/var/lib/ambari-server/resources/stacks/<stackName>/<stackVersion>/configuration}}
- {{stack_features.json}},  {{stack_packages.json}} and  {{stack_tools.json}} present in {{/var/lib/ambari-server/resources/stacks/<stackName>/<stackVersion>/properties/}} directory.

This is done as part of JIRA : AMBARI-22285

----------------------------------------------------------------------

*Work done in this JIRA*:

- Refactoring stack-specific cluster-env configs to stack *settings* in stack version's *configuration* folder (for instance : /var/lib/ambari-server/resources/stacks/HDP/2.6/configuration)
- Have the new read only {{http://<ip>:<port>/api/v1/stacks/<stackName>/versions/<stackVersion>/stack_settings}} API working.

It assumes that 


Testing on 2.6 stack

{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings}
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings",
  "items" : [
    {
      "href" : "http://172.22.71.168:8080/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_features",
      "StackSettingsInfo" : {
        "property_name" : "stack_features",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    },
    {
      "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name",
      "StackSettingsInfo" : {
        "property_name" : "stack_name",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    },
    {
      "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages",
      "StackSettingsInfo" : {
        "property_name" : "stack_packages",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    },
    {
      "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root",
      "StackSettingsInfo" : {
        "property_name" : "stack_root",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    },
    {
      "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools",
      "StackSettingsInfo" : {
        "property_name" : "stack_tools",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    }
  ]
}
{code}



{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_features }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_feature",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "List of features supported by the stack",
    "property_name" : "stack_features",
    "property_type" : [
      "VALUE_FROM_PROPERTY_FILE"
    ],
    "property_value" : "{\n  \"HDP\": {\n    \"stack_features\": [\n      {\n        \"name\": \"snappy\",\n        \"description\": \"Snappy compressor/decompressor support\",\n        \"min_version\": \"2.0.0.0\",\n        \"max_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"lzo\",\n        \"description\": \"LZO libraries support\",\n        \"min_version\": \"2.2.1.0\"\n      },\n      {\n        \"name\": \"express_upgrade\",\n        \"description\": \"Express upgrade support\",\n        \"min_version\": \"2.1.0.0\"\n      },\n      {\n        \"name\": \"rolling_upgrade\",\n        \"description\": \"Rolling upgrade support\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"kafka_acl_migration_support\",\n        \"description\": \"ACL migration support\",\n        \"min_version\": \"2.3.4.0\"\n      },\n      {\n        \"name\": \"secure_zookeeper\",\n        \"description\": \"Protect ZNodes with SASL acl in secure clusters\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"config_versioning\",\n        \"description\": \"Configurable versions support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"datanode_non_root\",\n        \"description\": \"DataNode running as non-root support (AMBARI-7615)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"remove_ranger_hdfs_plugin_env\",\n        \"description\": \"HDFS removes Ranger env files (AMBARI-14299)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger\",\n        \"description\": \"Ranger Service support\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_tagsync_component\",\n        \"description\": \"Ranger Tagsync component support (AMBARI-14383)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"phoenix\",\n        \"description\": \"Phoenix Service support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"nfs\",\n        \"description\": \"NFS support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"tez_for_spark\",\n        \"description\": \"Tez dependency for Spark\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"timeline_state_store\",\n        \"description\": \"Yarn application timeline-service supports state store property (AMBARI-11442)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"copy_tarball_to_hdfs\",\n        \"description\": \"Copy tarball to HDFS support (AMBARI-12113)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"spark_16plus\",\n        \"description\": \"Spark 1.6+\",\n        \"min_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"spark_thriftserver\",\n        \"description\": \"Spark Thrift Server\",\n        \"min_version\": \"2.3.2.0\"\n      },\n      {\n        \"name\": \"storm_kerberos\",\n        \"description\": \"Storm Kerberos support (AMBARI-7570)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"storm_ams\",\n        \"description\": \"Storm AMS integration (AMBARI-10710)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"kafka_listeners\",\n        \"description\": \"Kafka listeners (AMBARI-10984)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"kafka_kerberos\",\n        \"description\": \"Kafka Kerberos support (AMBARI-10984)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"pig_on_tez\",\n        \"description\": \"Pig on Tez support (AMBARI-7863)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_usersync_non_root\",\n        \"description\": \"Ranger Usersync as non-root user (AMBARI-10416)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger_audit_db_support\",\n        \"description\": \"Ranger Audit to DB support\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.4.99.99\"\n      },\n      {\n        \"name\": \"accumulo_kerberos_user_auth\",\n        \"description\": \"Accumulo Kerberos User Auth (AMBARI-10163)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"knox_versioned_data_dir\",\n        \"description\": \"Use versioned data dir for Knox (AMBARI-13164)\",\n        \"min_version\": \"2.3.2.0\"\n      },\n      {\n        \"name\": \"knox_sso_topology\",\n        \"description\": \"Knox SSO Topology support (AMBARI-13975)\",\n        \"min_version\": \"2.3.8.0\"\n      },\n      {\n        \"name\": \"atlas_rolling_upgrade\",\n        \"description\": \"Rolling upgrade support for Atlas\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"oozie_admin_user\",\n        \"description\": \"Oozie install user as an Oozie admin user (AMBARI-7976)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_create_hive_tez_configs\",\n        \"description\": \"Oozie create configs for Ambari Hive and Tez deployments (AMBARI-8074)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_setup_shared_lib\",\n        \"description\": \"Oozie setup tools used to shared Oozie lib to HDFS (AMBARI-7240)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_host_kerberos\",\n        \"description\": \"Oozie in secured clusters uses _HOST in Kerberos principal (AMBARI-9775)\",\n        \"min_version\": \"2.0.0.0\"\n      },\n      {\n        \"name\": \"falcon_extensions\",\n        \"description\": \"Falcon Extension\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_metastore_upgrade_schema\",\n        \"description\": \"Hive metastore upgrade schema support (AMBARI-11176)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_server_interactive\",\n        \"description\": \"Hive server interactive support (AMBARI-15573)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_webhcat_specific_configs\",\n        \"description\": \"Hive webhcat specific configurations support (AMBARI-12364)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_purge_table\",\n        \"description\": \"Hive purge table support (AMBARI-12260)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_server2_kerberized_env\",\n        \"description\": \"Hive server2 working on kerberized environment (AMBARI-13749)\",\n        \"min_version\": \"2.2.3.0\",\n        \"max_version\": \"2.2.5.0\"\n      },\n      {\n        \"name\": \"hive_env_heapsize\",\n        \"description\": \"Hive heapsize property defined in hive-env (AMBARI-12801)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_hsm_support\",\n        \"description\": \"Ranger KMS HSM support (AMBARI-15752)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_log4j_support\",\n        \"description\": \"Ranger supporting log-4j properties (AMBARI-15681)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_kerberos_support\",\n        \"description\": \"Ranger Kerberos support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_metastore_site_support\",\n        \"description\": \"Hive Metastore site support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_usersync_password_jceks\",\n        \"description\": \"Saving Ranger Usersync credentials in jceks\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_install_infra_client\",\n        \"description\": \"Ambari Infra Service support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"falcon_atlas_support_2_3\",\n        \"description\": \"Falcon Atlas integration support for 2.3 stack\",\n        \"min_version\": \"2.3.99.0\",\n        \"max_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"falcon_atlas_support\",\n        \"description\": \"Falcon Atlas integration\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hbase_home_directory\",\n        \"description\": \"Hbase home directory in HDFS needed for HBASE backup\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_livy\",\n        \"description\": \"Livy as slave component of spark\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_livy2\",\n        \"description\": \"Livy as slave component of spark\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_ranger_plugin_support\",\n        \"description\": \"Atlas Ranger plugin support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"atlas_conf_dir_in_path\",\n        \"description\": \"Prepend the Atlas conf dir (/etc/atlas/conf) to the classpath of Storm and Falcon\",\n        \"min_version\": \"2.3.0.0\",\n        \"max_version\": \"2.4.99.99\"\n      },\n      {\n        \"name\": \"atlas_upgrade_support\",\n        \"description\": \"Atlas supports express and rolling upgrades\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"atlas_hook_support\",\n        \"description\": \"Atlas support for hooks in Hive, Storm, Falcon, and Sqoop\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_pid_support\",\n        \"description\": \"Ranger Service support pid generation AMBARI-16756\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_pid_support\",\n        \"description\": \"Ranger KMS Service support pid generation\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_admin_password_change\",\n        \"description\": \"Allow ranger admin credentials to be specified during cluster creation (AMBARI-17000)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_setup_db_on_start\",\n        \"description\": \"Allows setup of ranger db and java patches to be called multiple times on each START\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"storm_metrics_apache_classes\",\n        \"description\": \"Metrics sink for Storm that uses Apache class names\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_java_opts_support\",\n        \"description\": \"Allow Spark to generate java-opts file\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"atlas_hbase_setup\",\n        \"description\": \"Use script to create Atlas tables in Hbase and set permissions for Atlas user.\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_hive_plugin_jdbc_url\",\n        \"description\": \"Handle Ranger hive repo config jdbc url change for stack 2.5 (AMBARI-18386)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"zkfc_version_advertised\",\n        \"description\": \"ZKFC advertise version\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"phoenix_core_hdfs_site_required\",\n        \"description\": \"HDFS and CORE site required for Phoenix\",\n        \"max_version\": \"2.5.9.9\"\n      },\n      {\n        \"name\": \"ranger_tagsync_ssl_xml_support\",\n        \"description\": \"Ranger Tagsync ssl xml support.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"ranger_xml_configuration\",\n        \"description\": \"Ranger code base support xml configurations\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"kafka_ranger_plugin_support\",\n        \"description\": \"Ambari stack changes for Ranger Kafka Plugin (AMBARI-11299)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"yarn_ranger_plugin_support\",\n        \"description\": \"Implement Stack changes for Ranger Yarn Plugin integration (AMBARI-10866)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger_solr_config_support\",\n        \"description\": \"Showing Ranger solrconfig.xml on UI\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hive_interactive_atlas_hook_required\",\n        \"description\": \"Registering Atlas Hook for Hive Interactive.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"core_site_for_ranger_plugins\",\n        \"description\": \"Adding core-site.xml in when Ranger plugin is enabled for Storm, Kafka, and Knox.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_install_hook_package_support\",\n        \"description\": \"Stop installing packages from 2.6\",\n        \"max_version\": \"2.5.9.9\"\n      },\n      {\n        \"name\": \"atlas_hdfs_site_on_namenode_ha\",\n        \"description\": \"Need to create hdfs-site under atlas-conf dir when Namenode-HA is enabled.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hive_interactive_ga\",\n        \"description\": \"Hive Interactive GA support\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"secure_ranger_ssl_password\",\n        \"description\": \"Securing Ranger Admin and Usersync SSL and Trustore related passwords in jceks\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_ssl\",\n        \"description\": \"Ranger KMS SSL properties in ambari stack\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"nifi_encrypt_config\",\n        \"description\": \"Encrypt sensitive properties written to nifi property file\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"toolkit_config_update\",\n        \"description\": \"Support separate input and output for toolkit configuration\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"admin_toolkit_support\",\n        \"description\": \"Supports the nifi admin toolkit\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"tls_toolkit_san\",\n        \"description\": \"Support subject alternative name flag\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"nifi_jaas_conf_create\",\n        \"description\": \"Create NIFI jaas configuration when kerberos is enabled\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_core_site_support\",\n        \"description\": \"Need to create core-site under Atlas conf directory.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hadoop_custom_extensions\",\n        \"description\": \"Support hadoop custom extensions\",\n        \"min_version\": \"2.6.0.0\"\n      }\n    ]\n  }\n}\n",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true,
      "property-file-name" : "stack_features.json",
      "property-file-type" : "json"
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}


{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "The name of the stack.",
    "property_name" : "stack_name",
    "property_type" : [ ],
    "property_value" : "HDP",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}


{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "Associations between component and stack-select tools.",
    "property_name" : "stack_packages",
    "property_type" : [
      "VALUE_FROM_PROPERTY_FILE"
    ],
    "property_value" : "{\n  \"HDP\": {\n    \"stack-select\": {\n      \"ACCUMULO\": {\n        \"ACCUMULO_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-client\",\n          \"INSTALL\": [\n            \"accumulo-client\"\n          ],\n          \"PATCH\": [\n            \"accumulo-client\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_GC\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-gc\",\n          \"INSTALL\": [\n            \"accumulo-gc\"\n          ],\n          \"PATCH\": [\n            \"accumulo-gc\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-gc\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-master\",\n          \"INSTALL\": [\n            \"accumulo-master\"\n          ],\n          \"PATCH\": [\n            \"accumulo-master\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-master\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_MONITOR\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-monitor\",\n          \"INSTALL\": [\n            \"accumulo-monitor\"\n          ],\n          \"PATCH\": [\n            \"accumulo-monitor\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-monitor\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_TRACER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-tracer\",\n          \"INSTALL\": [\n            \"accumulo-tracer\"\n          ],\n          \"PATCH\": [\n            \"accumulo-tracer\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-tracer\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_TSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-tablet\",\n          \"INSTALL\": [\n            \"accumulo-tablet\"\n          ],\n          \"PATCH\": [\n            \"accumulo-tablet\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-tablet\",\n            \"accumulo-client\"\n          ]\n        }\n      },\n      \"ATLAS\": {\n        \"ATLAS_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"atlas-client\",\n          \"INSTALL\": [\n            \"atlas-client\"\n          ],\n          \"PATCH\": [\n            \"atlas-client\"\n          ],\n          \"STANDARD\": [\n            \"atlas-client\"\n          ]\n        },\n        \"ATLAS_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"atlas-server\",\n          \"INSTALL\": [\n            \"atlas-server\"\n          ],\n          \"PATCH\": [\n            \"atlas-server\"\n          ],\n          \"STANDARD\": [\n            \"atlas-server\"\n          ]\n        }\n      },\n      \"DRUID\": {\n        \"DRUID_COORDINATOR\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-coordinator\",\n          \"INSTALL\": [\n            \"druid-coordinator\"\n          ],\n          \"PATCH\": [\n            \"druid-coordinator\"\n          ],\n          \"STANDARD\": [\n            \"druid-coordinator\"\n          ]\n        },\n        \"DRUID_OVERLORD\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-overlord\",\n          \"INSTALL\": [\n            \"druid-overlord\"\n          ],\n          \"PATCH\": [\n            \"druid-overlord\"\n          ],\n          \"STANDARD\": [\n            \"druid-overlord\"\n          ]\n        },\n        \"DRUID_HISTORICAL\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-historical\",\n          \"INSTALL\": [\n            \"druid-historical\"\n          ],\n          \"PATCH\": [\n            \"druid-historical\"\n          ],\n          \"STANDARD\": [\n            \"druid-historical\"\n          ]\n        },\n        \"DRUID_BROKER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-broker\",\n          \"INSTALL\": [\n            \"druid-broker\"\n          ],\n          \"PATCH\": [\n            \"druid-broker\"\n          ],\n          \"STANDARD\": [\n            \"druid-broker\"\n          ]\n        },\n        \"DRUID_MIDDLEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-middlemanager\",\n          \"INSTALL\": [\n            \"druid-middlemanager\"\n          ],\n          \"PATCH\": [\n            \"druid-middlemanager\"\n          ],\n          \"STANDARD\": [\n            \"druid-middlemanager\"\n          ]\n        },\n        \"DRUID_ROUTER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-router\",\n          \"INSTALL\": [\n            \"druid-router\"\n          ],\n          \"PATCH\": [\n            \"druid-router\"\n          ],\n          \"STANDARD\": [\n            \"druid-router\"\n          ]\n        },\n        \"DRUID_SUPERSET\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-superset\",\n          \"INSTALL\": [\n            \"druid-superset\"\n          ],\n          \"PATCH\": [\n            \"druid-superset\"\n          ],\n          \"STANDARD\": [\n            \"druid-superset\"\n          ]\n        }\n      },\n      \"FALCON\": {\n        \"FALCON_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"falcon-client\",\n          \"INSTALL\": [\n            \"falcon-client\"\n          ],\n          \"PATCH\": [\n            \"falcon-client\"\n          ],\n          \"STANDARD\": [\n            \"falcon-client\"\n          ]\n        },\n        \"FALCON_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"falcon-server\",\n          \"INSTALL\": [\n            \"falcon-server\"\n          ],\n          \"PATCH\": [\n            \"falcon-server\"\n          ],\n          \"STANDARD\": [\n            \"falcon-server\"\n          ]\n        }\n      },\n      \"FLUME\": {\n        \"FLUME_HANDLER\": {\n          \"STACK-SELECT-PACKAGE\": \"flume-server\",\n          \"INSTALL\": [\n            \"flume-server\"\n          ],\n          \"PATCH\": [\n            \"flume-server\"\n          ],\n          \"STANDARD\": [\n            \"flume-server\"\n          ]\n        }\n      },\n      \"HBASE\": {\n        \"HBASE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-client\",\n          \"INSTALL\": [\n            \"hbase-client\"\n          ],\n          \"PATCH\": [\n            \"hbase-client\"\n          ],\n          \"STANDARD\": [\n            \"hbase-client\",\n            \"phoenix-client\",\n            \"hadoop-client\"\n          ]\n        },\n        \"HBASE_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-master\",\n          \"INSTALL\": [\n            \"hbase-master\"\n          ],\n          \"PATCH\": [\n            \"hbase-master\"\n          ],\n          \"STANDARD\": [\n            \"hbase-master\"\n          ]\n        },\n        \"HBASE_REGIONSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-regionserver\",\n          \"INSTALL\": [\n            \"hbase-regionserver\"\n          ],\n          \"PATCH\": [\n            \"hbase-regionserver\"\n          ],\n          \"STANDARD\": [\n            \"hbase-regionserver\"\n          ]\n        },\n        \"PHOENIX_QUERY_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"phoenix-server\",\n          \"INSTALL\": [\n            \"phoenix-server\"\n          ],\n          \"PATCH\": [\n            \"phoenix-server\"\n          ],\n          \"STANDARD\": [\n            \"phoenix-server\"\n          ]\n        }\n      },\n      \"HDFS\": {\n        \"DATANODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-datanode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-datanode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-datanode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-datanode\"\n          ]\n        },\n        \"HDFS_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        },\n        \"NAMENODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-namenode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-namenode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-namenode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-namenode\"\n          ]\n        },\n        \"NFS_GATEWAY\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-nfs3\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-nfs3\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-nfs3\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-nfs3\"\n          ]\n        },\n        \"JOURNALNODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-journalnode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-journalnode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-journalnode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-journalnode\"\n          ]\n        },\n        \"SECONDARY_NAMENODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-secondarynamenode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ]\n        },\n        \"ZKFC\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-zkfc\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-zkfc\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-zkfc\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-zkfc\"\n          ]\n        }\n      },\n      \"HIVE\": {\n        \"HCAT\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-webhcat\",\n          \"INSTALL\": [\n            \"hive-webhcat\"\n          ],\n          \"PATCH\": [\n            \"hive-webhcat\"\n          ],\n          \"STANDARD\": [\n            \"hive-webhcat\"\n          ]\n        },\n        \"HIVE_METASTORE\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-metastore\",\n          \"INSTALL\": [\n            \"hive-metastore\"\n          ],\n          \"PATCH\": [\n            \"hive-metastore\"\n          ],\n          \"STANDARD\": [\n            \"hive-metastore\"\n          ]\n        },\n        \"HIVE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-server2\",\n          \"INSTALL\": [\n            \"hive-server2\"\n          ],\n          \"PATCH\": [\n            \"hive-server2\"\n          ],\n          \"STANDARD\": [\n            \"hive-server2\"\n          ]\n        },\n        \"HIVE_SERVER_INTERACTIVE\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-server2-hive2\",\n          \"INSTALL\": [\n            \"hive-server2-hive2\"\n          ],\n          \"PATCH\": [\n            \"hive-server2-hive2\"\n          ],\n          \"STANDARD\": [\n            \"hive-server2-hive2\"\n          ]\n        },\n        \"HIVE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hive-client\"\n          ],\n          \"PATCH\": [\n            \"hive-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        },\n        \"WEBHCAT_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-webhcat\",\n          \"INSTALL\": [\n            \"hive-webhcat\"\n          ],\n          \"PATCH\": [\n            \"hive-webhcat\"\n          ],\n          \"STANDARD\": [\n            \"hive-webhcat\"\n          ]\n        }\n      },\n      \"KAFKA\": {\n        \"KAFKA_BROKER\": {\n          \"STACK-SELECT-PACKAGE\": \"kafka-broker\",\n          \"INSTALL\": [\n            \"kafka-broker\"\n          ],\n          \"PATCH\": [\n            \"kafka-broker\"\n          ],\n          \"STANDARD\": [\n            \"kafka-broker\"\n          ]\n        }\n      },\n      \"KNOX\": {\n        \"KNOX_GATEWAY\": {\n          \"STACK-SELECT-PACKAGE\": \"knox-server\",\n          \"INSTALL\": [\n            \"knox-server\"\n          ],\n          \"PATCH\": [\n            \"knox-server\"\n          ],\n          \"STANDARD\": [\n            \"knox-server\"\n          ]\n        }\n      },\n      \"MAHOUT\": {\n        \"MAHOUT\": {\n          \"STACK-SELECT-PACKAGE\": \"mahout-client\",\n          \"INSTALL\": [\n            \"mahout-client\"\n          ],\n          \"PATCH\": [\n            \"mahout-client\"\n          ],\n          \"STANDARD\": [\n            \"mahout-client\"\n          ]\n        }\n      },\n      \"MAPREDUCE2\": {\n        \"HISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-mapreduce-historyserver\",\n          \"INSTALL\": [\n            \"hadoop-mapreduce-historyserver\"\n          ],\n          \"PATCH\": [\n            \"hadoop-mapreduce-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-mapreduce-historyserver\"\n          ]\n        },\n        \"MAPREDUCE2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-mapreduce-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-mapreduce-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-mapreduce-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"OOZIE\": {\n        \"OOZIE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"oozie-client\",\n          \"INSTALL\": [\n            \"oozie-client\"\n          ],\n          \"PATCH\": [\n            \"oozie-client\"\n          ],\n          \"STANDARD\": [\n            \"oozie-client\"\n          ]\n        },\n        \"OOZIE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"oozie-server\",\n          \"INSTALL\": [\n            \"oozie-client\",\n            \"oozie-server\"\n          ],\n          \"PATCH\": [\n            \"oozie-server\"\n          ],\n          \"STANDARD\": [\n            \"oozie-client\",\n            \"oozie-server\"\n          ]\n        }\n      },\n      \"PIG\": {\n        \"PIG\": {\n          \"STACK-SELECT-PACKAGE\": \"pig-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"pig-client\"\n          ],\n          \"PATCH\": [\n            \"pig-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"R4ML\": {\n        \"R4ML\": {\n          \"STACK-SELECT-PACKAGE\": \"r4ml-client\",\n          \"INSTALL\": [\n            \"r4ml-client\"\n          ],\n          \"PATCH\": [\n            \"r4ml-client\"\n          ],\n          \"STANDARD\": [\n            \"r4ml-client\"\n          ]\n        }\n      },\n      \"RANGER\": {\n        \"RANGER_ADMIN\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-admin\",\n          \"INSTALL\": [\n            \"ranger-admin\"\n          ],\n          \"PATCH\": [\n            \"ranger-admin\"\n          ],\n          \"STANDARD\": [\n            \"ranger-admin\"\n          ]\n        },\n        \"RANGER_TAGSYNC\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-tagsync\",\n          \"INSTALL\": [\n            \"ranger-tagsync\"\n          ],\n          \"PATCH\": [\n            \"ranger-tagsync\"\n          ],\n          \"STANDARD\": [\n            \"ranger-tagsync\"\n          ]\n        },\n        \"RANGER_USERSYNC\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-usersync\",\n          \"INSTALL\": [\n            \"ranger-usersync\"\n          ],\n          \"PATCH\": [\n            \"ranger-usersync\"\n          ],\n          \"STANDARD\": [\n            \"ranger-usersync\"\n          ]\n        }\n      },\n      \"RANGER_KMS\": {\n        \"RANGER_KMS_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-kms\",\n          \"INSTALL\": [\n            \"ranger-kms\"\n          ],\n          \"PATCH\": [\n            \"ranger-kms\"\n          ],\n          \"STANDARD\": [\n            \"ranger-kms\"\n          ]\n        }\n      },\n      \"SLIDER\": {\n        \"SLIDER\": {\n          \"STACK-SELECT-PACKAGE\": \"slider-client\",\n          \"INSTALL\": [\n            \"slider-client\"\n          ],\n          \"PATCH\": [\n            \"slider-client\"\n          ],\n          \"STANDARD\": [\n            \"slider-client\",\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"SPARK\": {\n        \"LIVY_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"livy-client\",\n          \"INSTALL\": [\n            \"livy-client\"\n          ],\n          \"PATCH\": [\n            \"livy-client\"\n          ],\n          \"STANDARD\": [\n            \"livy-client\"\n          ]\n        },\n        \"LIVY_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"livy-server\",\n          \"INSTALL\": [\n            \"livy-server\"\n          ],\n          \"PATCH\": [\n            \"livy-server\"\n          ],\n          \"STANDARD\": [\n            \"livy-server\"\n          ]\n        },\n        \"SPARK_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-client\",\n          \"INSTALL\": [\n            \"spark-client\"\n          ],\n          \"PATCH\": [\n            \"spark-client\"\n          ],\n          \"STANDARD\": [\n            \"spark-client\"\n          ]\n        },\n        \"SPARK_JOBHISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-historyserver\",\n          \"INSTALL\": [\n            \"spark-historyserver\"\n          ],\n          \"PATCH\": [\n            \"spark-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"spark-historyserver\"\n          ]\n        },\n        \"SPARK_THRIFTSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-thriftserver\",\n          \"INSTALL\": [\n            \"spark-thriftserver\"\n          ],\n          \"PATCH\": [\n            \"spark-thriftserver\"\n          ],\n          \"STANDARD\": [\n            \"spark-thriftserver\"\n          ]\n        }\n      },\n      \"SPARK2\": {\n        \"LIVY2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"livy2-client\",\n          \"INSTALL\": [\n            \"livy2-client\"\n          ],\n          \"PATCH\": [\n            \"livy2-client\"\n          ],\n          \"STANDARD\": [\n            \"livy2-client\"\n          ]\n        },\n        \"LIVY2_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"livy2-server\",\n          \"INSTALL\": [\n            \"livy2-server\"\n          ],\n          \"PATCH\": [\n            \"livy2-server\"\n          ],\n          \"STANDARD\": [\n            \"livy2-server\"\n          ]\n        },\n        \"SPARK2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-client\",\n          \"INSTALL\": [\n            \"spark2-client\"\n          ],\n          \"PATCH\": [\n            \"spark2-client\"\n          ],\n          \"STANDARD\": [\n            \"spark2-client\"\n          ]\n        },\n        \"SPARK2_JOBHISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-historyserver\",\n          \"INSTALL\": [\n            \"spark2-historyserver\"\n          ],\n          \"PATCH\": [\n            \"spark2-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"spark2-historyserver\"\n          ]\n        },\n        \"SPARK2_THRIFTSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-thriftserver\",\n          \"INSTALL\": [\n            \"spark2-thriftserver\"\n          ],\n          \"PATCH\": [\n            \"spark2-thriftserver\"\n          ],\n          \"STANDARD\": [\n            \"spark2-thriftserver\"\n          ]\n        }\n      },\n      \"SQOOP\": {\n        \"SQOOP\": {\n          \"STACK-SELECT-PACKAGE\": \"sqoop-client\",\n          \"INSTALL\": [\n            \"sqoop-client\"\n          ],\n          \"PATCH\": [\n            \"sqoop-client\"\n          ],\n          \"STANDARD\": [\n            \"sqoop-client\"\n          ]\n        }\n      },\n      \"STORM\": {\n        \"NIMBUS\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-nimbus\",\n          \"INSTALL\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ],\n          \"PATCH\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ]\n        },\n        \"SUPERVISOR\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-supervisor\",\n          \"INSTALL\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ],\n          \"PATCH\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ]\n        },\n        \"DRPC_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-client\",\n          \"INSTALL\": [\n            \"storm-client\"\n          ],\n          \"PATCH\": [\n            \"storm-client\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\"\n          ]\n        },\n        \"STORM_UI_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-client\",\n          \"INSTALL\": [\n            \"storm-client\"\n          ],\n          \"PATCH\": [\n            \"storm-client\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\"\n          ]\n        }\n      },\n      \"SYSTEMML\": {\n        \"SYSTEMML\": {\n          \"STACK-SELECT-PACKAGE\": \"systemml-client\",\n          \"INSTALL\": [\n            \"systemml-client\"\n          ],\n          \"PATCH\": [\n            \"systemml-client\"\n          ],\n          \"STANDARD\": [\n            \"systemml-client\"\n          ]\n        }\n      },\n      \"TEZ\": {\n        \"TEZ_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"tez-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"tez-client\"\n          ],\n          \"PATCH\": [\n            \"tez-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"TITAN\": {\n        \"TITAN_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"titan-client\",\n          \"INSTALL\": [\n            \"titan-client\"\n          ],\n          \"PATCH\": [\n            \"titan-client\"\n          ],\n          \"STANDARD\": [\n            \"titan-client\"\n          ]\n        },\n        \"TITAN_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"titan-server\",\n          \"INSTALL\": [\n            \"titan-server\"\n          ],\n          \"PATCH\": [\n            \"titan-server\"\n          ],\n          \"STANDARD\": [\n            \"titan-server\"\n          ]\n        }\n      },\n      \"YARN\": {\n        \"APP_TIMELINE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-timelineserver\",\n          \"INSTALL\": [\n            \"hadoop-yarn-timelineserver\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-timelineserver\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-timelineserver\"\n          ]\n        },\n        \"NODEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-nodemanager\",\n          \"INSTALL\": [\n            \"hadoop-yarn-nodemanager\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-nodemanager\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-nodemanager\"\n          ]\n        },\n        \"RESOURCEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-resourcemanager\",\n          \"INSTALL\": [\n            \"hadoop-yarn-resourcemanager\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-resourcemanager\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-resourcemanager\"\n          ]\n        },\n        \"YARN_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-yarn-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"ZEPPELIN\": {\n        \"ZEPPELIN_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"zeppelin-server\",\n          \"INSTALL\": [\n            \"zeppelin-server\"\n          ],\n          \"PATCH\": [\n            \"zeppelin-server\"\n          ],\n          \"STANDARD\": [\n            \"zeppelin-server\"\n          ]\n        }\n      },\n      \"ZOOKEEPER\": {\n        \"ZOOKEEPER_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"zookeeper-client\",\n          \"INSTALL\": [\n            \"zookeeper-client\"\n          ],\n          \"PATCH\": [\n            \"zookeeper-client\"\n          ],\n          \"STANDARD\": [\n            \"zookeeper-client\"\n          ]\n        },\n        \"ZOOKEEPER_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"zookeeper-server\",\n          \"INSTALL\": [\n            \"zookeeper-server\"\n          ],\n          \"PATCH\": [\n            \"zookeeper-server\"\n          ],\n          \"STANDARD\": [\n            \"zookeeper-server\"\n          ]\n        }\n      }\n    },\n    \"conf-select\": {\n      \"accumulo\": [\n        {\n          \"conf_dir\": \"/etc/accumulo/conf\",\n          \"current_dir\": \"{0}/current/accumulo-client/conf\"\n        }\n      ],\n      \"atlas\": [\n        {\n          \"conf_dir\": \"/etc/atlas/conf\",\n          \"current_dir\": \"{0}/current/atlas-client/conf\"\n        }\n      ],\n      \"druid\": [\n        {\n          \"conf_dir\": \"/etc/druid/conf\",\n          \"current_dir\": \"{0}/current/druid-overlord/conf\"\n        }\n      ],\n      \"falcon\": [\n        {\n          \"conf_dir\": \"/etc/falcon/conf\",\n          \"current_dir\": \"{0}/current/falcon-client/conf\"\n        }\n      ],\n      \"flume\": [\n        {\n          \"conf_dir\": \"/etc/flume/conf\",\n          \"current_dir\": \"{0}/current/flume-server/conf\"\n        }\n      ],\n      \"hadoop\": [\n        {\n          \"conf_dir\": \"/etc/hadoop/conf\",\n          \"current_dir\": \"{0}/current/hadoop-client/conf\"\n        }\n      ],\n      \"hbase\": [\n        {\n          \"conf_dir\": \"/etc/hbase/conf\",\n          \"current_dir\": \"{0}/current/hbase-client/conf\"\n        }\n      ],\n      \"hive\": [\n        {\n          \"conf_dir\": \"/etc/hive/conf\",\n          \"current_dir\": \"{0}/current/hive-client/conf\"\n        }\n      ],\n      \"hive2\": [\n        {\n          \"conf_dir\": \"/etc/hive2/conf\",\n          \"current_dir\": \"{0}/current/hive-server2-hive2/conf\"\n        }\n      ],\n      \"hive-hcatalog\": [\n        {\n          \"conf_dir\": \"/etc/hive-webhcat/conf\",\n          \"prefix\": \"/etc/hive-webhcat\",\n          \"current_dir\": \"{0}/current/hive-webhcat/etc/webhcat\"\n        },\n        {\n          \"conf_dir\": \"/etc/hive-hcatalog/conf\",\n          \"prefix\": \"/etc/hive-hcatalog\",\n          \"current_dir\": \"{0}/current/hive-webhcat/etc/hcatalog\"\n        }\n      ],\n      \"kafka\": [\n        {\n          \"conf_dir\": \"/etc/kafka/conf\",\n          \"current_dir\": \"{0}/current/kafka-broker/conf\"\n        }\n      ],\n      \"knox\": [\n        {\n          \"conf_dir\": \"/etc/knox/conf\",\n          \"current_dir\": \"{0}/current/knox-server/conf\"\n        }\n      ],\n      \"mahout\": [\n        {\n          \"conf_dir\": \"/etc/mahout/conf\",\n          \"current_dir\": \"{0}/current/mahout-client/conf\"\n        }\n      ],\n      \"nifi\": [\n        {\n          \"conf_dir\": \"/etc/nifi/conf\",\n          \"current_dir\": \"{0}/current/nifi/conf\"\n        }\n      ],\n      \"oozie\": [\n        {\n          \"conf_dir\": \"/etc/oozie/conf\",\n          \"current_dir\": \"{0}/current/oozie-client/conf\"\n        }\n      ],\n      \"phoenix\": [\n        {\n          \"conf_dir\": \"/etc/phoenix/conf\",\n          \"current_dir\": \"{0}/current/phoenix-client/conf\"\n        }\n      ],\n      \"pig\": [\n        {\n          \"conf_dir\": \"/etc/pig/conf\",\n          \"current_dir\": \"{0}/current/pig-client/conf\"\n        }\n      ],\n      \"ranger-admin\": [\n        {\n          \"conf_dir\": \"/etc/ranger/admin/conf\",\n          \"current_dir\": \"{0}/current/ranger-admin/conf\"\n        }\n      ],\n      \"ranger-kms\": [\n        {\n          \"conf_dir\": \"/etc/ranger/kms/conf\",\n          \"current_dir\": \"{0}/current/ranger-kms/conf\"\n        }\n      ],\n      \"ranger-tagsync\": [\n        {\n          \"conf_dir\": \"/etc/ranger/tagsync/conf\",\n          \"current_dir\": \"{0}/current/ranger-tagsync/conf\"\n        }\n      ],\n      \"ranger-usersync\": [\n        {\n          \"conf_dir\": \"/etc/ranger/usersync/conf\",\n          \"current_dir\": \"{0}/current/ranger-usersync/conf\"\n        }\n      ],\n      \"slider\": [\n        {\n          \"conf_dir\": \"/etc/slider/conf\",\n          \"current_dir\": \"{0}/current/slider-client/conf\"\n        }\n      ],\n      \"spark\": [\n        {\n          \"conf_dir\": \"/etc/spark/conf\",\n          \"current_dir\": \"{0}/current/spark-client/conf\"\n        }\n      ],\n      \"spark2\": [\n        {\n          \"conf_dir\": \"/etc/spark2/conf\",\n          \"current_dir\": \"{0}/current/spark2-client/conf\"\n        }\n      ],\n      \"sqoop\": [\n        {\n          \"conf_dir\": \"/etc/sqoop/conf\",\n          \"current_dir\": \"{0}/current/sqoop-client/conf\"\n        }\n      ],\n      \"storm\": [\n        {\n          \"conf_dir\": \"/etc/storm/conf\",\n          \"current_dir\": \"{0}/current/storm-client/conf\"\n        }\n      ],\n      \"storm-slider-client\": [\n        {\n          \"conf_dir\": \"/etc/storm-slider-client/conf\",\n          \"current_dir\": \"{0}/current/storm-slider-client/conf\"\n        }\n      ],\n      \"superset\": [\n        {\n          \"conf_dir\": \"/etc/druid-superset/conf\",\n          \"current_dir\": \"{0}/current/druid-superset/conf\"\n        }\n      ],\n      \"tez\": [\n        {\n          \"conf_dir\": \"/etc/tez/conf\",\n          \"current_dir\": \"{0}/current/tez-client/conf\"\n        }\n      ],\n      \"zeppelin\": [\n        {\n          \"conf_dir\": \"/etc/zeppelin/conf\",\n          \"current_dir\": \"{0}/current/zeppelin-server/conf\"\n        }\n      ],\n      \"zookeeper\": [\n        {\n          \"conf_dir\": \"/etc/zookeeper/conf\",\n          \"current_dir\": \"{0}/current/zookeeper-client/conf\"\n        }\n      ]\n    }\n  }\n}\n",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true,
      "property-file-name" : "stack_packages.json",
      "property-file-type" : "json"
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}


{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "JSON which defines the stack root by stack name",
    "property_name" : "stack_root",
    "property_type" : [ ],
    "property_value" : "{\"HDP\":\"/usr/hdp\"}",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}


{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "Stack specific tools",
    "property_name" : "stack_tools",
    "property_type" : [
      "VALUE_FROM_PROPERTY_FILE"
    ],
    "property_value" : "{\n  \"HDP\": {\n    \"stack_selector\": [\n      \"hdp-select\",\n      \"/usr/bin/hdp-select\",\n      \"hdp-select\"\n    ],\n    \"conf_selector\": [\n      \"conf-select\",\n      \"/usr/bin/conf-select\",\n      \"conf-select\"\n    ]\n  }\n}\n",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true,
      "property-file-name" : "stack_tools.json",
      "property-file-type" : "json"
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}



  was:
This assumes the following things to be present in the stack coming from the mpack (as there is no inheritance in stacks, given the flat stack structure coming from mpacks):
- settings.xml file in {{/var/lib/ambari-server/resources/stacks/<stackName>/<stackVersion>/configuration}}
- {{stack_features.json}},  {{stack_packages.json}} and  {{stack_tools.json}} present in {{/var/lib/ambari-server/resources/stacks/<stackName>/<stackVersion>/properties/}} directory.

Work done in this JIRA:

- Refactoring stack-specific cluster-env configs to stack *settings* in stack version's *configuration* folder (for instance : /var/lib/ambari-server/resources/stacks/HDP/2.6/configuration)
- Have the new read only {{http://<ip>:<port>/api/v1/stacks/<stackName>/versions/<stackVersion>/stack_settings}} API working.

It assumes that 


Testing on 2.6 stack

{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings}
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings",
  "items" : [
    {
      "href" : "http://172.22.71.168:8080/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_features",
      "StackSettingsInfo" : {
        "property_name" : "stack_features",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    },
    {
      "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name",
      "StackSettingsInfo" : {
        "property_name" : "stack_name",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    },
    {
      "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages",
      "StackSettingsInfo" : {
        "property_name" : "stack_packages",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    },
    {
      "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root",
      "StackSettingsInfo" : {
        "property_name" : "stack_root",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    },
    {
      "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools",
      "StackSettingsInfo" : {
        "property_name" : "stack_tools",
        "stack_name" : "HDP",
        "stack_version" : "2.6"
      }
    }
  ]
}
{code}



{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_features }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_feature",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "List of features supported by the stack",
    "property_name" : "stack_features",
    "property_type" : [
      "VALUE_FROM_PROPERTY_FILE"
    ],
    "property_value" : "{\n  \"HDP\": {\n    \"stack_features\": [\n      {\n        \"name\": \"snappy\",\n        \"description\": \"Snappy compressor/decompressor support\",\n        \"min_version\": \"2.0.0.0\",\n        \"max_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"lzo\",\n        \"description\": \"LZO libraries support\",\n        \"min_version\": \"2.2.1.0\"\n      },\n      {\n        \"name\": \"express_upgrade\",\n        \"description\": \"Express upgrade support\",\n        \"min_version\": \"2.1.0.0\"\n      },\n      {\n        \"name\": \"rolling_upgrade\",\n        \"description\": \"Rolling upgrade support\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"kafka_acl_migration_support\",\n        \"description\": \"ACL migration support\",\n        \"min_version\": \"2.3.4.0\"\n      },\n      {\n        \"name\": \"secure_zookeeper\",\n        \"description\": \"Protect ZNodes with SASL acl in secure clusters\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"config_versioning\",\n        \"description\": \"Configurable versions support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"datanode_non_root\",\n        \"description\": \"DataNode running as non-root support (AMBARI-7615)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"remove_ranger_hdfs_plugin_env\",\n        \"description\": \"HDFS removes Ranger env files (AMBARI-14299)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger\",\n        \"description\": \"Ranger Service support\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_tagsync_component\",\n        \"description\": \"Ranger Tagsync component support (AMBARI-14383)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"phoenix\",\n        \"description\": \"Phoenix Service support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"nfs\",\n        \"description\": \"NFS support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"tez_for_spark\",\n        \"description\": \"Tez dependency for Spark\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"timeline_state_store\",\n        \"description\": \"Yarn application timeline-service supports state store property (AMBARI-11442)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"copy_tarball_to_hdfs\",\n        \"description\": \"Copy tarball to HDFS support (AMBARI-12113)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"spark_16plus\",\n        \"description\": \"Spark 1.6+\",\n        \"min_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"spark_thriftserver\",\n        \"description\": \"Spark Thrift Server\",\n        \"min_version\": \"2.3.2.0\"\n      },\n      {\n        \"name\": \"storm_kerberos\",\n        \"description\": \"Storm Kerberos support (AMBARI-7570)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"storm_ams\",\n        \"description\": \"Storm AMS integration (AMBARI-10710)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"kafka_listeners\",\n        \"description\": \"Kafka listeners (AMBARI-10984)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"kafka_kerberos\",\n        \"description\": \"Kafka Kerberos support (AMBARI-10984)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"pig_on_tez\",\n        \"description\": \"Pig on Tez support (AMBARI-7863)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_usersync_non_root\",\n        \"description\": \"Ranger Usersync as non-root user (AMBARI-10416)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger_audit_db_support\",\n        \"description\": \"Ranger Audit to DB support\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.4.99.99\"\n      },\n      {\n        \"name\": \"accumulo_kerberos_user_auth\",\n        \"description\": \"Accumulo Kerberos User Auth (AMBARI-10163)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"knox_versioned_data_dir\",\n        \"description\": \"Use versioned data dir for Knox (AMBARI-13164)\",\n        \"min_version\": \"2.3.2.0\"\n      },\n      {\n        \"name\": \"knox_sso_topology\",\n        \"description\": \"Knox SSO Topology support (AMBARI-13975)\",\n        \"min_version\": \"2.3.8.0\"\n      },\n      {\n        \"name\": \"atlas_rolling_upgrade\",\n        \"description\": \"Rolling upgrade support for Atlas\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"oozie_admin_user\",\n        \"description\": \"Oozie install user as an Oozie admin user (AMBARI-7976)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_create_hive_tez_configs\",\n        \"description\": \"Oozie create configs for Ambari Hive and Tez deployments (AMBARI-8074)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_setup_shared_lib\",\n        \"description\": \"Oozie setup tools used to shared Oozie lib to HDFS (AMBARI-7240)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_host_kerberos\",\n        \"description\": \"Oozie in secured clusters uses _HOST in Kerberos principal (AMBARI-9775)\",\n        \"min_version\": \"2.0.0.0\"\n      },\n      {\n        \"name\": \"falcon_extensions\",\n        \"description\": \"Falcon Extension\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_metastore_upgrade_schema\",\n        \"description\": \"Hive metastore upgrade schema support (AMBARI-11176)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_server_interactive\",\n        \"description\": \"Hive server interactive support (AMBARI-15573)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_webhcat_specific_configs\",\n        \"description\": \"Hive webhcat specific configurations support (AMBARI-12364)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_purge_table\",\n        \"description\": \"Hive purge table support (AMBARI-12260)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_server2_kerberized_env\",\n        \"description\": \"Hive server2 working on kerberized environment (AMBARI-13749)\",\n        \"min_version\": \"2.2.3.0\",\n        \"max_version\": \"2.2.5.0\"\n      },\n      {\n        \"name\": \"hive_env_heapsize\",\n        \"description\": \"Hive heapsize property defined in hive-env (AMBARI-12801)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_hsm_support\",\n        \"description\": \"Ranger KMS HSM support (AMBARI-15752)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_log4j_support\",\n        \"description\": \"Ranger supporting log-4j properties (AMBARI-15681)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_kerberos_support\",\n        \"description\": \"Ranger Kerberos support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_metastore_site_support\",\n        \"description\": \"Hive Metastore site support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_usersync_password_jceks\",\n        \"description\": \"Saving Ranger Usersync credentials in jceks\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_install_infra_client\",\n        \"description\": \"Ambari Infra Service support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"falcon_atlas_support_2_3\",\n        \"description\": \"Falcon Atlas integration support for 2.3 stack\",\n        \"min_version\": \"2.3.99.0\",\n        \"max_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"falcon_atlas_support\",\n        \"description\": \"Falcon Atlas integration\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hbase_home_directory\",\n        \"description\": \"Hbase home directory in HDFS needed for HBASE backup\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_livy\",\n        \"description\": \"Livy as slave component of spark\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_livy2\",\n        \"description\": \"Livy as slave component of spark\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_ranger_plugin_support\",\n        \"description\": \"Atlas Ranger plugin support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"atlas_conf_dir_in_path\",\n        \"description\": \"Prepend the Atlas conf dir (/etc/atlas/conf) to the classpath of Storm and Falcon\",\n        \"min_version\": \"2.3.0.0\",\n        \"max_version\": \"2.4.99.99\"\n      },\n      {\n        \"name\": \"atlas_upgrade_support\",\n        \"description\": \"Atlas supports express and rolling upgrades\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"atlas_hook_support\",\n        \"description\": \"Atlas support for hooks in Hive, Storm, Falcon, and Sqoop\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_pid_support\",\n        \"description\": \"Ranger Service support pid generation AMBARI-16756\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_pid_support\",\n        \"description\": \"Ranger KMS Service support pid generation\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_admin_password_change\",\n        \"description\": \"Allow ranger admin credentials to be specified during cluster creation (AMBARI-17000)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_setup_db_on_start\",\n        \"description\": \"Allows setup of ranger db and java patches to be called multiple times on each START\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"storm_metrics_apache_classes\",\n        \"description\": \"Metrics sink for Storm that uses Apache class names\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_java_opts_support\",\n        \"description\": \"Allow Spark to generate java-opts file\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"atlas_hbase_setup\",\n        \"description\": \"Use script to create Atlas tables in Hbase and set permissions for Atlas user.\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_hive_plugin_jdbc_url\",\n        \"description\": \"Handle Ranger hive repo config jdbc url change for stack 2.5 (AMBARI-18386)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"zkfc_version_advertised\",\n        \"description\": \"ZKFC advertise version\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"phoenix_core_hdfs_site_required\",\n        \"description\": \"HDFS and CORE site required for Phoenix\",\n        \"max_version\": \"2.5.9.9\"\n      },\n      {\n        \"name\": \"ranger_tagsync_ssl_xml_support\",\n        \"description\": \"Ranger Tagsync ssl xml support.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"ranger_xml_configuration\",\n        \"description\": \"Ranger code base support xml configurations\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"kafka_ranger_plugin_support\",\n        \"description\": \"Ambari stack changes for Ranger Kafka Plugin (AMBARI-11299)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"yarn_ranger_plugin_support\",\n        \"description\": \"Implement Stack changes for Ranger Yarn Plugin integration (AMBARI-10866)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger_solr_config_support\",\n        \"description\": \"Showing Ranger solrconfig.xml on UI\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hive_interactive_atlas_hook_required\",\n        \"description\": \"Registering Atlas Hook for Hive Interactive.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"core_site_for_ranger_plugins\",\n        \"description\": \"Adding core-site.xml in when Ranger plugin is enabled for Storm, Kafka, and Knox.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_install_hook_package_support\",\n        \"description\": \"Stop installing packages from 2.6\",\n        \"max_version\": \"2.5.9.9\"\n      },\n      {\n        \"name\": \"atlas_hdfs_site_on_namenode_ha\",\n        \"description\": \"Need to create hdfs-site under atlas-conf dir when Namenode-HA is enabled.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hive_interactive_ga\",\n        \"description\": \"Hive Interactive GA support\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"secure_ranger_ssl_password\",\n        \"description\": \"Securing Ranger Admin and Usersync SSL and Trustore related passwords in jceks\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_ssl\",\n        \"description\": \"Ranger KMS SSL properties in ambari stack\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"nifi_encrypt_config\",\n        \"description\": \"Encrypt sensitive properties written to nifi property file\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"toolkit_config_update\",\n        \"description\": \"Support separate input and output for toolkit configuration\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"admin_toolkit_support\",\n        \"description\": \"Supports the nifi admin toolkit\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"tls_toolkit_san\",\n        \"description\": \"Support subject alternative name flag\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"nifi_jaas_conf_create\",\n        \"description\": \"Create NIFI jaas configuration when kerberos is enabled\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_core_site_support\",\n        \"description\": \"Need to create core-site under Atlas conf directory.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hadoop_custom_extensions\",\n        \"description\": \"Support hadoop custom extensions\",\n        \"min_version\": \"2.6.0.0\"\n      }\n    ]\n  }\n}\n",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true,
      "property-file-name" : "stack_features.json",
      "property-file-type" : "json"
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}


{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "The name of the stack.",
    "property_name" : "stack_name",
    "property_type" : [ ],
    "property_value" : "HDP",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}


{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "Associations between component and stack-select tools.",
    "property_name" : "stack_packages",
    "property_type" : [
      "VALUE_FROM_PROPERTY_FILE"
    ],
    "property_value" : "{\n  \"HDP\": {\n    \"stack-select\": {\n      \"ACCUMULO\": {\n        \"ACCUMULO_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-client\",\n          \"INSTALL\": [\n            \"accumulo-client\"\n          ],\n          \"PATCH\": [\n            \"accumulo-client\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_GC\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-gc\",\n          \"INSTALL\": [\n            \"accumulo-gc\"\n          ],\n          \"PATCH\": [\n            \"accumulo-gc\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-gc\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-master\",\n          \"INSTALL\": [\n            \"accumulo-master\"\n          ],\n          \"PATCH\": [\n            \"accumulo-master\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-master\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_MONITOR\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-monitor\",\n          \"INSTALL\": [\n            \"accumulo-monitor\"\n          ],\n          \"PATCH\": [\n            \"accumulo-monitor\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-monitor\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_TRACER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-tracer\",\n          \"INSTALL\": [\n            \"accumulo-tracer\"\n          ],\n          \"PATCH\": [\n            \"accumulo-tracer\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-tracer\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_TSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-tablet\",\n          \"INSTALL\": [\n            \"accumulo-tablet\"\n          ],\n          \"PATCH\": [\n            \"accumulo-tablet\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-tablet\",\n            \"accumulo-client\"\n          ]\n        }\n      },\n      \"ATLAS\": {\n        \"ATLAS_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"atlas-client\",\n          \"INSTALL\": [\n            \"atlas-client\"\n          ],\n          \"PATCH\": [\n            \"atlas-client\"\n          ],\n          \"STANDARD\": [\n            \"atlas-client\"\n          ]\n        },\n        \"ATLAS_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"atlas-server\",\n          \"INSTALL\": [\n            \"atlas-server\"\n          ],\n          \"PATCH\": [\n            \"atlas-server\"\n          ],\n          \"STANDARD\": [\n            \"atlas-server\"\n          ]\n        }\n      },\n      \"DRUID\": {\n        \"DRUID_COORDINATOR\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-coordinator\",\n          \"INSTALL\": [\n            \"druid-coordinator\"\n          ],\n          \"PATCH\": [\n            \"druid-coordinator\"\n          ],\n          \"STANDARD\": [\n            \"druid-coordinator\"\n          ]\n        },\n        \"DRUID_OVERLORD\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-overlord\",\n          \"INSTALL\": [\n            \"druid-overlord\"\n          ],\n          \"PATCH\": [\n            \"druid-overlord\"\n          ],\n          \"STANDARD\": [\n            \"druid-overlord\"\n          ]\n        },\n        \"DRUID_HISTORICAL\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-historical\",\n          \"INSTALL\": [\n            \"druid-historical\"\n          ],\n          \"PATCH\": [\n            \"druid-historical\"\n          ],\n          \"STANDARD\": [\n            \"druid-historical\"\n          ]\n        },\n        \"DRUID_BROKER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-broker\",\n          \"INSTALL\": [\n            \"druid-broker\"\n          ],\n          \"PATCH\": [\n            \"druid-broker\"\n          ],\n          \"STANDARD\": [\n            \"druid-broker\"\n          ]\n        },\n        \"DRUID_MIDDLEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-middlemanager\",\n          \"INSTALL\": [\n            \"druid-middlemanager\"\n          ],\n          \"PATCH\": [\n            \"druid-middlemanager\"\n          ],\n          \"STANDARD\": [\n            \"druid-middlemanager\"\n          ]\n        },\n        \"DRUID_ROUTER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-router\",\n          \"INSTALL\": [\n            \"druid-router\"\n          ],\n          \"PATCH\": [\n            \"druid-router\"\n          ],\n          \"STANDARD\": [\n            \"druid-router\"\n          ]\n        },\n        \"DRUID_SUPERSET\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-superset\",\n          \"INSTALL\": [\n            \"druid-superset\"\n          ],\n          \"PATCH\": [\n            \"druid-superset\"\n          ],\n          \"STANDARD\": [\n            \"druid-superset\"\n          ]\n        }\n      },\n      \"FALCON\": {\n        \"FALCON_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"falcon-client\",\n          \"INSTALL\": [\n            \"falcon-client\"\n          ],\n          \"PATCH\": [\n            \"falcon-client\"\n          ],\n          \"STANDARD\": [\n            \"falcon-client\"\n          ]\n        },\n        \"FALCON_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"falcon-server\",\n          \"INSTALL\": [\n            \"falcon-server\"\n          ],\n          \"PATCH\": [\n            \"falcon-server\"\n          ],\n          \"STANDARD\": [\n            \"falcon-server\"\n          ]\n        }\n      },\n      \"FLUME\": {\n        \"FLUME_HANDLER\": {\n          \"STACK-SELECT-PACKAGE\": \"flume-server\",\n          \"INSTALL\": [\n            \"flume-server\"\n          ],\n          \"PATCH\": [\n            \"flume-server\"\n          ],\n          \"STANDARD\": [\n            \"flume-server\"\n          ]\n        }\n      },\n      \"HBASE\": {\n        \"HBASE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-client\",\n          \"INSTALL\": [\n            \"hbase-client\"\n          ],\n          \"PATCH\": [\n            \"hbase-client\"\n          ],\n          \"STANDARD\": [\n            \"hbase-client\",\n            \"phoenix-client\",\n            \"hadoop-client\"\n          ]\n        },\n        \"HBASE_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-master\",\n          \"INSTALL\": [\n            \"hbase-master\"\n          ],\n          \"PATCH\": [\n            \"hbase-master\"\n          ],\n          \"STANDARD\": [\n            \"hbase-master\"\n          ]\n        },\n        \"HBASE_REGIONSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-regionserver\",\n          \"INSTALL\": [\n            \"hbase-regionserver\"\n          ],\n          \"PATCH\": [\n            \"hbase-regionserver\"\n          ],\n          \"STANDARD\": [\n            \"hbase-regionserver\"\n          ]\n        },\n        \"PHOENIX_QUERY_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"phoenix-server\",\n          \"INSTALL\": [\n            \"phoenix-server\"\n          ],\n          \"PATCH\": [\n            \"phoenix-server\"\n          ],\n          \"STANDARD\": [\n            \"phoenix-server\"\n          ]\n        }\n      },\n      \"HDFS\": {\n        \"DATANODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-datanode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-datanode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-datanode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-datanode\"\n          ]\n        },\n        \"HDFS_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        },\n        \"NAMENODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-namenode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-namenode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-namenode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-namenode\"\n          ]\n        },\n        \"NFS_GATEWAY\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-nfs3\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-nfs3\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-nfs3\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-nfs3\"\n          ]\n        },\n        \"JOURNALNODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-journalnode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-journalnode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-journalnode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-journalnode\"\n          ]\n        },\n        \"SECONDARY_NAMENODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-secondarynamenode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ]\n        },\n        \"ZKFC\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-zkfc\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-zkfc\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-zkfc\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-zkfc\"\n          ]\n        }\n      },\n      \"HIVE\": {\n        \"HCAT\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-webhcat\",\n          \"INSTALL\": [\n            \"hive-webhcat\"\n          ],\n          \"PATCH\": [\n            \"hive-webhcat\"\n          ],\n          \"STANDARD\": [\n            \"hive-webhcat\"\n          ]\n        },\n        \"HIVE_METASTORE\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-metastore\",\n          \"INSTALL\": [\n            \"hive-metastore\"\n          ],\n          \"PATCH\": [\n            \"hive-metastore\"\n          ],\n          \"STANDARD\": [\n            \"hive-metastore\"\n          ]\n        },\n        \"HIVE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-server2\",\n          \"INSTALL\": [\n            \"hive-server2\"\n          ],\n          \"PATCH\": [\n            \"hive-server2\"\n          ],\n          \"STANDARD\": [\n            \"hive-server2\"\n          ]\n        },\n        \"HIVE_SERVER_INTERACTIVE\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-server2-hive2\",\n          \"INSTALL\": [\n            \"hive-server2-hive2\"\n          ],\n          \"PATCH\": [\n            \"hive-server2-hive2\"\n          ],\n          \"STANDARD\": [\n            \"hive-server2-hive2\"\n          ]\n        },\n        \"HIVE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hive-client\"\n          ],\n          \"PATCH\": [\n            \"hive-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        },\n        \"WEBHCAT_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-webhcat\",\n          \"INSTALL\": [\n            \"hive-webhcat\"\n          ],\n          \"PATCH\": [\n            \"hive-webhcat\"\n          ],\n          \"STANDARD\": [\n            \"hive-webhcat\"\n          ]\n        }\n      },\n      \"KAFKA\": {\n        \"KAFKA_BROKER\": {\n          \"STACK-SELECT-PACKAGE\": \"kafka-broker\",\n          \"INSTALL\": [\n            \"kafka-broker\"\n          ],\n          \"PATCH\": [\n            \"kafka-broker\"\n          ],\n          \"STANDARD\": [\n            \"kafka-broker\"\n          ]\n        }\n      },\n      \"KNOX\": {\n        \"KNOX_GATEWAY\": {\n          \"STACK-SELECT-PACKAGE\": \"knox-server\",\n          \"INSTALL\": [\n            \"knox-server\"\n          ],\n          \"PATCH\": [\n            \"knox-server\"\n          ],\n          \"STANDARD\": [\n            \"knox-server\"\n          ]\n        }\n      },\n      \"MAHOUT\": {\n        \"MAHOUT\": {\n          \"STACK-SELECT-PACKAGE\": \"mahout-client\",\n          \"INSTALL\": [\n            \"mahout-client\"\n          ],\n          \"PATCH\": [\n            \"mahout-client\"\n          ],\n          \"STANDARD\": [\n            \"mahout-client\"\n          ]\n        }\n      },\n      \"MAPREDUCE2\": {\n        \"HISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-mapreduce-historyserver\",\n          \"INSTALL\": [\n            \"hadoop-mapreduce-historyserver\"\n          ],\n          \"PATCH\": [\n            \"hadoop-mapreduce-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-mapreduce-historyserver\"\n          ]\n        },\n        \"MAPREDUCE2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-mapreduce-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-mapreduce-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-mapreduce-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"OOZIE\": {\n        \"OOZIE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"oozie-client\",\n          \"INSTALL\": [\n            \"oozie-client\"\n          ],\n          \"PATCH\": [\n            \"oozie-client\"\n          ],\n          \"STANDARD\": [\n            \"oozie-client\"\n          ]\n        },\n        \"OOZIE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"oozie-server\",\n          \"INSTALL\": [\n            \"oozie-client\",\n            \"oozie-server\"\n          ],\n          \"PATCH\": [\n            \"oozie-server\"\n          ],\n          \"STANDARD\": [\n            \"oozie-client\",\n            \"oozie-server\"\n          ]\n        }\n      },\n      \"PIG\": {\n        \"PIG\": {\n          \"STACK-SELECT-PACKAGE\": \"pig-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"pig-client\"\n          ],\n          \"PATCH\": [\n            \"pig-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"R4ML\": {\n        \"R4ML\": {\n          \"STACK-SELECT-PACKAGE\": \"r4ml-client\",\n          \"INSTALL\": [\n            \"r4ml-client\"\n          ],\n          \"PATCH\": [\n            \"r4ml-client\"\n          ],\n          \"STANDARD\": [\n            \"r4ml-client\"\n          ]\n        }\n      },\n      \"RANGER\": {\n        \"RANGER_ADMIN\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-admin\",\n          \"INSTALL\": [\n            \"ranger-admin\"\n          ],\n          \"PATCH\": [\n            \"ranger-admin\"\n          ],\n          \"STANDARD\": [\n            \"ranger-admin\"\n          ]\n        },\n        \"RANGER_TAGSYNC\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-tagsync\",\n          \"INSTALL\": [\n            \"ranger-tagsync\"\n          ],\n          \"PATCH\": [\n            \"ranger-tagsync\"\n          ],\n          \"STANDARD\": [\n            \"ranger-tagsync\"\n          ]\n        },\n        \"RANGER_USERSYNC\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-usersync\",\n          \"INSTALL\": [\n            \"ranger-usersync\"\n          ],\n          \"PATCH\": [\n            \"ranger-usersync\"\n          ],\n          \"STANDARD\": [\n            \"ranger-usersync\"\n          ]\n        }\n      },\n      \"RANGER_KMS\": {\n        \"RANGER_KMS_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-kms\",\n          \"INSTALL\": [\n            \"ranger-kms\"\n          ],\n          \"PATCH\": [\n            \"ranger-kms\"\n          ],\n          \"STANDARD\": [\n            \"ranger-kms\"\n          ]\n        }\n      },\n      \"SLIDER\": {\n        \"SLIDER\": {\n          \"STACK-SELECT-PACKAGE\": \"slider-client\",\n          \"INSTALL\": [\n            \"slider-client\"\n          ],\n          \"PATCH\": [\n            \"slider-client\"\n          ],\n          \"STANDARD\": [\n            \"slider-client\",\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"SPARK\": {\n        \"LIVY_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"livy-client\",\n          \"INSTALL\": [\n            \"livy-client\"\n          ],\n          \"PATCH\": [\n            \"livy-client\"\n          ],\n          \"STANDARD\": [\n            \"livy-client\"\n          ]\n        },\n        \"LIVY_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"livy-server\",\n          \"INSTALL\": [\n            \"livy-server\"\n          ],\n          \"PATCH\": [\n            \"livy-server\"\n          ],\n          \"STANDARD\": [\n            \"livy-server\"\n          ]\n        },\n        \"SPARK_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-client\",\n          \"INSTALL\": [\n            \"spark-client\"\n          ],\n          \"PATCH\": [\n            \"spark-client\"\n          ],\n          \"STANDARD\": [\n            \"spark-client\"\n          ]\n        },\n        \"SPARK_JOBHISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-historyserver\",\n          \"INSTALL\": [\n            \"spark-historyserver\"\n          ],\n          \"PATCH\": [\n            \"spark-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"spark-historyserver\"\n          ]\n        },\n        \"SPARK_THRIFTSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-thriftserver\",\n          \"INSTALL\": [\n            \"spark-thriftserver\"\n          ],\n          \"PATCH\": [\n            \"spark-thriftserver\"\n          ],\n          \"STANDARD\": [\n            \"spark-thriftserver\"\n          ]\n        }\n      },\n      \"SPARK2\": {\n        \"LIVY2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"livy2-client\",\n          \"INSTALL\": [\n            \"livy2-client\"\n          ],\n          \"PATCH\": [\n            \"livy2-client\"\n          ],\n          \"STANDARD\": [\n            \"livy2-client\"\n          ]\n        },\n        \"LIVY2_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"livy2-server\",\n          \"INSTALL\": [\n            \"livy2-server\"\n          ],\n          \"PATCH\": [\n            \"livy2-server\"\n          ],\n          \"STANDARD\": [\n            \"livy2-server\"\n          ]\n        },\n        \"SPARK2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-client\",\n          \"INSTALL\": [\n            \"spark2-client\"\n          ],\n          \"PATCH\": [\n            \"spark2-client\"\n          ],\n          \"STANDARD\": [\n            \"spark2-client\"\n          ]\n        },\n        \"SPARK2_JOBHISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-historyserver\",\n          \"INSTALL\": [\n            \"spark2-historyserver\"\n          ],\n          \"PATCH\": [\n            \"spark2-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"spark2-historyserver\"\n          ]\n        },\n        \"SPARK2_THRIFTSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-thriftserver\",\n          \"INSTALL\": [\n            \"spark2-thriftserver\"\n          ],\n          \"PATCH\": [\n            \"spark2-thriftserver\"\n          ],\n          \"STANDARD\": [\n            \"spark2-thriftserver\"\n          ]\n        }\n      },\n      \"SQOOP\": {\n        \"SQOOP\": {\n          \"STACK-SELECT-PACKAGE\": \"sqoop-client\",\n          \"INSTALL\": [\n            \"sqoop-client\"\n          ],\n          \"PATCH\": [\n            \"sqoop-client\"\n          ],\n          \"STANDARD\": [\n            \"sqoop-client\"\n          ]\n        }\n      },\n      \"STORM\": {\n        \"NIMBUS\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-nimbus\",\n          \"INSTALL\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ],\n          \"PATCH\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ]\n        },\n        \"SUPERVISOR\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-supervisor\",\n          \"INSTALL\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ],\n          \"PATCH\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ]\n        },\n        \"DRPC_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-client\",\n          \"INSTALL\": [\n            \"storm-client\"\n          ],\n          \"PATCH\": [\n            \"storm-client\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\"\n          ]\n        },\n        \"STORM_UI_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-client\",\n          \"INSTALL\": [\n            \"storm-client\"\n          ],\n          \"PATCH\": [\n            \"storm-client\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\"\n          ]\n        }\n      },\n      \"SYSTEMML\": {\n        \"SYSTEMML\": {\n          \"STACK-SELECT-PACKAGE\": \"systemml-client\",\n          \"INSTALL\": [\n            \"systemml-client\"\n          ],\n          \"PATCH\": [\n            \"systemml-client\"\n          ],\n          \"STANDARD\": [\n            \"systemml-client\"\n          ]\n        }\n      },\n      \"TEZ\": {\n        \"TEZ_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"tez-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"tez-client\"\n          ],\n          \"PATCH\": [\n            \"tez-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"TITAN\": {\n        \"TITAN_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"titan-client\",\n          \"INSTALL\": [\n            \"titan-client\"\n          ],\n          \"PATCH\": [\n            \"titan-client\"\n          ],\n          \"STANDARD\": [\n            \"titan-client\"\n          ]\n        },\n        \"TITAN_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"titan-server\",\n          \"INSTALL\": [\n            \"titan-server\"\n          ],\n          \"PATCH\": [\n            \"titan-server\"\n          ],\n          \"STANDARD\": [\n            \"titan-server\"\n          ]\n        }\n      },\n      \"YARN\": {\n        \"APP_TIMELINE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-timelineserver\",\n          \"INSTALL\": [\n            \"hadoop-yarn-timelineserver\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-timelineserver\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-timelineserver\"\n          ]\n        },\n        \"NODEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-nodemanager\",\n          \"INSTALL\": [\n            \"hadoop-yarn-nodemanager\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-nodemanager\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-nodemanager\"\n          ]\n        },\n        \"RESOURCEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-resourcemanager\",\n          \"INSTALL\": [\n            \"hadoop-yarn-resourcemanager\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-resourcemanager\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-resourcemanager\"\n          ]\n        },\n        \"YARN_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-yarn-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"ZEPPELIN\": {\n        \"ZEPPELIN_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"zeppelin-server\",\n          \"INSTALL\": [\n            \"zeppelin-server\"\n          ],\n          \"PATCH\": [\n            \"zeppelin-server\"\n          ],\n          \"STANDARD\": [\n            \"zeppelin-server\"\n          ]\n        }\n      },\n      \"ZOOKEEPER\": {\n        \"ZOOKEEPER_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"zookeeper-client\",\n          \"INSTALL\": [\n            \"zookeeper-client\"\n          ],\n          \"PATCH\": [\n            \"zookeeper-client\"\n          ],\n          \"STANDARD\": [\n            \"zookeeper-client\"\n          ]\n        },\n        \"ZOOKEEPER_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"zookeeper-server\",\n          \"INSTALL\": [\n            \"zookeeper-server\"\n          ],\n          \"PATCH\": [\n            \"zookeeper-server\"\n          ],\n          \"STANDARD\": [\n            \"zookeeper-server\"\n          ]\n        }\n      }\n    },\n    \"conf-select\": {\n      \"accumulo\": [\n        {\n          \"conf_dir\": \"/etc/accumulo/conf\",\n          \"current_dir\": \"{0}/current/accumulo-client/conf\"\n        }\n      ],\n      \"atlas\": [\n        {\n          \"conf_dir\": \"/etc/atlas/conf\",\n          \"current_dir\": \"{0}/current/atlas-client/conf\"\n        }\n      ],\n      \"druid\": [\n        {\n          \"conf_dir\": \"/etc/druid/conf\",\n          \"current_dir\": \"{0}/current/druid-overlord/conf\"\n        }\n      ],\n      \"falcon\": [\n        {\n          \"conf_dir\": \"/etc/falcon/conf\",\n          \"current_dir\": \"{0}/current/falcon-client/conf\"\n        }\n      ],\n      \"flume\": [\n        {\n          \"conf_dir\": \"/etc/flume/conf\",\n          \"current_dir\": \"{0}/current/flume-server/conf\"\n        }\n      ],\n      \"hadoop\": [\n        {\n          \"conf_dir\": \"/etc/hadoop/conf\",\n          \"current_dir\": \"{0}/current/hadoop-client/conf\"\n        }\n      ],\n      \"hbase\": [\n        {\n          \"conf_dir\": \"/etc/hbase/conf\",\n          \"current_dir\": \"{0}/current/hbase-client/conf\"\n        }\n      ],\n      \"hive\": [\n        {\n          \"conf_dir\": \"/etc/hive/conf\",\n          \"current_dir\": \"{0}/current/hive-client/conf\"\n        }\n      ],\n      \"hive2\": [\n        {\n          \"conf_dir\": \"/etc/hive2/conf\",\n          \"current_dir\": \"{0}/current/hive-server2-hive2/conf\"\n        }\n      ],\n      \"hive-hcatalog\": [\n        {\n          \"conf_dir\": \"/etc/hive-webhcat/conf\",\n          \"prefix\": \"/etc/hive-webhcat\",\n          \"current_dir\": \"{0}/current/hive-webhcat/etc/webhcat\"\n        },\n        {\n          \"conf_dir\": \"/etc/hive-hcatalog/conf\",\n          \"prefix\": \"/etc/hive-hcatalog\",\n          \"current_dir\": \"{0}/current/hive-webhcat/etc/hcatalog\"\n        }\n      ],\n      \"kafka\": [\n        {\n          \"conf_dir\": \"/etc/kafka/conf\",\n          \"current_dir\": \"{0}/current/kafka-broker/conf\"\n        }\n      ],\n      \"knox\": [\n        {\n          \"conf_dir\": \"/etc/knox/conf\",\n          \"current_dir\": \"{0}/current/knox-server/conf\"\n        }\n      ],\n      \"mahout\": [\n        {\n          \"conf_dir\": \"/etc/mahout/conf\",\n          \"current_dir\": \"{0}/current/mahout-client/conf\"\n        }\n      ],\n      \"nifi\": [\n        {\n          \"conf_dir\": \"/etc/nifi/conf\",\n          \"current_dir\": \"{0}/current/nifi/conf\"\n        }\n      ],\n      \"oozie\": [\n        {\n          \"conf_dir\": \"/etc/oozie/conf\",\n          \"current_dir\": \"{0}/current/oozie-client/conf\"\n        }\n      ],\n      \"phoenix\": [\n        {\n          \"conf_dir\": \"/etc/phoenix/conf\",\n          \"current_dir\": \"{0}/current/phoenix-client/conf\"\n        }\n      ],\n      \"pig\": [\n        {\n          \"conf_dir\": \"/etc/pig/conf\",\n          \"current_dir\": \"{0}/current/pig-client/conf\"\n        }\n      ],\n      \"ranger-admin\": [\n        {\n          \"conf_dir\": \"/etc/ranger/admin/conf\",\n          \"current_dir\": \"{0}/current/ranger-admin/conf\"\n        }\n      ],\n      \"ranger-kms\": [\n        {\n          \"conf_dir\": \"/etc/ranger/kms/conf\",\n          \"current_dir\": \"{0}/current/ranger-kms/conf\"\n        }\n      ],\n      \"ranger-tagsync\": [\n        {\n          \"conf_dir\": \"/etc/ranger/tagsync/conf\",\n          \"current_dir\": \"{0}/current/ranger-tagsync/conf\"\n        }\n      ],\n      \"ranger-usersync\": [\n        {\n          \"conf_dir\": \"/etc/ranger/usersync/conf\",\n          \"current_dir\": \"{0}/current/ranger-usersync/conf\"\n        }\n      ],\n      \"slider\": [\n        {\n          \"conf_dir\": \"/etc/slider/conf\",\n          \"current_dir\": \"{0}/current/slider-client/conf\"\n        }\n      ],\n      \"spark\": [\n        {\n          \"conf_dir\": \"/etc/spark/conf\",\n          \"current_dir\": \"{0}/current/spark-client/conf\"\n        }\n      ],\n      \"spark2\": [\n        {\n          \"conf_dir\": \"/etc/spark2/conf\",\n          \"current_dir\": \"{0}/current/spark2-client/conf\"\n        }\n      ],\n      \"sqoop\": [\n        {\n          \"conf_dir\": \"/etc/sqoop/conf\",\n          \"current_dir\": \"{0}/current/sqoop-client/conf\"\n        }\n      ],\n      \"storm\": [\n        {\n          \"conf_dir\": \"/etc/storm/conf\",\n          \"current_dir\": \"{0}/current/storm-client/conf\"\n        }\n      ],\n      \"storm-slider-client\": [\n        {\n          \"conf_dir\": \"/etc/storm-slider-client/conf\",\n          \"current_dir\": \"{0}/current/storm-slider-client/conf\"\n        }\n      ],\n      \"superset\": [\n        {\n          \"conf_dir\": \"/etc/druid-superset/conf\",\n          \"current_dir\": \"{0}/current/druid-superset/conf\"\n        }\n      ],\n      \"tez\": [\n        {\n          \"conf_dir\": \"/etc/tez/conf\",\n          \"current_dir\": \"{0}/current/tez-client/conf\"\n        }\n      ],\n      \"zeppelin\": [\n        {\n          \"conf_dir\": \"/etc/zeppelin/conf\",\n          \"current_dir\": \"{0}/current/zeppelin-server/conf\"\n        }\n      ],\n      \"zookeeper\": [\n        {\n          \"conf_dir\": \"/etc/zookeeper/conf\",\n          \"current_dir\": \"{0}/current/zookeeper-client/conf\"\n        }\n      ]\n    }\n  }\n}\n",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true,
      "property-file-name" : "stack_packages.json",
      "property-file-type" : "json"
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}


{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "JSON which defines the stack root by stack name",
    "property_name" : "stack_root",
    "property_type" : [ ],
    "property_value" : "{\"HDP\":\"/usr/hdp\"}",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}


{code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools }
{
  "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools",
  "StackSettingsInfo" : {
    "final" : "false",
    "property_depends_on" : [ ],
    "property_description" : "Stack specific tools",
    "property_name" : "stack_tools",
    "property_type" : [
      "VALUE_FROM_PROPERTY_FILE"
    ],
    "property_value" : "{\n  \"HDP\": {\n    \"stack_selector\": [\n      \"hdp-select\",\n      \"/usr/bin/hdp-select\",\n      \"hdp-select\"\n    ],\n    \"conf_selector\": [\n      \"conf-select\",\n      \"/usr/bin/conf-select\",\n      \"conf-select\"\n    ]\n  }\n}\n",
    "property_value_attributes" : {
      "visible" : false,
      "overridable" : false,
      "keyStore" : false,
      "read_only" : true,
      "property-file-name" : "stack_tools.json",
      "property-file-type" : "json"
    },
    "stack_name" : "HDP",
    "stack_version" : "2.6",
    "type" : "settings.xml"
  }
}
{code}




> Refactor stack-specific cluster-env configs to stack settings
> -------------------------------------------------------------
>
>                 Key: AMBARI-22198
>                 URL: https://issues.apache.org/jira/browse/AMBARI-22198
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.5.2
>            Reporter: Swapan Shridhar
>            Assignee: Swapan Shridhar
>            Priority: Critical
>             Fix For: trunk, 3.0.0
>
>
> This assumes the following things to be present in the stack coming from the mpack (as there is no inheritance in stacks, given the flat stack structure coming from mpacks):
> - settings.xml file in {{/var/lib/ambari-server/resources/stacks/<stackName>/<stackVersion>/configuration}}
> - {{stack_features.json}},  {{stack_packages.json}} and  {{stack_tools.json}} present in {{/var/lib/ambari-server/resources/stacks/<stackName>/<stackVersion>/properties/}} directory.
> This is done as part of JIRA : AMBARI-22285
> ----------------------------------------------------------------------
> *Work done in this JIRA*:
> - Refactoring stack-specific cluster-env configs to stack *settings* in stack version's *configuration* folder (for instance : /var/lib/ambari-server/resources/stacks/HDP/2.6/configuration)
> - Have the new read only {{http://<ip>:<port>/api/v1/stacks/<stackName>/versions/<stackVersion>/stack_settings}} API working.
> It assumes that 
> Testing on 2.6 stack
> {code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings}
> {
>   "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings",
>   "items" : [
>     {
>       "href" : "http://172.22.71.168:8080/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_features",
>       "StackSettingsInfo" : {
>         "property_name" : "stack_features",
>         "stack_name" : "HDP",
>         "stack_version" : "2.6"
>       }
>     },
>     {
>       "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name",
>       "StackSettingsInfo" : {
>         "property_name" : "stack_name",
>         "stack_name" : "HDP",
>         "stack_version" : "2.6"
>       }
>     },
>     {
>       "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages",
>       "StackSettingsInfo" : {
>         "property_name" : "stack_packages",
>         "stack_name" : "HDP",
>         "stack_version" : "2.6"
>       }
>     },
>     {
>       "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root",
>       "StackSettingsInfo" : {
>         "property_name" : "stack_root",
>         "stack_name" : "HDP",
>         "stack_version" : "2.6"
>       }
>     },
>     {
>       "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools",
>       "StackSettingsInfo" : {
>         "property_name" : "stack_tools",
>         "stack_name" : "HDP",
>         "stack_version" : "2.6"
>       }
>     }
>   ]
> }
> {code}
> {code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_features }
> {
>   "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_feature",
>   "StackSettingsInfo" : {
>     "final" : "false",
>     "property_depends_on" : [ ],
>     "property_description" : "List of features supported by the stack",
>     "property_name" : "stack_features",
>     "property_type" : [
>       "VALUE_FROM_PROPERTY_FILE"
>     ],
>     "property_value" : "{\n  \"HDP\": {\n    \"stack_features\": [\n      {\n        \"name\": \"snappy\",\n        \"description\": \"Snappy compressor/decompressor support\",\n        \"min_version\": \"2.0.0.0\",\n        \"max_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"lzo\",\n        \"description\": \"LZO libraries support\",\n        \"min_version\": \"2.2.1.0\"\n      },\n      {\n        \"name\": \"express_upgrade\",\n        \"description\": \"Express upgrade support\",\n        \"min_version\": \"2.1.0.0\"\n      },\n      {\n        \"name\": \"rolling_upgrade\",\n        \"description\": \"Rolling upgrade support\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"kafka_acl_migration_support\",\n        \"description\": \"ACL migration support\",\n        \"min_version\": \"2.3.4.0\"\n      },\n      {\n        \"name\": \"secure_zookeeper\",\n        \"description\": \"Protect ZNodes with SASL acl in secure clusters\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"config_versioning\",\n        \"description\": \"Configurable versions support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"datanode_non_root\",\n        \"description\": \"DataNode running as non-root support (AMBARI-7615)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"remove_ranger_hdfs_plugin_env\",\n        \"description\": \"HDFS removes Ranger env files (AMBARI-14299)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger\",\n        \"description\": \"Ranger Service support\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_tagsync_component\",\n        \"description\": \"Ranger Tagsync component support (AMBARI-14383)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"phoenix\",\n        \"description\": \"Phoenix Service support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"nfs\",\n        \"description\": \"NFS support\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"tez_for_spark\",\n        \"description\": \"Tez dependency for Spark\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"timeline_state_store\",\n        \"description\": \"Yarn application timeline-service supports state store property (AMBARI-11442)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"copy_tarball_to_hdfs\",\n        \"description\": \"Copy tarball to HDFS support (AMBARI-12113)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"spark_16plus\",\n        \"description\": \"Spark 1.6+\",\n        \"min_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"spark_thriftserver\",\n        \"description\": \"Spark Thrift Server\",\n        \"min_version\": \"2.3.2.0\"\n      },\n      {\n        \"name\": \"storm_kerberos\",\n        \"description\": \"Storm Kerberos support (AMBARI-7570)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"storm_ams\",\n        \"description\": \"Storm AMS integration (AMBARI-10710)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"kafka_listeners\",\n        \"description\": \"Kafka listeners (AMBARI-10984)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"kafka_kerberos\",\n        \"description\": \"Kafka Kerberos support (AMBARI-10984)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"pig_on_tez\",\n        \"description\": \"Pig on Tez support (AMBARI-7863)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_usersync_non_root\",\n        \"description\": \"Ranger Usersync as non-root user (AMBARI-10416)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger_audit_db_support\",\n        \"description\": \"Ranger Audit to DB support\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.4.99.99\"\n      },\n      {\n        \"name\": \"accumulo_kerberos_user_auth\",\n        \"description\": \"Accumulo Kerberos User Auth (AMBARI-10163)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"knox_versioned_data_dir\",\n        \"description\": \"Use versioned data dir for Knox (AMBARI-13164)\",\n        \"min_version\": \"2.3.2.0\"\n      },\n      {\n        \"name\": \"knox_sso_topology\",\n        \"description\": \"Knox SSO Topology support (AMBARI-13975)\",\n        \"min_version\": \"2.3.8.0\"\n      },\n      {\n        \"name\": \"atlas_rolling_upgrade\",\n        \"description\": \"Rolling upgrade support for Atlas\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"oozie_admin_user\",\n        \"description\": \"Oozie install user as an Oozie admin user (AMBARI-7976)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_create_hive_tez_configs\",\n        \"description\": \"Oozie create configs for Ambari Hive and Tez deployments (AMBARI-8074)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_setup_shared_lib\",\n        \"description\": \"Oozie setup tools used to shared Oozie lib to HDFS (AMBARI-7240)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"oozie_host_kerberos\",\n        \"description\": \"Oozie in secured clusters uses _HOST in Kerberos principal (AMBARI-9775)\",\n        \"min_version\": \"2.0.0.0\"\n      },\n      {\n        \"name\": \"falcon_extensions\",\n        \"description\": \"Falcon Extension\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_metastore_upgrade_schema\",\n        \"description\": \"Hive metastore upgrade schema support (AMBARI-11176)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_server_interactive\",\n        \"description\": \"Hive server interactive support (AMBARI-15573)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_webhcat_specific_configs\",\n        \"description\": \"Hive webhcat specific configurations support (AMBARI-12364)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_purge_table\",\n        \"description\": \"Hive purge table support (AMBARI-12260)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"hive_server2_kerberized_env\",\n        \"description\": \"Hive server2 working on kerberized environment (AMBARI-13749)\",\n        \"min_version\": \"2.2.3.0\",\n        \"max_version\": \"2.2.5.0\"\n      },\n      {\n        \"name\": \"hive_env_heapsize\",\n        \"description\": \"Hive heapsize property defined in hive-env (AMBARI-12801)\",\n        \"min_version\": \"2.2.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_hsm_support\",\n        \"description\": \"Ranger KMS HSM support (AMBARI-15752)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_log4j_support\",\n        \"description\": \"Ranger supporting log-4j properties (AMBARI-15681)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_kerberos_support\",\n        \"description\": \"Ranger Kerberos support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hive_metastore_site_support\",\n        \"description\": \"Hive Metastore site support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_usersync_password_jceks\",\n        \"description\": \"Saving Ranger Usersync credentials in jceks\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_install_infra_client\",\n        \"description\": \"Ambari Infra Service support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"falcon_atlas_support_2_3\",\n        \"description\": \"Falcon Atlas integration support for 2.3 stack\",\n        \"min_version\": \"2.3.99.0\",\n        \"max_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"falcon_atlas_support\",\n        \"description\": \"Falcon Atlas integration\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"hbase_home_directory\",\n        \"description\": \"Hbase home directory in HDFS needed for HBASE backup\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_livy\",\n        \"description\": \"Livy as slave component of spark\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_livy2\",\n        \"description\": \"Livy as slave component of spark\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_ranger_plugin_support\",\n        \"description\": \"Atlas Ranger plugin support\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"atlas_conf_dir_in_path\",\n        \"description\": \"Prepend the Atlas conf dir (/etc/atlas/conf) to the classpath of Storm and Falcon\",\n        \"min_version\": \"2.3.0.0\",\n        \"max_version\": \"2.4.99.99\"\n      },\n      {\n        \"name\": \"atlas_upgrade_support\",\n        \"description\": \"Atlas supports express and rolling upgrades\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"atlas_hook_support\",\n        \"description\": \"Atlas support for hooks in Hive, Storm, Falcon, and Sqoop\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_pid_support\",\n        \"description\": \"Ranger Service support pid generation AMBARI-16756\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_pid_support\",\n        \"description\": \"Ranger KMS Service support pid generation\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_admin_password_change\",\n        \"description\": \"Allow ranger admin credentials to be specified during cluster creation (AMBARI-17000)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_setup_db_on_start\",\n        \"description\": \"Allows setup of ranger db and java patches to be called multiple times on each START\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"storm_metrics_apache_classes\",\n        \"description\": \"Metrics sink for Storm that uses Apache class names\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"spark_java_opts_support\",\n        \"description\": \"Allow Spark to generate java-opts file\",\n        \"min_version\": \"2.2.0.0\",\n        \"max_version\": \"2.4.0.0\"\n      },\n      {\n        \"name\": \"atlas_hbase_setup\",\n        \"description\": \"Use script to create Atlas tables in Hbase and set permissions for Atlas user.\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"ranger_hive_plugin_jdbc_url\",\n        \"description\": \"Handle Ranger hive repo config jdbc url change for stack 2.5 (AMBARI-18386)\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"zkfc_version_advertised\",\n        \"description\": \"ZKFC advertise version\",\n        \"min_version\": \"2.5.0.0\"\n      },\n      {\n        \"name\": \"phoenix_core_hdfs_site_required\",\n        \"description\": \"HDFS and CORE site required for Phoenix\",\n        \"max_version\": \"2.5.9.9\"\n      },\n      {\n        \"name\": \"ranger_tagsync_ssl_xml_support\",\n        \"description\": \"Ranger Tagsync ssl xml support.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"ranger_xml_configuration\",\n        \"description\": \"Ranger code base support xml configurations\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"kafka_ranger_plugin_support\",\n        \"description\": \"Ambari stack changes for Ranger Kafka Plugin (AMBARI-11299)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"yarn_ranger_plugin_support\",\n        \"description\": \"Implement Stack changes for Ranger Yarn Plugin integration (AMBARI-10866)\",\n        \"min_version\": \"2.3.0.0\"\n      },\n      {\n        \"name\": \"ranger_solr_config_support\",\n        \"description\": \"Showing Ranger solrconfig.xml on UI\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hive_interactive_atlas_hook_required\",\n        \"description\": \"Registering Atlas Hook for Hive Interactive.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"core_site_for_ranger_plugins\",\n        \"description\": \"Adding core-site.xml in when Ranger plugin is enabled for Storm, Kafka, and Knox.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_install_hook_package_support\",\n        \"description\": \"Stop installing packages from 2.6\",\n        \"max_version\": \"2.5.9.9\"\n      },\n      {\n        \"name\": \"atlas_hdfs_site_on_namenode_ha\",\n        \"description\": \"Need to create hdfs-site under atlas-conf dir when Namenode-HA is enabled.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hive_interactive_ga\",\n        \"description\": \"Hive Interactive GA support\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"secure_ranger_ssl_password\",\n        \"description\": \"Securing Ranger Admin and Usersync SSL and Trustore related passwords in jceks\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"ranger_kms_ssl\",\n        \"description\": \"Ranger KMS SSL properties in ambari stack\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"nifi_encrypt_config\",\n        \"description\": \"Encrypt sensitive properties written to nifi property file\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"toolkit_config_update\",\n        \"description\": \"Support separate input and output for toolkit configuration\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"admin_toolkit_support\",\n        \"description\": \"Supports the nifi admin toolkit\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"tls_toolkit_san\",\n        \"description\": \"Support subject alternative name flag\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"nifi_jaas_conf_create\",\n        \"description\": \"Create NIFI jaas configuration when kerberos is enabled\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"atlas_core_site_support\",\n        \"description\": \"Need to create core-site under Atlas conf directory.\",\n        \"min_version\": \"2.6.0.0\"\n      },\n      {\n        \"name\": \"hadoop_custom_extensions\",\n        \"description\": \"Support hadoop custom extensions\",\n        \"min_version\": \"2.6.0.0\"\n      }\n    ]\n  }\n}\n",
>     "property_value_attributes" : {
>       "visible" : false,
>       "overridable" : false,
>       "keyStore" : false,
>       "read_only" : true,
>       "property-file-name" : "stack_features.json",
>       "property-file-type" : "json"
>     },
>     "stack_name" : "HDP",
>     "stack_version" : "2.6",
>     "type" : "settings.xml"
>   }
> }
> {code}
> {code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name }
> {
>   "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_name",
>   "StackSettingsInfo" : {
>     "final" : "false",
>     "property_depends_on" : [ ],
>     "property_description" : "The name of the stack.",
>     "property_name" : "stack_name",
>     "property_type" : [ ],
>     "property_value" : "HDP",
>     "property_value_attributes" : {
>       "visible" : false,
>       "overridable" : false,
>       "keyStore" : false,
>       "read_only" : true
>     },
>     "stack_name" : "HDP",
>     "stack_version" : "2.6",
>     "type" : "settings.xml"
>   }
> }
> {code}
> {code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages }
> {
>   "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_packages",
>   "StackSettingsInfo" : {
>     "final" : "false",
>     "property_depends_on" : [ ],
>     "property_description" : "Associations between component and stack-select tools.",
>     "property_name" : "stack_packages",
>     "property_type" : [
>       "VALUE_FROM_PROPERTY_FILE"
>     ],
>     "property_value" : "{\n  \"HDP\": {\n    \"stack-select\": {\n      \"ACCUMULO\": {\n        \"ACCUMULO_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-client\",\n          \"INSTALL\": [\n            \"accumulo-client\"\n          ],\n          \"PATCH\": [\n            \"accumulo-client\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_GC\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-gc\",\n          \"INSTALL\": [\n            \"accumulo-gc\"\n          ],\n          \"PATCH\": [\n            \"accumulo-gc\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-gc\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-master\",\n          \"INSTALL\": [\n            \"accumulo-master\"\n          ],\n          \"PATCH\": [\n            \"accumulo-master\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-master\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_MONITOR\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-monitor\",\n          \"INSTALL\": [\n            \"accumulo-monitor\"\n          ],\n          \"PATCH\": [\n            \"accumulo-monitor\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-monitor\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_TRACER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-tracer\",\n          \"INSTALL\": [\n            \"accumulo-tracer\"\n          ],\n          \"PATCH\": [\n            \"accumulo-tracer\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-tracer\",\n            \"accumulo-client\"\n          ]\n        },\n        \"ACCUMULO_TSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"accumulo-tablet\",\n          \"INSTALL\": [\n            \"accumulo-tablet\"\n          ],\n          \"PATCH\": [\n            \"accumulo-tablet\"\n          ],\n          \"STANDARD\": [\n            \"accumulo-tablet\",\n            \"accumulo-client\"\n          ]\n        }\n      },\n      \"ATLAS\": {\n        \"ATLAS_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"atlas-client\",\n          \"INSTALL\": [\n            \"atlas-client\"\n          ],\n          \"PATCH\": [\n            \"atlas-client\"\n          ],\n          \"STANDARD\": [\n            \"atlas-client\"\n          ]\n        },\n        \"ATLAS_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"atlas-server\",\n          \"INSTALL\": [\n            \"atlas-server\"\n          ],\n          \"PATCH\": [\n            \"atlas-server\"\n          ],\n          \"STANDARD\": [\n            \"atlas-server\"\n          ]\n        }\n      },\n      \"DRUID\": {\n        \"DRUID_COORDINATOR\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-coordinator\",\n          \"INSTALL\": [\n            \"druid-coordinator\"\n          ],\n          \"PATCH\": [\n            \"druid-coordinator\"\n          ],\n          \"STANDARD\": [\n            \"druid-coordinator\"\n          ]\n        },\n        \"DRUID_OVERLORD\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-overlord\",\n          \"INSTALL\": [\n            \"druid-overlord\"\n          ],\n          \"PATCH\": [\n            \"druid-overlord\"\n          ],\n          \"STANDARD\": [\n            \"druid-overlord\"\n          ]\n        },\n        \"DRUID_HISTORICAL\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-historical\",\n          \"INSTALL\": [\n            \"druid-historical\"\n          ],\n          \"PATCH\": [\n            \"druid-historical\"\n          ],\n          \"STANDARD\": [\n            \"druid-historical\"\n          ]\n        },\n        \"DRUID_BROKER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-broker\",\n          \"INSTALL\": [\n            \"druid-broker\"\n          ],\n          \"PATCH\": [\n            \"druid-broker\"\n          ],\n          \"STANDARD\": [\n            \"druid-broker\"\n          ]\n        },\n        \"DRUID_MIDDLEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-middlemanager\",\n          \"INSTALL\": [\n            \"druid-middlemanager\"\n          ],\n          \"PATCH\": [\n            \"druid-middlemanager\"\n          ],\n          \"STANDARD\": [\n            \"druid-middlemanager\"\n          ]\n        },\n        \"DRUID_ROUTER\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-router\",\n          \"INSTALL\": [\n            \"druid-router\"\n          ],\n          \"PATCH\": [\n            \"druid-router\"\n          ],\n          \"STANDARD\": [\n            \"druid-router\"\n          ]\n        },\n        \"DRUID_SUPERSET\": {\n          \"STACK-SELECT-PACKAGE\": \"druid-superset\",\n          \"INSTALL\": [\n            \"druid-superset\"\n          ],\n          \"PATCH\": [\n            \"druid-superset\"\n          ],\n          \"STANDARD\": [\n            \"druid-superset\"\n          ]\n        }\n      },\n      \"FALCON\": {\n        \"FALCON_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"falcon-client\",\n          \"INSTALL\": [\n            \"falcon-client\"\n          ],\n          \"PATCH\": [\n            \"falcon-client\"\n          ],\n          \"STANDARD\": [\n            \"falcon-client\"\n          ]\n        },\n        \"FALCON_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"falcon-server\",\n          \"INSTALL\": [\n            \"falcon-server\"\n          ],\n          \"PATCH\": [\n            \"falcon-server\"\n          ],\n          \"STANDARD\": [\n            \"falcon-server\"\n          ]\n        }\n      },\n      \"FLUME\": {\n        \"FLUME_HANDLER\": {\n          \"STACK-SELECT-PACKAGE\": \"flume-server\",\n          \"INSTALL\": [\n            \"flume-server\"\n          ],\n          \"PATCH\": [\n            \"flume-server\"\n          ],\n          \"STANDARD\": [\n            \"flume-server\"\n          ]\n        }\n      },\n      \"HBASE\": {\n        \"HBASE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-client\",\n          \"INSTALL\": [\n            \"hbase-client\"\n          ],\n          \"PATCH\": [\n            \"hbase-client\"\n          ],\n          \"STANDARD\": [\n            \"hbase-client\",\n            \"phoenix-client\",\n            \"hadoop-client\"\n          ]\n        },\n        \"HBASE_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-master\",\n          \"INSTALL\": [\n            \"hbase-master\"\n          ],\n          \"PATCH\": [\n            \"hbase-master\"\n          ],\n          \"STANDARD\": [\n            \"hbase-master\"\n          ]\n        },\n        \"HBASE_REGIONSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hbase-regionserver\",\n          \"INSTALL\": [\n            \"hbase-regionserver\"\n          ],\n          \"PATCH\": [\n            \"hbase-regionserver\"\n          ],\n          \"STANDARD\": [\n            \"hbase-regionserver\"\n          ]\n        },\n        \"PHOENIX_QUERY_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"phoenix-server\",\n          \"INSTALL\": [\n            \"phoenix-server\"\n          ],\n          \"PATCH\": [\n            \"phoenix-server\"\n          ],\n          \"STANDARD\": [\n            \"phoenix-server\"\n          ]\n        }\n      },\n      \"HDFS\": {\n        \"DATANODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-datanode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-datanode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-datanode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-datanode\"\n          ]\n        },\n        \"HDFS_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        },\n        \"NAMENODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-namenode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-namenode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-namenode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-namenode\"\n          ]\n        },\n        \"NFS_GATEWAY\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-nfs3\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-nfs3\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-nfs3\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-nfs3\"\n          ]\n        },\n        \"JOURNALNODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-journalnode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-journalnode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-journalnode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-journalnode\"\n          ]\n        },\n        \"SECONDARY_NAMENODE\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-secondarynamenode\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-secondarynamenode\"\n          ]\n        },\n        \"ZKFC\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-hdfs-zkfc\",\n          \"INSTALL\": [\n            \"hadoop-hdfs-zkfc\"\n          ],\n          \"PATCH\": [\n            \"hadoop-hdfs-zkfc\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-hdfs-zkfc\"\n          ]\n        }\n      },\n      \"HIVE\": {\n        \"HCAT\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-webhcat\",\n          \"INSTALL\": [\n            \"hive-webhcat\"\n          ],\n          \"PATCH\": [\n            \"hive-webhcat\"\n          ],\n          \"STANDARD\": [\n            \"hive-webhcat\"\n          ]\n        },\n        \"HIVE_METASTORE\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-metastore\",\n          \"INSTALL\": [\n            \"hive-metastore\"\n          ],\n          \"PATCH\": [\n            \"hive-metastore\"\n          ],\n          \"STANDARD\": [\n            \"hive-metastore\"\n          ]\n        },\n        \"HIVE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-server2\",\n          \"INSTALL\": [\n            \"hive-server2\"\n          ],\n          \"PATCH\": [\n            \"hive-server2\"\n          ],\n          \"STANDARD\": [\n            \"hive-server2\"\n          ]\n        },\n        \"HIVE_SERVER_INTERACTIVE\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-server2-hive2\",\n          \"INSTALL\": [\n            \"hive-server2-hive2\"\n          ],\n          \"PATCH\": [\n            \"hive-server2-hive2\"\n          ],\n          \"STANDARD\": [\n            \"hive-server2-hive2\"\n          ]\n        },\n        \"HIVE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hive-client\"\n          ],\n          \"PATCH\": [\n            \"hive-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        },\n        \"WEBHCAT_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hive-webhcat\",\n          \"INSTALL\": [\n            \"hive-webhcat\"\n          ],\n          \"PATCH\": [\n            \"hive-webhcat\"\n          ],\n          \"STANDARD\": [\n            \"hive-webhcat\"\n          ]\n        }\n      },\n      \"KAFKA\": {\n        \"KAFKA_BROKER\": {\n          \"STACK-SELECT-PACKAGE\": \"kafka-broker\",\n          \"INSTALL\": [\n            \"kafka-broker\"\n          ],\n          \"PATCH\": [\n            \"kafka-broker\"\n          ],\n          \"STANDARD\": [\n            \"kafka-broker\"\n          ]\n        }\n      },\n      \"KNOX\": {\n        \"KNOX_GATEWAY\": {\n          \"STACK-SELECT-PACKAGE\": \"knox-server\",\n          \"INSTALL\": [\n            \"knox-server\"\n          ],\n          \"PATCH\": [\n            \"knox-server\"\n          ],\n          \"STANDARD\": [\n            \"knox-server\"\n          ]\n        }\n      },\n      \"MAHOUT\": {\n        \"MAHOUT\": {\n          \"STACK-SELECT-PACKAGE\": \"mahout-client\",\n          \"INSTALL\": [\n            \"mahout-client\"\n          ],\n          \"PATCH\": [\n            \"mahout-client\"\n          ],\n          \"STANDARD\": [\n            \"mahout-client\"\n          ]\n        }\n      },\n      \"MAPREDUCE2\": {\n        \"HISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-mapreduce-historyserver\",\n          \"INSTALL\": [\n            \"hadoop-mapreduce-historyserver\"\n          ],\n          \"PATCH\": [\n            \"hadoop-mapreduce-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-mapreduce-historyserver\"\n          ]\n        },\n        \"MAPREDUCE2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-mapreduce-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-mapreduce-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-mapreduce-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"OOZIE\": {\n        \"OOZIE_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"oozie-client\",\n          \"INSTALL\": [\n            \"oozie-client\"\n          ],\n          \"PATCH\": [\n            \"oozie-client\"\n          ],\n          \"STANDARD\": [\n            \"oozie-client\"\n          ]\n        },\n        \"OOZIE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"oozie-server\",\n          \"INSTALL\": [\n            \"oozie-client\",\n            \"oozie-server\"\n          ],\n          \"PATCH\": [\n            \"oozie-server\"\n          ],\n          \"STANDARD\": [\n            \"oozie-client\",\n            \"oozie-server\"\n          ]\n        }\n      },\n      \"PIG\": {\n        \"PIG\": {\n          \"STACK-SELECT-PACKAGE\": \"pig-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"pig-client\"\n          ],\n          \"PATCH\": [\n            \"pig-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"R4ML\": {\n        \"R4ML\": {\n          \"STACK-SELECT-PACKAGE\": \"r4ml-client\",\n          \"INSTALL\": [\n            \"r4ml-client\"\n          ],\n          \"PATCH\": [\n            \"r4ml-client\"\n          ],\n          \"STANDARD\": [\n            \"r4ml-client\"\n          ]\n        }\n      },\n      \"RANGER\": {\n        \"RANGER_ADMIN\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-admin\",\n          \"INSTALL\": [\n            \"ranger-admin\"\n          ],\n          \"PATCH\": [\n            \"ranger-admin\"\n          ],\n          \"STANDARD\": [\n            \"ranger-admin\"\n          ]\n        },\n        \"RANGER_TAGSYNC\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-tagsync\",\n          \"INSTALL\": [\n            \"ranger-tagsync\"\n          ],\n          \"PATCH\": [\n            \"ranger-tagsync\"\n          ],\n          \"STANDARD\": [\n            \"ranger-tagsync\"\n          ]\n        },\n        \"RANGER_USERSYNC\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-usersync\",\n          \"INSTALL\": [\n            \"ranger-usersync\"\n          ],\n          \"PATCH\": [\n            \"ranger-usersync\"\n          ],\n          \"STANDARD\": [\n            \"ranger-usersync\"\n          ]\n        }\n      },\n      \"RANGER_KMS\": {\n        \"RANGER_KMS_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"ranger-kms\",\n          \"INSTALL\": [\n            \"ranger-kms\"\n          ],\n          \"PATCH\": [\n            \"ranger-kms\"\n          ],\n          \"STANDARD\": [\n            \"ranger-kms\"\n          ]\n        }\n      },\n      \"SLIDER\": {\n        \"SLIDER\": {\n          \"STACK-SELECT-PACKAGE\": \"slider-client\",\n          \"INSTALL\": [\n            \"slider-client\"\n          ],\n          \"PATCH\": [\n            \"slider-client\"\n          ],\n          \"STANDARD\": [\n            \"slider-client\",\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"SPARK\": {\n        \"LIVY_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"livy-client\",\n          \"INSTALL\": [\n            \"livy-client\"\n          ],\n          \"PATCH\": [\n            \"livy-client\"\n          ],\n          \"STANDARD\": [\n            \"livy-client\"\n          ]\n        },\n        \"LIVY_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"livy-server\",\n          \"INSTALL\": [\n            \"livy-server\"\n          ],\n          \"PATCH\": [\n            \"livy-server\"\n          ],\n          \"STANDARD\": [\n            \"livy-server\"\n          ]\n        },\n        \"SPARK_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-client\",\n          \"INSTALL\": [\n            \"spark-client\"\n          ],\n          \"PATCH\": [\n            \"spark-client\"\n          ],\n          \"STANDARD\": [\n            \"spark-client\"\n          ]\n        },\n        \"SPARK_JOBHISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-historyserver\",\n          \"INSTALL\": [\n            \"spark-historyserver\"\n          ],\n          \"PATCH\": [\n            \"spark-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"spark-historyserver\"\n          ]\n        },\n        \"SPARK_THRIFTSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark-thriftserver\",\n          \"INSTALL\": [\n            \"spark-thriftserver\"\n          ],\n          \"PATCH\": [\n            \"spark-thriftserver\"\n          ],\n          \"STANDARD\": [\n            \"spark-thriftserver\"\n          ]\n        }\n      },\n      \"SPARK2\": {\n        \"LIVY2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"livy2-client\",\n          \"INSTALL\": [\n            \"livy2-client\"\n          ],\n          \"PATCH\": [\n            \"livy2-client\"\n          ],\n          \"STANDARD\": [\n            \"livy2-client\"\n          ]\n        },\n        \"LIVY2_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"livy2-server\",\n          \"INSTALL\": [\n            \"livy2-server\"\n          ],\n          \"PATCH\": [\n            \"livy2-server\"\n          ],\n          \"STANDARD\": [\n            \"livy2-server\"\n          ]\n        },\n        \"SPARK2_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-client\",\n          \"INSTALL\": [\n            \"spark2-client\"\n          ],\n          \"PATCH\": [\n            \"spark2-client\"\n          ],\n          \"STANDARD\": [\n            \"spark2-client\"\n          ]\n        },\n        \"SPARK2_JOBHISTORYSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-historyserver\",\n          \"INSTALL\": [\n            \"spark2-historyserver\"\n          ],\n          \"PATCH\": [\n            \"spark2-historyserver\"\n          ],\n          \"STANDARD\": [\n            \"spark2-historyserver\"\n          ]\n        },\n        \"SPARK2_THRIFTSERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"spark2-thriftserver\",\n          \"INSTALL\": [\n            \"spark2-thriftserver\"\n          ],\n          \"PATCH\": [\n            \"spark2-thriftserver\"\n          ],\n          \"STANDARD\": [\n            \"spark2-thriftserver\"\n          ]\n        }\n      },\n      \"SQOOP\": {\n        \"SQOOP\": {\n          \"STACK-SELECT-PACKAGE\": \"sqoop-client\",\n          \"INSTALL\": [\n            \"sqoop-client\"\n          ],\n          \"PATCH\": [\n            \"sqoop-client\"\n          ],\n          \"STANDARD\": [\n            \"sqoop-client\"\n          ]\n        }\n      },\n      \"STORM\": {\n        \"NIMBUS\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-nimbus\",\n          \"INSTALL\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ],\n          \"PATCH\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\",\n            \"storm-nimbus\"\n          ]\n        },\n        \"SUPERVISOR\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-supervisor\",\n          \"INSTALL\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ],\n          \"PATCH\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\",\n            \"storm-supervisor\"\n          ]\n        },\n        \"DRPC_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-client\",\n          \"INSTALL\": [\n            \"storm-client\"\n          ],\n          \"PATCH\": [\n            \"storm-client\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\"\n          ]\n        },\n        \"STORM_UI_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"storm-client\",\n          \"INSTALL\": [\n            \"storm-client\"\n          ],\n          \"PATCH\": [\n            \"storm-client\"\n          ],\n          \"STANDARD\": [\n            \"storm-client\"\n          ]\n        }\n      },\n      \"SYSTEMML\": {\n        \"SYSTEMML\": {\n          \"STACK-SELECT-PACKAGE\": \"systemml-client\",\n          \"INSTALL\": [\n            \"systemml-client\"\n          ],\n          \"PATCH\": [\n            \"systemml-client\"\n          ],\n          \"STANDARD\": [\n            \"systemml-client\"\n          ]\n        }\n      },\n      \"TEZ\": {\n        \"TEZ_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"tez-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"tez-client\"\n          ],\n          \"PATCH\": [\n            \"tez-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"TITAN\": {\n        \"TITAN_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"titan-client\",\n          \"INSTALL\": [\n            \"titan-client\"\n          ],\n          \"PATCH\": [\n            \"titan-client\"\n          ],\n          \"STANDARD\": [\n            \"titan-client\"\n          ]\n        },\n        \"TITAN_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"titan-server\",\n          \"INSTALL\": [\n            \"titan-server\"\n          ],\n          \"PATCH\": [\n            \"titan-server\"\n          ],\n          \"STANDARD\": [\n            \"titan-server\"\n          ]\n        }\n      },\n      \"YARN\": {\n        \"APP_TIMELINE_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-timelineserver\",\n          \"INSTALL\": [\n            \"hadoop-yarn-timelineserver\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-timelineserver\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-timelineserver\"\n          ]\n        },\n        \"NODEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-nodemanager\",\n          \"INSTALL\": [\n            \"hadoop-yarn-nodemanager\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-nodemanager\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-nodemanager\"\n          ]\n        },\n        \"RESOURCEMANAGER\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-resourcemanager\",\n          \"INSTALL\": [\n            \"hadoop-yarn-resourcemanager\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-resourcemanager\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-yarn-resourcemanager\"\n          ]\n        },\n        \"YARN_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"hadoop-yarn-client\",\n          \"LEGACY\": \"hadoop-client\",\n          \"INSTALL\": [\n            \"hadoop-yarn-client\"\n          ],\n          \"PATCH\": [\n            \"hadoop-yarn-client\"\n          ],\n          \"STANDARD\": [\n            \"hadoop-client\"\n          ]\n        }\n      },\n      \"ZEPPELIN\": {\n        \"ZEPPELIN_MASTER\": {\n          \"STACK-SELECT-PACKAGE\": \"zeppelin-server\",\n          \"INSTALL\": [\n            \"zeppelin-server\"\n          ],\n          \"PATCH\": [\n            \"zeppelin-server\"\n          ],\n          \"STANDARD\": [\n            \"zeppelin-server\"\n          ]\n        }\n      },\n      \"ZOOKEEPER\": {\n        \"ZOOKEEPER_CLIENT\": {\n          \"STACK-SELECT-PACKAGE\": \"zookeeper-client\",\n          \"INSTALL\": [\n            \"zookeeper-client\"\n          ],\n          \"PATCH\": [\n            \"zookeeper-client\"\n          ],\n          \"STANDARD\": [\n            \"zookeeper-client\"\n          ]\n        },\n        \"ZOOKEEPER_SERVER\": {\n          \"STACK-SELECT-PACKAGE\": \"zookeeper-server\",\n          \"INSTALL\": [\n            \"zookeeper-server\"\n          ],\n          \"PATCH\": [\n            \"zookeeper-server\"\n          ],\n          \"STANDARD\": [\n            \"zookeeper-server\"\n          ]\n        }\n      }\n    },\n    \"conf-select\": {\n      \"accumulo\": [\n        {\n          \"conf_dir\": \"/etc/accumulo/conf\",\n          \"current_dir\": \"{0}/current/accumulo-client/conf\"\n        }\n      ],\n      \"atlas\": [\n        {\n          \"conf_dir\": \"/etc/atlas/conf\",\n          \"current_dir\": \"{0}/current/atlas-client/conf\"\n        }\n      ],\n      \"druid\": [\n        {\n          \"conf_dir\": \"/etc/druid/conf\",\n          \"current_dir\": \"{0}/current/druid-overlord/conf\"\n        }\n      ],\n      \"falcon\": [\n        {\n          \"conf_dir\": \"/etc/falcon/conf\",\n          \"current_dir\": \"{0}/current/falcon-client/conf\"\n        }\n      ],\n      \"flume\": [\n        {\n          \"conf_dir\": \"/etc/flume/conf\",\n          \"current_dir\": \"{0}/current/flume-server/conf\"\n        }\n      ],\n      \"hadoop\": [\n        {\n          \"conf_dir\": \"/etc/hadoop/conf\",\n          \"current_dir\": \"{0}/current/hadoop-client/conf\"\n        }\n      ],\n      \"hbase\": [\n        {\n          \"conf_dir\": \"/etc/hbase/conf\",\n          \"current_dir\": \"{0}/current/hbase-client/conf\"\n        }\n      ],\n      \"hive\": [\n        {\n          \"conf_dir\": \"/etc/hive/conf\",\n          \"current_dir\": \"{0}/current/hive-client/conf\"\n        }\n      ],\n      \"hive2\": [\n        {\n          \"conf_dir\": \"/etc/hive2/conf\",\n          \"current_dir\": \"{0}/current/hive-server2-hive2/conf\"\n        }\n      ],\n      \"hive-hcatalog\": [\n        {\n          \"conf_dir\": \"/etc/hive-webhcat/conf\",\n          \"prefix\": \"/etc/hive-webhcat\",\n          \"current_dir\": \"{0}/current/hive-webhcat/etc/webhcat\"\n        },\n        {\n          \"conf_dir\": \"/etc/hive-hcatalog/conf\",\n          \"prefix\": \"/etc/hive-hcatalog\",\n          \"current_dir\": \"{0}/current/hive-webhcat/etc/hcatalog\"\n        }\n      ],\n      \"kafka\": [\n        {\n          \"conf_dir\": \"/etc/kafka/conf\",\n          \"current_dir\": \"{0}/current/kafka-broker/conf\"\n        }\n      ],\n      \"knox\": [\n        {\n          \"conf_dir\": \"/etc/knox/conf\",\n          \"current_dir\": \"{0}/current/knox-server/conf\"\n        }\n      ],\n      \"mahout\": [\n        {\n          \"conf_dir\": \"/etc/mahout/conf\",\n          \"current_dir\": \"{0}/current/mahout-client/conf\"\n        }\n      ],\n      \"nifi\": [\n        {\n          \"conf_dir\": \"/etc/nifi/conf\",\n          \"current_dir\": \"{0}/current/nifi/conf\"\n        }\n      ],\n      \"oozie\": [\n        {\n          \"conf_dir\": \"/etc/oozie/conf\",\n          \"current_dir\": \"{0}/current/oozie-client/conf\"\n        }\n      ],\n      \"phoenix\": [\n        {\n          \"conf_dir\": \"/etc/phoenix/conf\",\n          \"current_dir\": \"{0}/current/phoenix-client/conf\"\n        }\n      ],\n      \"pig\": [\n        {\n          \"conf_dir\": \"/etc/pig/conf\",\n          \"current_dir\": \"{0}/current/pig-client/conf\"\n        }\n      ],\n      \"ranger-admin\": [\n        {\n          \"conf_dir\": \"/etc/ranger/admin/conf\",\n          \"current_dir\": \"{0}/current/ranger-admin/conf\"\n        }\n      ],\n      \"ranger-kms\": [\n        {\n          \"conf_dir\": \"/etc/ranger/kms/conf\",\n          \"current_dir\": \"{0}/current/ranger-kms/conf\"\n        }\n      ],\n      \"ranger-tagsync\": [\n        {\n          \"conf_dir\": \"/etc/ranger/tagsync/conf\",\n          \"current_dir\": \"{0}/current/ranger-tagsync/conf\"\n        }\n      ],\n      \"ranger-usersync\": [\n        {\n          \"conf_dir\": \"/etc/ranger/usersync/conf\",\n          \"current_dir\": \"{0}/current/ranger-usersync/conf\"\n        }\n      ],\n      \"slider\": [\n        {\n          \"conf_dir\": \"/etc/slider/conf\",\n          \"current_dir\": \"{0}/current/slider-client/conf\"\n        }\n      ],\n      \"spark\": [\n        {\n          \"conf_dir\": \"/etc/spark/conf\",\n          \"current_dir\": \"{0}/current/spark-client/conf\"\n        }\n      ],\n      \"spark2\": [\n        {\n          \"conf_dir\": \"/etc/spark2/conf\",\n          \"current_dir\": \"{0}/current/spark2-client/conf\"\n        }\n      ],\n      \"sqoop\": [\n        {\n          \"conf_dir\": \"/etc/sqoop/conf\",\n          \"current_dir\": \"{0}/current/sqoop-client/conf\"\n        }\n      ],\n      \"storm\": [\n        {\n          \"conf_dir\": \"/etc/storm/conf\",\n          \"current_dir\": \"{0}/current/storm-client/conf\"\n        }\n      ],\n      \"storm-slider-client\": [\n        {\n          \"conf_dir\": \"/etc/storm-slider-client/conf\",\n          \"current_dir\": \"{0}/current/storm-slider-client/conf\"\n        }\n      ],\n      \"superset\": [\n        {\n          \"conf_dir\": \"/etc/druid-superset/conf\",\n          \"current_dir\": \"{0}/current/druid-superset/conf\"\n        }\n      ],\n      \"tez\": [\n        {\n          \"conf_dir\": \"/etc/tez/conf\",\n          \"current_dir\": \"{0}/current/tez-client/conf\"\n        }\n      ],\n      \"zeppelin\": [\n        {\n          \"conf_dir\": \"/etc/zeppelin/conf\",\n          \"current_dir\": \"{0}/current/zeppelin-server/conf\"\n        }\n      ],\n      \"zookeeper\": [\n        {\n          \"conf_dir\": \"/etc/zookeeper/conf\",\n          \"current_dir\": \"{0}/current/zookeeper-client/conf\"\n        }\n      ]\n    }\n  }\n}\n",
>     "property_value_attributes" : {
>       "visible" : false,
>       "overridable" : false,
>       "keyStore" : false,
>       "read_only" : true,
>       "property-file-name" : "stack_packages.json",
>       "property-file-type" : "json"
>     },
>     "stack_name" : "HDP",
>     "stack_version" : "2.6",
>     "type" : "settings.xml"
>   }
> }
> {code}
> {code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root }
> {
>   "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_root",
>   "StackSettingsInfo" : {
>     "final" : "false",
>     "property_depends_on" : [ ],
>     "property_description" : "JSON which defines the stack root by stack name",
>     "property_name" : "stack_root",
>     "property_type" : [ ],
>     "property_value" : "{\"HDP\":\"/usr/hdp\"}",
>     "property_value_attributes" : {
>       "visible" : false,
>       "overridable" : false,
>       "keyStore" : false,
>       "read_only" : true
>     },
>     "stack_name" : "HDP",
>     "stack_version" : "2.6",
>     "type" : "settings.xml"
>   }
> }
> {code}
> {code:title=GET http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools }
> {
>   "href" : "http://<ip>:<port>/api/v1/stacks/HDP/versions/2.6/stack_settings/stack_tools",
>   "StackSettingsInfo" : {
>     "final" : "false",
>     "property_depends_on" : [ ],
>     "property_description" : "Stack specific tools",
>     "property_name" : "stack_tools",
>     "property_type" : [
>       "VALUE_FROM_PROPERTY_FILE"
>     ],
>     "property_value" : "{\n  \"HDP\": {\n    \"stack_selector\": [\n      \"hdp-select\",\n      \"/usr/bin/hdp-select\",\n      \"hdp-select\"\n    ],\n    \"conf_selector\": [\n      \"conf-select\",\n      \"/usr/bin/conf-select\",\n      \"conf-select\"\n    ]\n  }\n}\n",
>     "property_value_attributes" : {
>       "visible" : false,
>       "overridable" : false,
>       "keyStore" : false,
>       "read_only" : true,
>       "property-file-name" : "stack_tools.json",
>       "property-file-type" : "json"
>     },
>     "stack_name" : "HDP",
>     "stack_version" : "2.6",
>     "type" : "settings.xml"
>   }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message