You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2016/07/08 19:40:54 UTC
[2/2] ambari git commit: AMBARI-17616. Multiple fixes for Atlas
integration in versions 0.1.0 and 0.7.0 (alejandro)
AMBARI-17616. Multiple fixes for Atlas integration in versions 0.1.0 and 0.7.0 (alejandro)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/43785d41
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/43785d41
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/43785d41
Branch: refs/heads/branch-2.4
Commit: 43785d4183a50f1094708185bd6622789a56c9d1
Parents: d2e668f
Author: Alejandro Fernandez <af...@hortonworks.com>
Authored: Thu Jul 7 16:30:40 2016 -0700
Committer: Alejandro Fernandez <af...@hortonworks.com>
Committed: Fri Jul 8 12:40:05 2016 -0700
----------------------------------------------------------------------
.../libraries/functions/setup_atlas_hook.py | 68 +-
.../configuration/application-properties.xml | 213 +------
.../ATLAS/0.1.0.2.3/metainfo.xml | 7 -
.../ATLAS/0.1.0.2.3/themes/theme.json | 619 -------------------
.../configuration/application-properties.xml | 446 +++++++++++++
.../ATLAS/0.7.0.2.5/kerberos.json | 72 +++
.../ATLAS/0.7.0.2.5/metainfo.xml | 52 ++
.../ATLAS/0.7.0.2.5/quicklinks/quicklinks.json | 35 ++
.../ATLAS/0.7.0.2.5/themes/theme.json | 619 +++++++++++++++++++
.../configuration/application-properties.xml | 279 ---------
.../stacks/HDP/2.5/services/ATLAS/kerberos.json | 72 ---
.../stacks/HDP/2.5/services/ATLAS/metainfo.xml | 22 +-
.../services/ATLAS/quicklinks/quicklinks.json | 35 --
.../stacks/HDP/2.5/services/stack_advisor.py | 12 +-
14 files changed, 1325 insertions(+), 1226 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-common/src/main/python/resource_management/libraries/functions/setup_atlas_hook.py
----------------------------------------------------------------------
diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/setup_atlas_hook.py b/ambari-common/src/main/python/resource_management/libraries/functions/setup_atlas_hook.py
index 872147a..c7f6204 100644
--- a/ambari-common/src/main/python/resource_management/libraries/functions/setup_atlas_hook.py
+++ b/ambari-common/src/main/python/resource_management/libraries/functions/setup_atlas_hook.py
@@ -30,6 +30,58 @@ from resource_management.libraries.functions.default import default
from resource_management.core.resources.system import Link
from resource_management.core.logger import Logger
+'''
+Only this subset of Atlas application.properties should be written out to each service that has an Atlas hook,
+E.g., Hive, Storm, Sqoop, Falcon.
+The reason for this is that we don't want configs to get out-of-sync between each of these services.
+Assume Atlas application.properties contains props
+
+private_prop_a
+private_prop_b
+private_prop_c
+shared_atlas_hook_prop_d
+shared_atlas_hook_prop_e
+
+Then only shared_atlas_hook_prop_d and shared_atlas_hook_prop_e should be merged with the properties specific to
+Hive, Storm, Sqoop, and Falcon.
+E.g.,
+Hive has,
+specific_hive_atlas_hook_prop_f
+specific_hive_atlas_hook_prop_g
+
+So the atlas-application.properties.xml file that we write for Hive should contain,
+shared_atlas_hook_prop_d
+shared_atlas_hook_prop_e
+specific_hive_atlas_hook_prop_f
+specific_hive_atlas_hook_prop_g
+
+Now, if the user wants to make a global change for Atlas hooks, they can change shared_atlas_hook_prop_d or shared_atlas_hook_prop_e
+in a single place (under the Atlas Configs page).
+If they want to overwrite shared_atlas_hook_prop_d just for Hive, they can add it to hive-atlas-application.properties
+'''
+
+SHARED_ATLAS_HOOK_CONFIGS = set(
+ [
+ "atlas.kafka.zookeeper.connect",
+ "atlas.kafka.bootstrap.servers",
+ "atlas.kafka.zookeeper.session.timeout.ms",
+ "atlas.kafka.zookeeper.connection.timeout.ms",
+ "atlas.kafka.zookeeper.sync.time.ms",
+ "atlas.kafka.hook.group.id",
+ "atlas.notification.create.topics",
+ "atlas.notification.replicas",
+ "atlas.notification.topics",
+ "atlas.notification.kafka.service.principal",
+ "atlas.notification.kafka.keytab.location",
+ "atlas.jaas.KafkaClient.loginModuleName",
+ "atlas.jaas.KafkaClient.loginModuleControlFlag",
+ "atlas.jaas.KafkaClient.option.useKeyTab",
+ "atlas.jaas.KafkaClient.option.storeKey",
+ "atlas.jaas.KafkaClient.option.serviceName",
+ "atlas.jaas.KafkaClient.option.keyTab",
+ "atlas.jaas.KafkaClient.option.principal",
+ "atlas.cluster.name"]
+)
def has_atlas_in_cluster():
"""
@@ -51,7 +103,12 @@ def setup_atlas_hook(service_props, atlas_hook_filepath, owner, group):
atlas_props = default('/configurations/application-properties', {})
if has_atlas_in_cluster():
- merged_props = atlas_props.copy()
+ # Take the subset
+ merged_props = {}
+ for prop in SHARED_ATLAS_HOOK_CONFIGS:
+ if prop in atlas_props:
+ merged_props[prop] = atlas_props[prop]
+
merged_props.update(service_props)
Logger.info(format("Generating Atlas Hook config file {atlas_hook_filepath}"))
@@ -64,6 +121,15 @@ def setup_atlas_hook(service_props, atlas_hook_filepath, owner, group):
def setup_atlas_jar_symlinks(hook_name, jar_source_dir):
"""
+ In HDP 2.3, 2.4, and 2.5.0.0, Sqoop and Storm still relied on the following method to setup Atlas hooks
+ because the RPM for Sqoop and Storm did not bring in any dependencies.
+
+ /usr/hdp/current/storm-*/libext/ should contain symlinks for every jar in /usr/hdp/current/atlas-server/hooks/storm/somejavafile.jar
+ /usr/hdp/current/sqoop-*/lib/ should contain symlinks for every jar in /usr/hdp/current/atlas-server/hooks/sqoop/somejavafile.jar
+
+ In HDP 2.5.x.y, we plan to have the Sqoop and Storm rpms have additional dependencies on some sqoop-atlas-hook and storm-atlas-hook
+ rpms, respectively, that will bring in the necessary jars and create the symlinks.
+
If atlas is present on this host, then link the jars from
{stack_root}/current/{hook_name}/lib/name_version.jar -> {jar_source_dir}/name_version.jar
@param hook_name: one of sqoop, storm
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
index b1b945d..10310d1 100644
--- a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
@@ -24,97 +24,97 @@
<name>atlas.graph.storage.backend</name>
<value>berkeleyje</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.graph.storage.directory</name>
<value>/var/lib/atlas/data/berkeley</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.graph.index.search.backend</name>
<value>elasticsearch</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.graph.index.search.directory</name>
<value>/var/lib/atlas/data/es</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.graph.index.search.elasticsearch.client-only</name>
<value>false</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.graph.index.search.elasticsearch.local-mode</name>
<value>true</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.lineage.hive.table.type.name</name>
<value>DataSet</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.lineage.hive.table.schema.query.hive_table</name>
<value>hive_table where name='%s'\, columns</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.lineage.hive.table.schema.query.Table</name>
<value>Table where name='%s'\, columns</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.lineage.hive.process.type.name</name>
<value>Process</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.lineage.hive.process.inputs.name</name>
<value>inputs</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.lineage.hive.process.outputs.name</name>
<value>outputs</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.enableTLS</name>
<value>false</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.authentication.method</name>
<value>simple</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.authentication.principal</name>
<value>atlas</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.authentication.keytab</name>
<value>/etc/security/keytabs/atlas.service.keytab</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.server.bind.address</name>
@@ -126,37 +126,37 @@
<name>atlas.http.authentication.enabled</name>
<value>false</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.http.authentication.type</name>
<value>simple</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.http.authentication.kerberos.principal</name>
<value>HTTP/_HOST@EXAMPLE.COM</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.http.authentication.kerberos.keytab</name>
<value>/etc/security/keytabs/spnego.service.keytab</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.http.authentication.kerberos.name.rules</name>
<value>DEFAULT</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.notification.embedded</name>
<value>false</value>
<description>Indicates whether or not the notification service should be embedded.</description>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<!-- atlas.cluster.name is also part of Atlas Hooks -->
@@ -164,197 +164,38 @@
<name>atlas.cluster.name</name>
<value>{{cluster_name}}</value>
<description>The cluster name.</description>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.server.http.port</name>
<value>21000</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.server.https.port</name>
<value>21443</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.http.authentication.type</name>
<value>simple</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
-
-
<property>
<name>atlas.audit.hbase.tablename</name>
<value>ATLAS_ENTITY_AUDIT_EVENTS</value>
<description/>
- <on-ambari-upgrade add="true"/>
+ <on-ambari-upgrade add="false"/>
</property>
<property>
<name>atlas.audit.zookeeper.session.timeout.ms</name>
<value>1000</value>
<description/>
- <on-ambari-upgrade add="true"/>
- </property>
-
- <!-- The type determines whether to show LDAP or AD settings in smart config's theme.json file. -->
- <property>
- <name>atlas.authentication.method.ldap.type</name>
- <value>ldap</value>
- <description>The LDAP type (ldap or ad).</description>
- <value-attributes>
- <overridable>false</overridable>
- <type>value-list</type>
- <entries>
- <entry>
- <value>ldap</value>
- <label>LDAP</label>
- </entry>
- <entry>
- <value>ad</value>
- <label>AD</label>
- </entry>
- </entries>
- <selection-cardinality>1</selection-cardinality>
- </value-attributes>
- <on-ambari-upgrade add="false"/>
- </property>
-
- <!-- LDAP properties. They all begin with "atlas.authentication.method.ldap."
- Must allow empty values since the user can pick either LDAP or AD.
- -->
- <property>
- <name>atlas.authentication.method.ldap.url</name>
- <value> </value>
- <description>The LDAP URL.</description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.userDNpattern</name>
- <value>uid=</value>
- <description>User DN Pattern. This pattern is used to create a distinguished name (DN) for a user during login</description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.groupSearchBase</name>
- <value> </value>
- <description/>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.groupSearchFilter</name>
- <value> </value>
- <description/>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.groupRoleAttribute</name>
- <value>cn</value>
- <description/>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.base.dn</name>
- <value> </value>
- <description>The Distinguished Name (DN) of the starting point for directory server searches.</description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.bind.dn</name>
- <value> </value>
- <description>Full distinguished name (DN), including common name (CN), of an LDAP user account that has privileges to search. </description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.bind.password</name>
- <value>admin</value>
- <property-type>PASSWORD</property-type>
- <description>Password for the account that can search</description>
- <value-attributes>
- <type>password</type>
- <overridable>false</overridable>
- </value-attributes>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.referral</name>
- <value>ignore</value>
- <description>Set to follow if multiple LDAP servers are configured to return continuation references for results. Set to ignore (default) if no referrals should be followed. Possible values are follow|throw|ignore</description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.user.searchfilter</name>
- <value> </value>
- <description/>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.default.role</name>
- <value>ROLE_USER</value>
- <description/>
- <on-ambari-upgrade add="false"/>
- </property>
-
-
- <!-- AD properties. They all begin with "atlas.authentication.method.ldap.ad."
- Must allow empty values since the user can pick either LDAP or AD.
- -->
- <property>
- <name>atlas.authentication.method.ldap.ad.domain</name>
- <display-name>Domain Name (Only for AD)</display-name>
- <value> </value>
- <description>AD domain, only used if Authentication method is AD</description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.ad.url</name>
- <value> </value>
- <description>AD URL, only used if Authentication method is AD</description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.ad.base.dn</name>
- <value> </value>
- <description>The Distinguished Name (DN) of the starting point for directory server searches.</description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.ad.bind.dn</name>
- <value> </value>
- <description>Full distinguished name (DN), including common name (CN), of an LDAP user account that has privileges to search. </description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.ad.bind.password</name>
- <value>admin</value>
- <property-type>PASSWORD</property-type>
- <description>Password for the account that can search</description>
- <value-attributes>
- <type>password</type>
- <overridable>false</overridable>
- </value-attributes>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.ad.referral</name>
- <value>ignore</value>
- <description>Set to follow if multiple AD servers are configured to return continuation references for results. Set to ignore (default) if no referrals should be followed. Possible values are follow|throw|ignore</description>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.ad.user.searchfilter</name>
- <value>(sAMAccountName={0})</value>
- <description/>
- <on-ambari-upgrade add="false"/>
- </property>
- <property>
- <name>atlas.authentication.method.ldap.ad.default.role</name>
- <value>ROLE_USER</value>
- <description/>
<on-ambari-upgrade add="false"/>
</property>
</configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml
index b2fc143..1ca4237 100644
--- a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml
@@ -111,13 +111,6 @@
<config-type>core-site</config-type>
</configuration-dependencies>
- <themes>
- <theme>
- <fileName>theme.json</fileName>
- <default>true</default>
- </theme>
- </themes>
-
</service>
</services>
</metainfo>
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/themes/theme.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/themes/theme.json b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/themes/theme.json
deleted file mode 100644
index 414633e..0000000
--- a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/themes/theme.json
+++ /dev/null
@@ -1,619 +0,0 @@
-{
- "name": "default",
- "description": "Default theme for Atlas service",
- "configuration": {
- "layouts": [
- {
- "name": "default",
- "tabs": [
- {
- "name": "authentication_settings",
- "display-name": "Authentication",
- "layout": {
- "tab-columns": "3",
- "tab-rows": "2",
- "sections": [
- {
- "name": "section-authentication-type",
- "display-name": "Authentication Type",
- "row-index": "0",
- "column-index": "0",
- "row-span": "1",
- "column-span": "3",
- "section-columns": "3",
- "section-rows": "1",
- "subsections": [
- {
- "name": "subsection-authentication-type",
- "row-index": "0",
- "column-index": "0",
- "row-span": "1",
- "column-span": "3"
- }
- ]
- },
- {
- "name": "section-authentication",
- "display-name": "LDAP",
- "row-index": "1",
- "column-index": "0",
- "row-span": "1",
- "column-span": "3",
- "section-columns": "3",
- "section-rows": "1",
- "subsections": [
- {
- "name": "subsection-authentication",
- "row-index": "0",
- "column-index": "0",
- "row-span": "1",
- "column-span": "3"
- }
- ]
- }
- ]
- }
- }
- ]
- }
- ],
- "placement": {
- "configuration-layout": "default",
- "configs": [
- {
- "config": "application-properties/atlas.authentication.method.ldap.type",
- "subsection-name": "subsection-authentication-type"
- },
-
-
- {
- "config": "application-properties/atlas.authentication.method.ldap.url",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.userDNpattern",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.groupSearchBase",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.groupSearchFilter",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.groupRoleAttribute",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.base.dn",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.bind.dn",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.bind.password",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.referral",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.user.searchfilter",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.default.role",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
-
-
- {
- "config": "application-properties/atlas.authentication.method.ldap.ad.url",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.ad.domain",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.ad.base.dn",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.ad.bind.dn",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.ad.bind.password",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.ad.referral",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.ad.user.searchfilter",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- },
- {
- "config": "application-properties/atlas.authentication.method.ldap.ad.default.role",
- "subsection-name": "subsection-authentication",
- "depends-on": [
- {
- "configs":[
- "application-properties/atlas.authentication.method.ldap.type"
- ],
- "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
- "then": {
- "property_value_attributes": {
- "visible": true
- }
- },
- "else": {
- "property_value_attributes": {
- "visible": false
- }
- }
- }
- ]
- }
- ]
- },
- "widgets": [
- {
- "config":"application-properties/atlas.authentication.method.ldap.type",
- "widget":{
- "type":"combo"
- }
- },
-
-
- {
- "config":"application-properties/atlas.authentication.method.ldap.url",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.userDNpattern",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.groupSearchBase",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.groupSearchFilter",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.groupRoleAttribute",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.base.dn",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.bind.dn",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.bind.password",
- "widget":{
- "type":"password"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.referral",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.user.searchfilter",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.default.role",
- "widget":{
- "type":"text-field"
- }
- },
-
-
- {
- "config":"application-properties/atlas.authentication.method.ldap.ad.url",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.ad.domain",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.ad.base.dn",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.ad.bind.dn",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.ad.bind.password",
- "widget":{
- "type":"password"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.ad.referral",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.ad.user.searchfilter",
- "widget":{
- "type":"text-field"
- }
- },
- {
- "config":"application-properties/atlas.authentication.method.ldap.ad.default.role",
- "widget":{
- "type":"text-field"
- }
- }
- ]
- }
-}
-
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/application-properties.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/application-properties.xml b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/application-properties.xml
new file mode 100644
index 0000000..0fe0827
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/configuration/application-properties.xml
@@ -0,0 +1,446 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<configuration supports_final="false">
+
+ <!-- HA properties -->
+ <property>
+ <name>atlas.server.ha.enabled</name>
+ <value>false</value>
+ <description>Atlas high availability feature toggle.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.server.ids</name>
+ <value>{{server_ids}}</value>
+ <description>List of Atlas server ids for HA feature.</description>
+ <value-attributes>
+ <overridable>false</overridable>
+ <visible>false</visible>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.server.address.id1</name>
+ <value>{{server_hosts}}</value>
+ <description>Mapping of Atlas server ids to hosts.</description>
+ <value-attributes>
+ <overridable>false</overridable>
+ <visible>false</visible>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- Misc properties -->
+ <property>
+ <name>atlas.audit.hbase.zookeeper.quorum</name>
+ <value/>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- Storage properties -->
+ <property>
+ <name>atlas.graph.storage.hbase.table</name>
+ <value>atlas_titan</value>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.graph.storage.hostname</name>
+ <value/>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <!-- Overriden: previous value was berkeleyje -->
+ <property>
+ <name>atlas.graph.storage.backend</name>
+ <value>hbase</value>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- Graph properties -->
+ <!-- Overriden: previous value was elasticsearch -->
+ <property>
+ <name>atlas.graph.index.search.backend</name>
+ <value>solr5</value>
+ <description>The Atlas indexing backend (e.g. solr5).</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.graph.index.search.solr.mode</name>
+ <value>cloud</value>
+ <description>The Solr mode (e.g. cloud).</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.graph.index.search.solr.zookeeper-url</name>
+ <value/>
+ <description>The ZooKeeper quorum setup for Solr as comma separated value.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- Authentication properties -->
+ <property>
+ <name>atlas.authentication.method.kerberos</name>
+ <value>false</value>
+ <description>Indicates whether or not Kerberos is enabled.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.file</name>
+ <value>true</value>
+ <description>Indicates whether or not file based authentication is enabled.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap</name>
+ <value>false</value>
+ <description>Indicates whether or not LDAP authentication is enabled.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.file.filename</name>
+ <value>{{conf_dir}}/users-credentials.properties</value>
+ <description>File path for file based login.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.auth.policy.file</name>
+ <value>{{conf_dir}}/policy-store.txt</value>
+ <description>Path for the Atlas policy file.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.kafka.data</name>
+ <value>{{metadata_home}}/data/kafka</value>
+ <description>The Kafka data directory.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- Start: Shared Atlas Hooks that are also written out to configs for Falcon, Storm, Hive, and Sqoop.
+ There are several more properties for when Atlas is Kerberized.
+ Note that atlas.cluster.name is inherited.
+ -->
+ <property>
+ <name>atlas.kafka.bootstrap.servers</name>
+ <value/>
+ <description>Comma separated list of Kafka broker endpoints in host:port form</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.kafka.zookeeper.connect</name>
+ <value/>
+ <description>Comma separated list of servers forming Zookeeper quorum used by Kafka.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.kafka.hook.group.id</name>
+ <value>atlas</value>
+ <description>Kafka group id for the hook topic.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.kafka.zookeeper.session.timeout.ms</name>
+ <value>400</value>
+ <description></description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.kafka.zookeeper.connection.timeout.ms</name>
+ <value>200</value>
+ <description></description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.kafka.zookeeper.sync.time.ms</name>
+ <value>20</value>
+ <description></description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.kafka.entities.group.id</name>
+ <value>entities</value>
+ <description>Kafka group id for the entity topic.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.kafka.auto.commit.enable</name>
+ <value>false</value>
+ <description>Kafka auto commit setting for Atlas notifications.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.notification.create.topics</name>
+ <value>true</value>
+ <description></description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.notification.replicas</name>
+ <value>1</value>
+ <description></description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.notification.topics</name>
+ <value>ATLAS_HOOK,ATLAS_ENTITIES</value>
+ <description></description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <!-- End: Atlas Hooks -->
+
+ <property>
+ <name>atlas.authorizer.impl</name>
+ <description>
+ Atlas authorizer class
+ </description>
+ <depends-on>
+ <property>
+ <type>ranger-atlas-plugin-properties</type>
+ <name>ranger-atlas-plugin-enabled</name>
+ </property>
+ </depends-on>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- Lineage properties -->
+ <property>
+ <name>atlas.lineage.schema.query.hive_table</name>
+ <value>hive_table where __guid='%s'\, columns</value>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.lineage.schema.query.Table</name>
+ <value>Table where __guid='%s'\, columns</value>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <!-- 6 Deleted properties -->
+ <property>
+ <name>atlas.lineage.hive.table.type.name</name>
+ <deleted>true</deleted>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.lineage.hive.table.schema.query.hive_table</name>
+ <deleted>true</deleted>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.lineage.hive.table.schema.query.Table</name>
+ <deleted>true</deleted>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.lineage.hive.process.type.name</name>
+ <deleted>true</deleted>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.lineage.hive.process.inputs.name</name>
+ <deleted>true</deleted>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.lineage.hive.process.outputs.name</name>
+ <deleted>true</deleted>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.solr.kerberos.enable</name>
+ <value>false</value>
+ <description>Enable kerberized Solr support for Atlas.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- The type determines whether to show LDAP or AD settings in smart config's theme.json file. -->
+ <property>
+ <name>atlas.authentication.method.ldap.type</name>
+ <value>none</value>
+ <description>The LDAP type (ldap, ad, or none).</description>
+ <value-attributes>
+ <overridable>false</overridable>
+ <type>value-list</type>
+ <entries>
+ <entry>
+ <value>none</value>
+ <label>None</label>
+ </entry>
+ <entry>
+ <value>ldap</value>
+ <label>LDAP</label>
+ </entry>
+ <entry>
+ <value>ad</value>
+ <label>AD</label>
+ </entry>
+ </entries>
+ <selection-cardinality>1</selection-cardinality>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- LDAP properties. They all begin with "atlas.authentication.method.ldap."
+ Must allow empty values since the user can pick either LDAP or AD.
+ -->
+ <property>
+ <name>atlas.authentication.method.ldap.url</name>
+ <value/>
+ <description>The LDAP URL.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.userDNpattern</name>
+ <value>uid=</value>
+ <description>User DN Pattern. This pattern is used to create a distinguished name (DN) for a user during login</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.groupSearchBase</name>
+ <value/>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.groupSearchFilter</name>
+ <value/>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.groupRoleAttribute</name>
+ <value>cn</value>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.base.dn</name>
+ <value/>
+ <description>The Distinguished Name (DN) of the starting point for directory server searches.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.bind.dn</name>
+ <value/>
+ <description>Full distinguished name (DN), including common name (CN), of an LDAP user account that has privileges to search. </description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.bind.password</name>
+ <value/>
+ <property-type>PASSWORD</property-type>
+ <description>Password for the account that can search</description>
+ <value-attributes>
+ <type>password</type>
+ <overridable>false</overridable>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.referral</name>
+ <value>ignore</value>
+ <description>Set to follow if multiple LDAP servers are configured to return continuation references for results. Set to ignore (default) if no referrals should be followed. Possible values are follow|throw|ignore</description>
+ <value-attributes>
+ <empty-value-valid>true</empty-value-valid>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.user.searchfilter</name>
+ <value/>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.default.role</name>
+ <value>ROLE_USER</value>
+ <description/>
+ <value-attributes>
+ <empty-value-valid>true</empty-value-valid>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+
+ <!-- AD properties. They all begin with "atlas.authentication.method.ldap.ad."
+ Must allow empty values since the user can pick either LDAP or AD.
+ -->
+ <property>
+ <name>atlas.authentication.method.ldap.ad.domain</name>
+ <display-name>Domain Name (Only for AD)</display-name>
+ <value/>
+ <description>AD domain, only used if Authentication method is AD</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.ad.url</name>
+ <value/>
+ <description>AD URL, only used if Authentication method is AD</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.ad.base.dn</name>
+ <value/>
+ <description>The Distinguished Name (DN) of the starting point for directory server searches.</description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.ad.bind.dn</name>
+ <value/>
+ <description>Full distinguished name (DN), including common name (CN), of an LDAP user account that has privileges to search. </description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.ad.bind.password</name>
+ <value/>
+ <property-type>PASSWORD</property-type>
+ <description>Password for the account that can search</description>
+ <value-attributes>
+ <type>password</type>
+ <overridable>false</overridable>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.ad.referral</name>
+ <value>ignore</value>
+ <description>Set to follow if multiple AD servers are configured to return continuation references for results. Set to ignore (default) if no referrals should be followed. Possible values are follow|throw|ignore</description>
+ <value-attributes>
+ <empty-value-valid>true</empty-value-valid>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.ad.user.searchfilter</name>
+ <value>(sAMAccountName={0})</value>
+ <description/>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
+ <name>atlas.authentication.method.ldap.ad.default.role</name>
+ <value>ROLE_USER</value>
+ <description/>
+ <value-attributes>
+ <empty-value-valid>true</empty-value-valid>
+ </value-attributes>
+ <on-ambari-upgrade add="false"/>
+ </property>
+</configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/kerberos.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/kerberos.json b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/kerberos.json
new file mode 100644
index 0000000..2be4b7d
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/kerberos.json
@@ -0,0 +1,72 @@
+{
+ "services": [
+ {
+ "name": "ATLAS",
+ "configurations": [
+ {
+ "application-properties": {
+ "atlas.authentication.method.kerberos": "true",
+ "atlas.kafka.sasl.kerberos.service.name": "${kafka-env/kafka_user}",
+ "atlas.kafka.security.protocol": "PLAINTEXTSASL",
+ "atlas.jaas.KafkaClient.loginModuleName": "com.sun.security.auth.module.Krb5LoginModule",
+ "atlas.jaas.KafkaClient.loginModuleControlFlag": "required",
+ "atlas.jaas.KafkaClient.option.useKeyTab": "true",
+ "atlas.jaas.KafkaClient.option.storeKey": "true",
+ "atlas.jaas.KafkaClient.option.serviceName": "${kafka-env/kafka_user}",
+ "atlas.solr.kerberos.enable": "true"
+ }
+ }
+ ],
+ "auth_to_local_properties" : [
+ "application-properties/atlas.authentication.method.kerberos.name.rules|new_lines_escaped"
+ ],
+ "components": [
+ {
+ "name": "ATLAS_SERVER",
+ "identities": [
+ {
+ "name": "atlas",
+ "principal": {
+ "value": "atlas/_HOST@${realm}",
+ "type" : "service",
+ "configuration": "application-properties/atlas.jaas.KafkaClient.option.principal",
+ "local_username" : "${atlas-env/metadata_user}"
+ },
+ "keytab": {
+ "file": "${keytab_dir}/atlas.service.keytab",
+ "owner": {
+ "name": "${atlas-env/metadata_user}",
+ "access": "r"
+ },
+ "group": {
+ "name": "${cluster-env/user_group}",
+ "access": ""
+ },
+ "configuration": "application-properties/atlas.jaas.KafkaClient.option.keyTab"
+ }
+ },
+ {
+ "name": "/ATLAS/ATLAS_SERVER/atlas",
+ "principal": {
+ "configuration": "application-properties/atlas.authentication.principal"
+ },
+ "keytab": {
+ "configuration": "application-properties/atlas.authentication.keytab"
+ }
+ },
+ {
+ "name": "/spnego",
+ "principal": {
+ "value": "HTTP/_HOST@${realm}",
+ "configuration": "application-properties/atlas.authentication.method.kerberos.principal"
+ },
+ "keytab": {
+ "configuration": "application-properties/atlas.authentication.method.kerberos.keytab"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/metainfo.xml b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/metainfo.xml
new file mode 100644
index 0000000..602e361
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/metainfo.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<metainfo>
+ <schemaVersion>2.0</schemaVersion>
+ <services>
+ <service>
+ <name>ATLAS</name>
+ <version>0.7.0.2.5</version>
+ <extends>common-services/ATLAS/0.1.0.2.3</extends>
+
+ <components>
+ <component>
+ <name>ATLAS_SERVER</name>
+ <cardinality>1+</cardinality>
+ </component>
+ </components>
+
+ <quickLinksConfigurations>
+ <quickLinksConfiguration>
+ <fileName>quicklinks.json</fileName>
+ <default>true</default>
+ </quickLinksConfiguration>
+ </quickLinksConfigurations>
+
+ <requiredServices>
+ <service>KAFKA</service>
+ </requiredServices>
+
+ <themes>
+ <theme>
+ <fileName>theme.json</fileName>
+ <default>true</default>
+ </theme>
+ </themes>
+ </service>
+ </services>
+</metainfo>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/quicklinks/quicklinks.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/quicklinks/quicklinks.json b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/quicklinks/quicklinks.json
new file mode 100644
index 0000000..ce266c4
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/quicklinks/quicklinks.json
@@ -0,0 +1,35 @@
+{
+ "name": "default",
+ "description": "default quick links configuration",
+ "configuration": {
+ "protocol":
+ {
+ "type":"https",
+ "checks":[
+ {
+ "property":"atlas.enableTLS",
+ "desired":"true",
+ "site":"application-properties"
+ }
+ ]
+ },
+
+ "links": [
+ {
+ "name": "atlas_dashboard",
+ "label": "Atlas Dashboard",
+ "requires_user_name": "true",
+ "component_name": "ATLAS_SERVER",
+ "url": "%@://%@:%@/#!/search?user.name=%@",
+ "port":{
+ "http_property": "atlas.server.http.port",
+ "http_default_port": "21000",
+ "https_property": "atlas.server.https.port",
+ "https_default_port": "21443",
+ "regex": "^(\\d+)$",
+ "site": "application-properties"
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/43785d41/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/themes/theme.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/themes/theme.json b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/themes/theme.json
new file mode 100644
index 0000000..da3c79f
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/ATLAS/0.7.0.2.5/themes/theme.json
@@ -0,0 +1,619 @@
+{
+ "name": "default",
+ "description": "Default theme for Atlas service",
+ "configuration": {
+ "layouts": [
+ {
+ "name": "default",
+ "tabs": [
+ {
+ "name": "authentication_settings",
+ "display-name": "Authentication",
+ "layout": {
+ "tab-columns": "3",
+ "tab-rows": "2",
+ "sections": [
+ {
+ "name": "section-authentication-type",
+ "display-name": "Authentication Type",
+ "row-index": "0",
+ "column-index": "0",
+ "row-span": "1",
+ "column-span": "3",
+ "section-columns": "3",
+ "section-rows": "1",
+ "subsections": [
+ {
+ "name": "subsection-authentication-type",
+ "row-index": "0",
+ "column-index": "0",
+ "row-span": "1",
+ "column-span": "3"
+ }
+ ]
+ },
+ {
+ "name": "section-authentication",
+ "display-name": "LDAP/AD",
+ "row-index": "1",
+ "column-index": "0",
+ "row-span": "1",
+ "column-span": "3",
+ "section-columns": "3",
+ "section-rows": "1",
+ "subsections": [
+ {
+ "name": "subsection-authentication",
+ "row-index": "0",
+ "column-index": "0",
+ "row-span": "1",
+ "column-span": "3"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ],
+ "placement": {
+ "configuration-layout": "default",
+ "configs": [
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.type",
+ "subsection-name": "subsection-authentication-type"
+ },
+
+
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.url",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.userDNpattern",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.groupSearchBase",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.groupSearchFilter",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.groupRoleAttribute",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.base.dn",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.bind.dn",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.bind.password",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.referral",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.user.searchfilter",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.default.role",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ldap",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+
+
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.ad.url",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.ad.domain",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.ad.base.dn",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.ad.bind.dn",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.ad.bind.password",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.ad.referral",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.ad.user.searchfilter",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "config": "application-properties/atlas.authentication.method.ldap.ad.default.role",
+ "subsection-name": "subsection-authentication",
+ "depends-on": [
+ {
+ "configs":[
+ "application-properties/atlas.authentication.method.ldap.type"
+ ],
+ "if": "${application-properties/atlas.authentication.method.ldap.type} === ad",
+ "then": {
+ "property_value_attributes": {
+ "visible": true
+ }
+ },
+ "else": {
+ "property_value_attributes": {
+ "visible": false
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "widgets": [
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.type",
+ "widget":{
+ "type":"combo"
+ }
+ },
+
+
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.url",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.userDNpattern",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.groupSearchBase",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.groupSearchFilter",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.groupRoleAttribute",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.base.dn",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.bind.dn",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.bind.password",
+ "widget":{
+ "type":"password"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.referral",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.user.searchfilter",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.default.role",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+
+
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.ad.url",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.ad.domain",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.ad.base.dn",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.ad.bind.dn",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.ad.bind.password",
+ "widget":{
+ "type":"password"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.ad.referral",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.ad.user.searchfilter",
+ "widget":{
+ "type":"text-field"
+ }
+ },
+ {
+ "config":"application-properties/atlas.authentication.method.ldap.ad.default.role",
+ "widget":{
+ "type":"text-field"
+ }
+ }
+ ]
+ }
+}
+