summaryrefslogtreecommitdiff
path: root/kafka/protocol/admin.py
diff options
context:
space:
mode:
authorTincu Gabriel <gabi@aiven.io>2020-05-05 13:29:23 +0200
committerGitHub <noreply@github.com>2020-05-05 14:29:23 +0300
commit6fc008137c75c751a9fbea3e0ef36d2870119c7b (patch)
tree667c4cb56dd57c819e8a73387c6689383a5ac564 /kafka/protocol/admin.py
parentf9e0264e0b0f8d92afb6177d51976795e3bdbcd8 (diff)
downloadkafka-python-6fc008137c75c751a9fbea3e0ef36d2870119c7b.tar.gz
Add logic for inferring newer broker versions (#2038)
* Add logic for inferring newer broker versions - New Fetch / ListOffsets request / response objects - Add new test cases to inferr code based on mentioned objects - Add unit test to check inferred version against whatever resides in KAFKA_VERSION - Add new kafka broker versions to integration list - Add more kafka broker versions to travis task list - Add support for broker version 2.5 id * Implement PR change requests: fewer versions for travis testing, remove unused older versions for inference code, remove one minor version from known server list Do not use newly created ACL request / responses in allowed version lists, due to flexible versions enabling in kafka actually requiring a serialization protocol header update Revert admin client file change
Diffstat (limited to 'kafka/protocol/admin.py')
-rw-r--r--kafka/protocol/admin.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/kafka/protocol/admin.py b/kafka/protocol/admin.py
index b2694dc..af88ea4 100644
--- a/kafka/protocol/admin.py
+++ b/kafka/protocol/admin.py
@@ -477,6 +477,13 @@ class DescribeAclsResponse_v1(Response):
('permission_type', Int8)))))
)
+
+class DescribeAclsResponse_v2(Response):
+ API_KEY = 29
+ API_VERSION = 2
+ SCHEMA = DescribeAclsResponse_v1.SCHEMA
+
+
class DescribeAclsRequest_v0(Request):
API_KEY = 29
API_VERSION = 0
@@ -490,6 +497,7 @@ class DescribeAclsRequest_v0(Request):
('permission_type', Int8)
)
+
class DescribeAclsRequest_v1(Request):
API_KEY = 29
API_VERSION = 1
@@ -504,6 +512,17 @@ class DescribeAclsRequest_v1(Request):
('permission_type', Int8)
)
+
+class DescribeAclsRequest_v2(Request):
+ """
+ Enable flexible version
+ """
+ API_KEY = 29
+ API_VERSION = 2
+ RESPONSE_TYPE = DescribeAclsResponse_v2
+ SCHEMA = DescribeAclsRequest_v1.SCHEMA
+
+
DescribeAclsRequest = [DescribeAclsRequest_v0, DescribeAclsRequest_v1]
DescribeAclsResponse = [DescribeAclsResponse_v0, DescribeAclsResponse_v1]
@@ -862,3 +881,4 @@ CreatePartitionsRequest = [
CreatePartitionsResponse = [
CreatePartitionsResponse_v0, CreatePartitionsResponse_v1,
]
+