Repository: ambari Updated Branches: refs/heads/trunk 8d3570f8a -> 4759196f3
AMBARI-21560 Auto populate zookeeper.connect in Ranger Kafka plugin properties (mugdha) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4759196f Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4759196f Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4759196f Branch: refs/heads/trunk Commit: 4759196f37a1e83cc732c44f901b647280c6b8b5 Parents: 8d3570f Author: Mugdha Varadkar <[email protected]> Authored: Mon Jul 24 18:08:57 2017 +0530 Committer: Mugdha Varadkar <[email protected]> Committed: Fri Jul 28 12:58:34 2017 +0530 ---------------------------------------------------------------------- .../ranger-kafka-plugin-properties.xml | 6 ++++++ .../KAFKA/0.10.0.3.0/service_advisor.py | 5 +++++ .../ranger-kafka-plugin-properties.xml | 6 ++++++ .../stacks/HDP/2.3/services/stack_advisor.py | 5 +++++ .../stacks/2.3/common/test_stack_advisor.py | 22 ++++++++++++++++++-- 5 files changed, 42 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/4759196f/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/configuration/ranger-kafka-plugin-properties.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/configuration/ranger-kafka-plugin-properties.xml b/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/configuration/ranger-kafka-plugin-properties.xml index 29aa31c..42be7d0 100644 --- a/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/configuration/ranger-kafka-plugin-properties.xml +++ b/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/configuration/ranger-kafka-plugin-properties.xml @@ -48,6 +48,12 @@ <name>zookeeper.connect</name> <value>localhost:2181</value> <description>Used for repository creation on ranger admin</description> + <depends-on> + <property> + <type>zoo.cfg</type> + <name>clientPort</name> + </property> + </depends-on> <on-ambari-upgrade add="false"/> </property> <property> http://git-wip-us.apache.org/repos/asf/ambari/blob/4759196f/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/service_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/service_advisor.py b/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/service_advisor.py index 6b889a6..27c7173 100644 --- a/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/service_advisor.py +++ b/ambari-server/src/main/resources/common-services/KAFKA/0.10.0.3.0/service_advisor.py @@ -272,6 +272,11 @@ class KafkaRecommender(service_advisor.ServiceAdvisor): kafkaLog4jContent+= '\n' + kafkaLog4jRangerLines[item]["name"] + '=' + kafkaLog4jRangerLines[item]["value"] putKafkaLog4jProperty("content",kafkaLog4jContent) + zookeeper_host_port = self.getZKHostPortString(services) + if zookeeper_host_port: + putRangerKafkaPluginProperty = self.putProperty(configurations, 'ranger-kafka-plugin-properties', services) + putRangerKafkaPluginProperty('zookeeper.connect', zookeeper_host_port) + def recommendKAFKAConfigurationsFromHDP26(self, configurations, clusterData, services, hosts): if 'kafka-env' in services['configurations'] and 'kafka_user' in services['configurations']['kafka-env']['properties']: http://git-wip-us.apache.org/repos/asf/ambari/blob/4759196f/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/configuration/ranger-kafka-plugin-properties.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/configuration/ranger-kafka-plugin-properties.xml b/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/configuration/ranger-kafka-plugin-properties.xml index 3949402..1250f17 100644 --- a/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/configuration/ranger-kafka-plugin-properties.xml +++ b/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/configuration/ranger-kafka-plugin-properties.xml @@ -48,6 +48,12 @@ <name>zookeeper.connect</name> <value>localhost:2181</value> <description>Used for repository creation on ranger admin</description> + <depends-on> + <property> + <type>zoo.cfg</type> + <name>clientPort</name> + </property> + </depends-on> <on-ambari-upgrade add="false"/> </property> <property> http://git-wip-us.apache.org/repos/asf/ambari/blob/4759196f/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py index 9efcee0..8cde439 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py @@ -420,6 +420,11 @@ class HDP23StackAdvisor(HDP22StackAdvisor): kafkaLog4jContent+= '\n' + kafkaLog4jRangerLines[item]["name"] + '=' + kafkaLog4jRangerLines[item]["value"] putKafkaLog4jProperty("content",kafkaLog4jContent) + zookeeper_host_port = self.getZKHostPortString(services) + if zookeeper_host_port: + putRangerKafkaPluginProperty = self.putProperty(configurations, 'ranger-kafka-plugin-properties', services) + putRangerKafkaPluginProperty('zookeeper.connect', zookeeper_host_port) + def recommendRangerKMSConfigurations(self, configurations, clusterData, services, hosts): servicesList = [service["StackServices"]["service_name"] for service in services["services"]] putRangerKmsDbksProperty = self.putProperty(configurations, "dbks-site", services) http://git-wip-us.apache.org/repos/asf/ambari/blob/4759196f/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py b/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py index 9e882d2..0cc9ad0 100644 --- a/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py +++ b/ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py @@ -299,6 +299,17 @@ class TestHDP23StackAdvisor(TestCase): } }] + }, + { + "StackServices": { + "service_name": "ZOOKEEPER" + }, + "components": [{ + "StackServiceComponents": { + "component_name": "ZOOKEEPER_SERVER", + "hostnames": ["host1"] + } + }] } ], "Versions": { @@ -306,7 +317,7 @@ class TestHDP23StackAdvisor(TestCase): }, "configurations": { "core-site": { - "properties": { }, + "properties": {} }, "cluster-env": { "properties": { @@ -322,13 +333,19 @@ class TestHDP23StackAdvisor(TestCase): }, "ranger-kafka-plugin-properties": { "properties": { - "ranger-kafka-plugin-enabled": "No" + "ranger-kafka-plugin-enabled": "No", + "zookeeper.connect": "" } }, "kafka-log4j": { "properties": { "content": "kafka.logs.dir=logs" } + }, + "zoo.cfg" : { + "properties": { + "clientPort": "2181" + } } } } @@ -365,6 +382,7 @@ class TestHDP23StackAdvisor(TestCase): services['configurations']['ranger-kafka-plugin-properties']['properties']['ranger-kafka-plugin-enabled'] = 'Yes' self.stackAdvisor.recommendKAFKAConfigurations(configurations, clusterData, services, None) self.assertEquals(configurations['kafka-broker']['properties']['authorizer.class.name'], 'org.apache.ranger.authorization.kafka.authorizer.RangerKafkaAuthorizer', "Test authorizer.class.name with Ranger Kafka plugin enabled in kerberos environment") + self.assertEquals(configurations['ranger-kafka-plugin-properties']['properties']['zookeeper.connect'], 'host1:2181') # Test kafka-log4j content when Ranger plugin for Kafka is enabled
