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

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

commit fec17d77778eaaf78b7b6573852db62138e6056e
Author: Luke Chen <[email protected]>
AuthorDate: Fri Jul 23 20:33:43 2021 +0800

    KAFKA-13129: replace describe topic via zk with describe users (#11115)
    
    Replace the unsupported describe topic via zk with describe users to fix 
the system tests.
    For the upgrade_test case where TLS support is not required, use list_acls 
instead.
    
    Reviewers: Ismael Juma <[email protected]>
---
 tests/kafkatest/services/zookeeper.py                         | 9 ++++-----
 tests/kafkatest/tests/core/upgrade_test.py                    | 4 ++--
 tests/kafkatest/tests/core/zookeeper_tls_encrypt_only_test.py | 2 +-
 tests/kafkatest/tests/core/zookeeper_tls_test.py              | 2 +-
 4 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/tests/kafkatest/services/zookeeper.py 
b/tests/kafkatest/services/zookeeper.py
index 51f2b31..c9d86e8 100644
--- a/tests/kafkatest/services/zookeeper.py
+++ b/tests/kafkatest/services/zookeeper.py
@@ -220,16 +220,15 @@ class ZookeeperService(KafkaPathResolverMixin, Service):
         output = self.nodes[0].account.ssh_output(cmd)
         self.logger.debug(output)
 
-    def describe(self, topic):
+    def describeUsers(self):
         """
-        Describe the given topic using the ConfigCommand CLI
+        Describe the default user using the ConfigCommand CLI
         """
 
         kafka_run_class = self.path.script("kafka-run-class.sh", DEV_BRANCH)
-        cmd = "%s kafka.admin.ConfigCommand --zookeeper %s %s --describe 
--topic %s" % \
+        cmd = "%s kafka.admin.ConfigCommand --zookeeper %s %s --describe 
--entity-type users --entity-default" % \
               (kafka_run_class, 
self.connect_setting(force_tls=self.zk_client_secure_port),
-               self.zkTlsConfigFileOption(),
-               topic)
+               self.zkTlsConfigFileOption())
         self.logger.debug(cmd)
         output = self.nodes[0].account.ssh_output(cmd)
         self.logger.debug(output)
diff --git a/tests/kafkatest/tests/core/upgrade_test.py 
b/tests/kafkatest/tests/core/upgrade_test.py
index 174d43a..39e4fa2 100644
--- a/tests/kafkatest/tests/core/upgrade_test.py
+++ b/tests/kafkatest/tests/core/upgrade_test.py
@@ -51,10 +51,10 @@ class TestUpgrade(ProduceConsumeValidateTest):
         self.logger.info("Upgrade ZooKeeper from %s to %s" % 
(str(self.zk.nodes[0].version), str(DEV_BRANCH)))
         self.zk.set_version(DEV_BRANCH)
         self.zk.restart_cluster()
-        # Confirm we have a successful ZooKeeper upgrade by describing the 
topic.
+        # Confirm we have a successful ZooKeeper upgrade by List ACLs for the 
topic.
         # Not trying to detect a problem here leads to failure in the ensuing 
Kafka roll, which would be a less
         # intuitive failure than seeing a problem here, so detect ZooKeeper 
upgrade problems before involving Kafka.
-        self.zk.describe(self.topic)
+        self.zk.list_acls(self.topic)
         # Do some stuff that exercises the use of ZooKeeper before we upgrade 
to the latest ZooKeeper client version
         self.logger.info("First pass bounce - rolling Kafka with old ZooKeeper 
client")
         for node in self.kafka.nodes:
diff --git a/tests/kafkatest/tests/core/zookeeper_tls_encrypt_only_test.py 
b/tests/kafkatest/tests/core/zookeeper_tls_encrypt_only_test.py
index d1ec110..22d8b89 100644
--- a/tests/kafkatest/tests/core/zookeeper_tls_encrypt_only_test.py
+++ b/tests/kafkatest/tests/core/zookeeper_tls_encrypt_only_test.py
@@ -81,7 +81,7 @@ class ZookeeperTlsEncryptOnlyTest(ProduceConsumeValidateTest):
 
         # Make sure the ConfigCommand CLI is able to talk to a TLS-enabled, 
encrypt-only ZooKeeper quorum
         # This is necessary for the bootstrap use case despite direct 
ZooKeeper connectivity being deprecated
-        self.zk.describe(self.topic)
+        self.zk.describeUsers()
 
         # Make sure the AclCommand CLI is able to talk to a TLS-enabled, 
encrypt-only ZooKeeper quorum
         # This is necessary for the bootstrap use case despite direct 
ZooKeeper connectivity being deprecated
diff --git a/tests/kafkatest/tests/core/zookeeper_tls_test.py 
b/tests/kafkatest/tests/core/zookeeper_tls_test.py
index ea8e344..8000b8e 100644
--- a/tests/kafkatest/tests/core/zookeeper_tls_test.py
+++ b/tests/kafkatest/tests/core/zookeeper_tls_test.py
@@ -115,7 +115,7 @@ class ZookeeperTlsTest(ProduceConsumeValidateTest):
 
         # Make sure the ConfigCommand CLI is able to talk to a TLS-enabled 
ZooKeeper quorum
         # This is necessary for the bootstrap use case despite direct 
ZooKeeper connectivity being deprecated
-        self.zk.describe(self.topic)
+        self.zk.describeUsers()
 
         # Make sure the AclCommand CLI is able to talk to a TLS-enabled 
ZooKeeper quorum
         # This is necessary for the bootstrap use case despite direct 
ZooKeeper connectivity being deprecated

Reply via email to