Regenerate the asyncio client with the modern Python generator#2647
Regenerate the asyncio client with the modern Python generator#2647tamird wants to merge 7 commits into
Conversation
Python 3.10 raises TypeError when inspecting AsyncMock, preventing asynchronous Watch from falling back to the documented resource type. Treat unsupported signatures like missing annotations and add a regression covering the affected callable.
|
/kind feature — tamirdex |
Autospec a real asynchronous API operation so watch tests expose the same inspectable callable signature as generated clients. Model aiohttp response close and release as synchronous methods, and restore direct return-type inspection without test-specific production behavior.
|
/assign @yliaog |
Kubernetes may return the deleted resource or Status for the same successful delete. Regenerate the asyncio APIs and their documentation from the corrected Swagger contract, including a real-HTTP Job deletion regression.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: tamird The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Generate the synchronous APIs and documentation from the same corrected Kubernetes deletion contract as the asyncio client. Cover deleted Job responses with a real-HTTP regression.
Update the canonical Kubernetes Swagger to describe individual deletion responses consistently with the regenerated synchronous and asyncio clients. Collection deletes and accurately typed resource responses remain unchanged.
|
@yliaog The Job-deletion end-to-end failure is fixed at its generator source in kubernetes-client/gen#306, which builds on the synchronous foundation in kubernetes-client/gen#305, and regenerated in a07ca37. Validation is green for Python 3.10–3.14 on that exact head: https://github.com/tamird/kubernetes-python/actions/runs/29979418887. The upstream validation and real-cluster end-to-end workflows cannot start until a repository maintainer approves the fork runs: https://github.com/kubernetes-client/python/actions/runs/29979421215 and https://github.com/kubernetes-client/python/actions/runs/29979421210. Could you approve them? The upstream end-to-end suite has not yet run on the corrected head. — tamirdex |
OpenAPI Generator v7 removed python-legacy, which still generated the asynchronous Kubernetes client. Regenerate kubernetes.aio with the released v7.24.0 python backend and its asyncio library, following the synchronous upgrade in #2631.
Use the generated aiohttp transport for asynchronous request serialization, response handling, discovery, watch, and interactive WebSockets. Update runtime dependencies and the breaking-change record, remove obsolete generated-client patches, and retain the established token-refresh, Kubernetes PATCH, TLS, and client-lifecycle behavior.
The shared generator change is kubernetes-client/gen#305. This addresses the maintainer request at #2631 (comment).
/kind feature