Repository: ambari
Updated Branches:
  refs/heads/branch-2.4 57bd54231 -> cc2fb2896


AMBARI-18686 - Falcon user shouldn't be added to Oozie admin list if Falcon is 
not installed


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

Branch: refs/heads/branch-2.4
Commit: cc2fb28961afdb5964f4f6996e6ad3e2d0e07241
Parents: 57bd542
Author: Tim Thorpe <ttho...@apache.org>
Authored: Fri Oct 28 06:00:07 2016 -0700
Committer: Tim Thorpe <ttho...@apache.org>
Committed: Fri Oct 28 06:00:07 2016 -0700

----------------------------------------------------------------------
 .../stacks/HDP/2.5/services/stack_advisor.py    |  4 ++
 .../stacks/2.5/common/test_stack_advisor.py     | 63 ++++++++++++++++++++
 2 files changed, 67 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/cc2fb289/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 986ca69..ec92f3a 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
@@ -42,6 +42,10 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
       Logger.info("No oozie configurations available")
       return
 
+    if not "FALCON_SERVER" in clusterData["components"] :
+      Logger.info("Falcon is not part of the installation")
+      return
+
     falconUser = 'falcon'
 
     if "falcon-env" in services["configurations"] :

http://git-wip-us.apache.org/repos/asf/ambari/blob/cc2fb289/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 0ed1761..4b71c1b 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
@@ -7698,6 +7698,69 @@ class TestHDP25StackAdvisor(TestCase):
     res = self.stackAdvisor.validateSpark2Defaults(properties, 
recommendedDefaults, configurations, services, {})
     self.assertEquals(res, res_expected)
 
+
+  def test_recommendOozieConfigurations_noFalconServer(self):
+    configurations = {}
+    clusterData = {
+      "components" : []
+    }
+    expected = {
+      "oozie-site": {"properties":{}},
+      "oozie-env": {"properties":{}}
+    }
+
+    self.stackAdvisor.recommendOozieConfigurations(configurations, 
clusterData, {"configurations":{}}, None)
+    self.assertEquals(configurations, expected)
+
+
+  def test_recommendOozieConfigurations_withFalconServer(self):
+    configurations = {
+      "falcon-env" : {
+        "properties" : {
+          "falcon_user" : "falcon"
+        }
+      }
+    }
+
+    services = {
+      "services": [
+        {
+          "StackServices": {
+            "service_name": "FALCON"
+          }, "components": []
+        },
+      ],
+      "configurations": configurations,
+      "forced-configurations": []
+    }
+
+    clusterData = {
+      "components" : ["FALCON_SERVER"]
+    }
+    expected = {
+      "oozie-site": {
+        "properties": {
+          "oozie.services.ext": "org.apache.oozie.service.JMSAccessorService," 
+
+                                
"org.apache.oozie.service.PartitionDependencyManagerService," +
+                                "org.apache.oozie.service.HCatAccessorService",
+          "oozie.service.ProxyUserService.proxyuser.falcon.groups" : "*",
+          "oozie.service.ProxyUserService.proxyuser.falcon.hosts" : "*"
+        }
+      },
+      "falcon-env" : {
+        "properties" : {
+          "falcon_user" : "falcon"
+        }
+      },
+      "oozie-env": {
+        "properties": {'oozie_admin_users': 'oozie, oozie-admin,falcon'}
+      }
+    }
+
+    self.stackAdvisor.recommendOozieConfigurations(configurations, 
clusterData, services, None)
+    self.assertEquals(configurations, expected)
+
+
 """
 Given a comma-separated string, split the items, sort them, and re-join the 
elements
 back into a comma-separated string

Reply via email to