kubernetes-client / kubernetes-client/python
getheaders is deprecated in urllib3 >= 2.0.0
- Dominant language
- Python
- Stars
- 7.7k
- Forks
- 3.5k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 18
Description
Please remove the deprecated function `getheaders` from `client/rest.py`
**What happened (please include outputs or screenshots)**:
```
Traceback (most recent call last):
File "/home/mau/repos/project-automation/k8s/k8s.py", line 828, in
main()
File "/home/mau/repos/project-automation/k8s/k8s.py", line 803, in main
k8s_project.create_namespace()
File "/home/mau/repos/project-automation/k8s/k8s.py", line 110, in create_namespace
self.__k8s_cluster.create_namespace(
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/pja_sdk/k8s.py", line 98, in create_namespace
namespace = self.__corev1api.create_namespace(body=body)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/api/core_v1_api.py", line 6363, in create_namespace
return self.create_namespace_with_http_info(body, **kwargs) # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/api/core_v1_api.py", line 6454, in create_namespace_with_http_info
return self.api_client.call_api(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/api_client.py", line 348, in call_api
return self.__call_api(resource_path, method,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/api_client.py", line 180, in __call_api
response_data = self.request(
^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/api_client.py", line 391, in request
return self.rest_client.POST(url,
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/rest.py", line 279, in POST
return self.request("POST", url,
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/rest.py", line 238, in request
raise ApiException(http_resp=r)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/exceptions.py", line 91, in __init__
self.headers = http_resp.getheaders()
^^^^^^^^^^^^^^^^^^^^^^
File "/home/mau/.virtualenvs/project-automation-2/lib/python3.12/site-packages/kubernetes/client/rest.py", line 44, in getheaders
return self.urllib3_response.getheaders()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'HTTPResponse' object has no attribute 'getheaders'. Did you mean: 'headers'?
```
**How to reproduce it (as minimally and precisely as possible)**:
Install requirements (urllib3 >= 2.0.0) and call any function.
**Environment**:
- Kubernetes version (`kubectl version`): v1.29.5
- OS (e.g., MacOS 10.13.6): Linux
- Python version (`python --version`) 3.12.3
- Python client version (`pip list | grep kubernetes`) 29.0.0
Contributor guide
Research direction
Open client/rest.py and inspect the getheaders function referenced in the traceback, then check its callers and the existing urllib3 response handling. Remove the deprecated function and verify that the affected request or exception path no longer calls it when using urllib3 >= 2.0.0.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100