Repository: ambari Updated Branches: refs/heads/branch-2.5 b842de131 -> ea8dff324
AMBARI-20494. Disabling security fails with AttributeError (rlevas) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ea8dff32 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ea8dff32 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ea8dff32 Branch: refs/heads/branch-2.5 Commit: ea8dff32491d2a91bf1ad10a9d34dbca6acc78cb Parents: b842de1 Author: Robert Levas <[email protected]> Authored: Mon Mar 20 10:19:01 2017 -0400 Committer: Robert Levas <[email protected]> Committed: Mon Mar 20 10:19:01 2017 -0400 ---------------------------------------------------------------------- .../stacks/HDP/2.5/services/stack_advisor.py | 24 +++++++++++++------- .../stacks/2.5/common/test_stack_advisor.py | 5 ++++ 2 files changed, 21 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ea8dff32/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 d510e60..9bfae8d 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 @@ -468,17 +468,25 @@ class HDP25StackAdvisor(HDP24StackAdvisor): def recommendStormConfigurations(self, configurations, clusterData, services, hosts): super(HDP25StackAdvisor, self).recommendStormConfigurations(configurations, clusterData, services, hosts) storm_site = self.getServicesSiteProperties(services, "storm-site") + storm_env = self.getServicesSiteProperties(services, "storm-env") putStormSiteProperty = self.putProperty(configurations, "storm-site", services) putStormSiteAttributes = self.putPropertyAttribute(configurations, "storm-site") - security_enabled = (storm_site is not None and "storm.zookeeper.superACL" in storm_site) + security_enabled = self.isSecurityEnabled(services) + + if storm_env and storm_site: + if security_enabled: + _storm_principal_name = storm_env['storm_principal_name'] if 'storm_principal_name' in storm_env else None + storm_bare_jaas_principal = get_bare_principal(_storm_principal_name) + if 'nimbus.impersonation.acl' in storm_site: + storm_nimbus_impersonation_acl = storm_site["nimbus.impersonation.acl"] + storm_nimbus_impersonation_acl.replace('{{storm_bare_jaas_principal}}', storm_bare_jaas_principal) + putStormSiteProperty('nimbus.impersonation.acl', storm_nimbus_impersonation_acl) + else: + if 'nimbus.impersonation.acl' in storm_site: + putStormSiteAttributes('nimbus.impersonation.acl', 'delete', 'true') + if 'nimbus.impersonation.authorizer' in storm_site: + putStormSiteAttributes('nimbus.impersonation.authorizer', 'delete', 'true') - if security_enabled: - _storm_principal_name = services['configurations']['storm-env']['properties']['storm_principal_name'] - storm_bare_jaas_principal = get_bare_principal(_storm_principal_name) - if 'nimbus.impersonation.acl' in storm_site: - storm_nimbus_impersonation_acl = storm_site["nimbus.impersonation.acl"] - storm_nimbus_impersonation_acl.replace('{{storm_bare_jaas_principal}}', storm_bare_jaas_principal) - putStormSiteProperty('nimbus.impersonation.acl', storm_nimbus_impersonation_acl) rangerPluginEnabled = '' if 'ranger-storm-plugin-properties' in configurations and 'ranger-storm-plugin-enabled' in configurations['ranger-storm-plugin-properties']['properties']: rangerPluginEnabled = configurations['ranger-storm-plugin-properties']['properties']['ranger-storm-plugin-enabled'] http://git-wip-us.apache.org/repos/asf/ambari/blob/ea8dff32/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 2f81395..00edf21 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 @@ -5369,6 +5369,11 @@ class TestHDP25StackAdvisor(TestCase): "stack_version": "2.5" }, "configurations": { + "cluster-env": { + "properties": { + "security_enabled" : "true" + } + }, "storm-site": { "properties": { "nimbus.authorizer" : "org.apache.storm.security.auth.authorizer.SimpleACLAuthorizer",
