You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
File "<snip>/kubernetes_asyncio/client/api_client.py", Line 201, in __call_api
response_type = response_types_map.get(response_data.status, None)
AttributeError: 'NoneType' object has no attribute 'get'
Explanation
The method call_api takes an optional argument response_types_map: def call_api(self, resource_path, ..., response_types_map=None, ...)
Sorry it took me so long to respond. I was working on some code where the use-case was to periodically send commands to kubernetes, but we wanted to check that the kubernetes cluster was ready first. Kubernetes exposes this through the readyz endpoint. Since there's no dedicated method for doing this in the kubernetes client, the next best solution was to use the call_api method.
Problem
Using
kubernetes_asyncio.api_client.call_api
without passing the argumentresponse_types_map
fails.I would recommend skipping the reproduction I added below, as the bug is trivial and should be simple to understand in the "explanation" section.
Minimal reproduction
(Running inside a container on a k8s deployment, for simplicity.)
This fails with the error:
Explanation
The method
call_api
takes an optional argumentresponse_types_map
:def call_api(self, resource_path, ..., response_types_map=None, ...)
https://github.com/tomplus/kubernetes_asyncio/blob/master/kubernetes_asyncio/client/api_client.py#L330
This argument is passed on to the
__call_api
method: https://github.com/tomplus/kubernetes_asyncio/blob/master/kubernetes_asyncio/client/api_client.py#L121In the
__call_api
method, the argument is not treated as optional: https://github.com/tomplus/kubernetes_asyncio/blob/master/kubernetes_asyncio/client/api_client.py#L201If
response_types_map
was not passed in (which it is not by default), this line fails, asresponse_types_map
isNone
, not a dictionary.Fix
Fixed in: #311
The text was updated successfully, but these errors were encountered: