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