From 31d99f122e89d81590df84f66c2dc9fb336a03b8 Mon Sep 17 00:00:00 2001 From: cstella Date: Thu, 31 Aug 2017 15:48:01 -0400 Subject: [PATCH] METRON-1145: Profiler mpack does not create kafka acl and hbase acls correctly in kerberized cluster closes apache/incubator-metron#726 --- .../CURRENT/package/scripts/profiler_commands.py | 4 ++++ .../CURRENT/package/scripts/profiler_master.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/profiler_commands.py b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/profiler_commands.py index ddd66cb608..4dfa371d76 100644 --- a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/profiler_commands.py +++ b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/profiler_commands.py @@ -98,6 +98,10 @@ def create_hbase_tables(self): Logger.info("Done creating HBase Tables") self.set_hbase_configured() + def init_kafka_acls(self): + Logger.info('Creating Kafka ACls for profiler') + metron_service.init_kafka_acls(self.__params, [self.__profiler_topic], ['profiler']) + def set_hbase_acls(self): Logger.info("Setting HBase ACLs") if self.__params.security_enabled: diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/profiler_master.py b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/profiler_master.py index 4946ab0f01..77c32f07e1 100644 --- a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/profiler_master.py +++ b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/profiler_master.py @@ -27,6 +27,7 @@ from metron_security import storm_security_setup import metron_service +import metron_security from profiler_commands import ProfilerCommands @@ -59,6 +60,9 @@ def configure(self, env, upgrade_type=None, config_dir=None): commands.create_hbase_tables() if params.security_enabled and not commands.is_hbase_acl_configured(): commands.set_hbase_acls() + if params.security_enabled and not commands.is_acl_configured(): + commands.init_kafka_acls() + commands.set_acl_configured() Logger.info("Calling security setup") storm_security_setup(params) @@ -68,6 +72,18 @@ def start(self, env, upgrade_type=None): env.set_params(params) self.configure(env) commands = ProfilerCommands(params) + if params.security_enabled: + metron_security.kinit(params.kinit_path_local, + params.metron_keytab_path, + params.metron_principal_name, + execute_user=params.metron_user) + + if params.security_enabled and not commands.is_hbase_acl_configured(): + commands.set_hbase_acls() + if params.security_enabled and not commands.is_acl_configured(): + commands.init_kafka_acls() + commands.set_acl_configured() + commands.start_profiler_topology(env) def stop(self, env, upgrade_type=None):