You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ju...@apache.org on 2020/06/27 16:28:44 UTC

[kafka] branch trunk updated: KAFKA-10180: Fix security_config caching in system tests (#8917)

This is an automated email from the ASF dual-hosted git repository.

junrao pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 3661f98  KAFKA-10180: Fix security_config caching in system tests (#8917)
3661f98 is described below

commit 3661f981fff2653aaf1d5ee0b6dde3410b5498db
Author: Nikolay <ni...@apache.org>
AuthorDate: Sat Jun 27 19:27:49 2020 +0300

    KAFKA-10180: Fix security_config caching in system tests (#8917)
    
    Reviewers: Jun Rao <ju...@gmail.com>
---
 tests/kafkatest/services/kafka/kafka.py | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/tests/kafkatest/services/kafka/kafka.py b/tests/kafkatest/services/kafka/kafka.py
index 8a32dfb..22ba69b 100644
--- a/tests/kafkatest/services/kafka/kafka.py
+++ b/tests/kafkatest/services/kafka/kafka.py
@@ -181,6 +181,7 @@ class KafkaService(KafkaPathResolverMixin, JmxMixin, Service):
         self.interbroker_listener = None
         self.setup_interbroker_listener(interbroker_security_protocol, self.listener_security_config.use_separate_interbroker_listener)
         self.interbroker_sasl_mechanism = interbroker_sasl_mechanism
+        self._security_config = None
 
         for node in self.nodes:
             node.version = version
@@ -214,16 +215,17 @@ class KafkaService(KafkaPathResolverMixin, JmxMixin, Service):
 
     @property
     def security_config(self):
-        config = SecurityConfig(self.context, self.security_protocol, self.interbroker_listener.security_protocol,
-                                zk_sasl=self.zk.zk_sasl, zk_tls=self.zk_client_secure,
-                                client_sasl_mechanism=self.client_sasl_mechanism,
-                                interbroker_sasl_mechanism=self.interbroker_sasl_mechanism,
-                                listener_security_config=self.listener_security_config,
-                                tls_version=self.tls_version)
-        for port in self.port_mappings.values():
-            if port.open:
-                config.enable_security_protocol(port.security_protocol)
-        return config
+        if not self._security_config:
+            self._security_config = SecurityConfig(self.context, self.security_protocol, self.interbroker_listener.security_protocol,
+                                    zk_sasl=self.zk.zk_sasl, zk_tls=self.zk_client_secure,
+                                    client_sasl_mechanism=self.client_sasl_mechanism,
+                                    interbroker_sasl_mechanism=self.interbroker_sasl_mechanism,
+                                    listener_security_config=self.listener_security_config,
+                                    tls_version=self.tls_version)
+            for port in self.port_mappings.values():
+                if port.open:
+                    self._security_config.enable_security_protocol(port.security_protocol)
+        return self._security_config
 
     def open_port(self, listener_name):
         self.port_mappings[listener_name].open = True