From e64cc463b81f3f6cdb54cee6c7a6ad4010f0fad2 Mon Sep 17 00:00:00 2001 From: Vinoth Chandar Date: Wed, 10 Jun 2020 10:12:38 -0700 Subject: [PATCH] KAFKA-10138: Prefer --bootstrap-server for reassign_partitions command in ducktape tests --- tests/kafkatest/services/kafka/kafka.py | 11 +++++++++-- tests/kafkatest/version.py | 7 +++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/kafkatest/services/kafka/kafka.py b/tests/kafkatest/services/kafka/kafka.py index 58bd47a7bf839..8a32dfb3d80b9 100644 --- a/tests/kafkatest/services/kafka/kafka.py +++ b/tests/kafkatest/services/kafka/kafka.py @@ -593,6 +593,13 @@ def parse_describe_topic(self, topic_description): "replicas": map(int, fields[3].split(','))}) return {"partitions": partitions} + + def _connect_setting_reassign_partitions(self, node): + if node.version.reassign_partitions_command_supports_bootstrap_server(): + return "--bootstrap-server %s " % self.bootstrap_servers(self.security_protocol) + else: + return "--zookeeper %s " % self.zk_connect_setting() + def verify_reassign_partitions(self, reassignment, node=None): """Run the reassign partitions admin tool in "verify" mode """ @@ -609,7 +616,7 @@ def verify_reassign_partitions(self, reassignment, node=None): cmd = fix_opts_for_new_jvm(node) cmd += "echo %s > %s && " % (json_str, json_file) cmd += "%s " % self.path.script("kafka-reassign-partitions.sh", node) - cmd += "--zookeeper %s " % self.zk_connect_setting() + cmd += self._connect_setting_reassign_partitions(node) cmd += "--reassignment-json-file %s " % json_file cmd += "--verify " cmd += "&& sleep 1 && rm -f %s" % json_file @@ -649,7 +656,7 @@ def execute_reassign_partitions(self, reassignment, node=None, cmd = fix_opts_for_new_jvm(node) cmd += "echo %s > %s && " % (json_str, json_file) cmd += "%s " % self.path.script( "kafka-reassign-partitions.sh", node) - cmd += "--zookeeper %s " % self.zk_connect_setting() + cmd += self._connect_setting_reassign_partitions(node) cmd += "--reassignment-json-file %s " % json_file cmd += "--execute" if throttle is not None: diff --git a/tests/kafkatest/version.py b/tests/kafkatest/version.py index 0de5596eda36c..62033214f66b5 100644 --- a/tests/kafkatest/version.py +++ b/tests/kafkatest/version.py @@ -59,6 +59,9 @@ def supports_tls_to_zookeeper(self): # indicate if KIP-515 is available return self > LATEST_2_4 + def reassign_partitions_command_supports_bootstrap_server(self): + return self >= V_2_5_0 + def get_version(node=None): """Return the version attached to the given node. Default to DEV_BRANCH if node or node.version is undefined (aka None) @@ -147,3 +150,7 @@ def get_version(node=None): # 2.5.x versions V_2_5_0 = KafkaVersion("2.5.0") LATEST_2_5 = V_2_5_0 + +# 2.6.x versions +V_2_6_0 = KafkaVersion("2.6.0") +LATEST_2_6 = V_2_6_0