-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Incompatibility issue with nsenter python library #471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@huang195 yes, please do take a stab at it. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
I have a piece of code that makes use of both the kubernetes python client and nsenter. This code used to work when the kubernetes python client was at version 3. However, starting at version 4, it no longer works, and I was getting the following error from nsenter:
After a bit of digging, it seems the problem is due to
setns
(whatnsenter
eventually calls) does not allow the caller (my program) to be multi-threaded (see here: http://man7.org/linux/man-pages/man2/setns.2.html). Coincidentally, starting in version 4 of the kubernetes python client code,multiprocessing.pool
was introduced to handle asynchronous requests (see here: https://github.com/kubernetes-client/python/blob/release-4.0/kubernetes/client/api_client.py#L19). I was able to confirm this is the culprit - after disabling the use ofmultiprocessing.pool
(luckily, its use was completely confined toapi_client.py
, and changing only a few lines of code sufficed), my code worked the same way as v3 of kubernetes python client.My question is if it is possible to add a constructor flag to enable/disable the use of
multiprocessing.pool
for handling async requests. It seems like a small change that I can take a stab at it.The text was updated successfully, but these errors were encountered: