AMBARI-18818 ADDENDUM Config changes for Atlas to Support KnoxSSO 
Authentication (mugdha)


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

Branch: refs/heads/branch-dev-patch-upgrade
Commit: f13e0486ba22125c5b5338de26e353a21ce9f1a0
Parents: a10cc80
Author: Mugdha Varadkar <[email protected]>
Authored: Tue Nov 22 17:06:29 2016 +0530
Committer: Mugdha Varadkar <[email protected]>
Committed: Tue Nov 22 18:43:24 2016 +0530

----------------------------------------------------------------------
 .../stacks/HDP/2.5/services/stack_advisor.py    | 10 ++++---
 .../services/ATLAS/themes/theme_version_2.json  | 28 ++++++++++----------
 .../stacks/HDP/2.6/services/stack_advisor.py    |  2 +-
 .../stacks/2.5/common/test_stack_advisor.py     |  3 ++-
 .../stacks/2.6/common/test_stack_advisor.py     |  4 +--
 5 files changed, 25 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/f13e0486/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py 
b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
index 519602b..923c1f7 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
@@ -153,6 +153,7 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
 
     #<editor-fold desc="LDAP and AD">
     auth_type = application_properties['atlas.authentication.method.ldap.type']
+    auth_ldap_enable = 
application_properties['atlas.authentication.method.ldap'].lower() == 'true'
     Logger.info("Validating Atlas configs, authentication type: %s" % 
str(auth_type))
 
     # Required props
@@ -182,10 +183,11 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
     elif auth_type.lower() == "none":
       pass
 
-    for prop in props_to_require:
-      if prop not in application_properties or application_properties[prop] is 
None or application_properties[prop].strip() == "":
-        validationItems.append({"config-name": prop,
-                                "item": self.getErrorItem("If authentication 
type is %s, this property is required." % auth_type)})
+    if auth_ldap_enable:
+      for prop in props_to_require:
+        if prop not in application_properties or application_properties[prop] 
is None or application_properties[prop].strip() == "":
+          validationItems.append({"config-name": prop,
+                                  "item": self.getErrorItem("If authentication 
type is %s, this property is required." % auth_type)})
     #</editor-fold>
 
     if application_properties['atlas.graph.index.search.backend'] == 'solr5' 
and \

http://git-wip-us.apache.org/repos/asf/ambari/blob/f13e0486/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/themes/theme_version_2.json
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/themes/theme_version_2.json
 
b/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/themes/theme_version_2.json
index f72ea4b..a5435e9 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/themes/theme_version_2.json
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.6/services/ATLAS/themes/theme_version_2.json
@@ -606,18 +606,18 @@
           ]
         },
         {
-          "config": "application-properties/atlas.sso.enabled",
+          "config": "application-properties/atlas.sso.knox.enabled",
           "subsection-name": "subsection-authentication-type"
         },
         {
-          "config": "application-properties/atlas.sso.providerurl",
+          "config": "application-properties/atlas.sso.knox.providerurl",
           "subsection-name": "subsection-atlas-sso",
           "depends-on": [
             {
               "configs":[
-                "application-properties/atlas.sso.enabled"
+                "application-properties/atlas.sso.knox.enabled"
               ],
-              "if": "${application-properties/atlas.sso.enabled}",
+              "if": "${application-properties/atlas.sso.knox.enabled}",
               "then": {
                 "property_value_attributes": {
                   "visible": true
@@ -632,14 +632,14 @@
           ]
         },
         {
-          "config": "application-properties/atlas.sso.publicKey",
+          "config": "application-properties/atlas.sso.knox.publicKey",
           "subsection-name": "subsection-atlas-sso",
           "depends-on": [
             {
               "configs":[
-                "application-properties/atlas.sso.enabled"
+                "application-properties/atlas.sso.knox.enabled"
               ],
-              "if": "${application-properties/atlas.sso.enabled}",
+              "if": "${application-properties/atlas.sso.knox.enabled}",
               "then": {
                 "property_value_attributes": {
                   "visible": true
@@ -654,14 +654,14 @@
           ]
         },
         {
-          "config": "application-properties/atlas.sso.browser.useragent",
+          "config": "application-properties/atlas.sso.knox.browser.useragent",
           "subsection-name": "subsection-atlas-sso",
           "depends-on": [
             {
               "configs":[
-                "application-properties/atlas.sso.enabled"
+                "application-properties/atlas.sso.knox.enabled"
               ],
-              "if": "${application-properties/atlas.sso.enabled}",
+              "if": "${application-properties/atlas.sso.knox.enabled}",
               "then": {
                 "property_value_attributes": {
                   "visible": true
@@ -817,25 +817,25 @@
         }
       },
       {
-        "config": "application-properties/atlas.sso.enabled",
+        "config": "application-properties/atlas.sso.knox.enabled",
         "widget": {
           "type":"checkbox"
         }
       },
       {
-        "config": "application-properties/atlas.sso.providerurl",
+        "config": "application-properties/atlas.sso.knox.providerurl",
         "widget": {
           "type": "text-field"
         }
       },
       {
-        "config": "application-properties/atlas.sso.publicKey",
+        "config": "application-properties/atlas.sso.knox.publicKey",
         "widget": {
           "type": "text-field"
         }
       },
       {
-        "config": "application-properties/atlas.sso.browser.useragent",
+        "config": "application-properties/atlas.sso.knox.browser.useragent",
         "widget": {
           "type": "text-field"
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/f13e0486/ambari-server/src/main/resources/stacks/HDP/2.6/services/stack_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.6/services/stack_advisor.py 
b/ambari-server/src/main/resources/stacks/HDP/2.6/services/stack_advisor.py
index 718da2c..bebeaf8 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.6/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.6/services/stack_advisor.py
@@ -49,7 +49,7 @@ class HDP26StackAdvisor(HDP25StackAdvisor):
         knox_host = knox_hosts[0]
       if 'gateway-site' in services['configurations'] and 'gateway.port' in 
services['configurations']["gateway-site"]["properties"]:
         knox_port = 
services['configurations']["gateway-site"]["properties"]['gateway.port']
-      putAtlasApplicationProperty('atlas.sso.providerurl', 
'https://{0}:{1}/gateway/knoxsso/api/v1/websso'.format(knox_host, knox_port))
+      putAtlasApplicationProperty('atlas.sso.knox.providerurl', 
'https://{0}:{1}/gateway/knoxsso/api/v1/websso'.format(knox_host, knox_port))
 
   def recommendDruidConfigurations(self, configurations, clusterData, 
services, hosts):
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/f13e0486/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py 
b/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py
index 7759c09..f4538d7 100644
--- a/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py
+++ b/ambari-server/src/test/python/stacks/2.5/common/test_stack_advisor.py
@@ -6803,7 +6803,8 @@ class TestHDP25StackAdvisor(TestCase):
                                                                             
"atlas.kafka.bootstrap.servers": "",
                                                                             
"atlas.kafka.zookeeper.connect": "",
                                                                             
"atlas.graph.storage.hostname": "",
-                                                                            
"atlas.audit.hbase.zookeeper.quorum": ""
+                                                                            
"atlas.audit.hbase.zookeeper.quorum": "",
+                                                                            
"atlas.authentication.method.ldap": "false"
                                                                             }}}
     hosts = self.prepareHosts([])
     result = self.stackAdvisor.validateConfigurations(services, hosts)

http://git-wip-us.apache.org/repos/asf/ambari/blob/f13e0486/ambari-server/src/test/python/stacks/2.6/common/test_stack_advisor.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.6/common/test_stack_advisor.py 
b/ambari-server/src/test/python/stacks/2.6/common/test_stack_advisor.py
index a7a45f8..011a874 100644
--- a/ambari-server/src/test/python/stacks/2.6/common/test_stack_advisor.py
+++ b/ambari-server/src/test/python/stacks/2.6/common/test_stack_advisor.py
@@ -572,7 +572,7 @@ class TestHDP26StackAdvisor(TestCase):
     configurations = {
       "application-properties": {
         "properties": {
-          "atlas.sso.providerurl": "",
+          "atlas.sso.knox.providerurl": "",
           "atlas.graph.index.search.solr.zookeeper-url": "",
           "atlas.audit.hbase.zookeeper.quorum": "",
           "atlas.graph.storage.hostname": "",
@@ -604,7 +604,7 @@ class TestHDP26StackAdvisor(TestCase):
     expected = {
       "application-properties": {
         "properties": {
-          "atlas.sso.providerurl": 
"https://c6401.ambari.apache.org:8443/gateway/knoxsso/api/v1/websso";,
+          "atlas.sso.knox.providerurl": 
"https://c6401.ambari.apache.org:8443/gateway/knoxsso/api/v1/websso";,
           "atlas.graph.index.search.solr.zookeeper-url": "",
           "atlas.audit.hbase.zookeeper.quorum": "",
           "atlas.graph.storage.hostname": "",

Reply via email to