Repository navigation
Conversation
Deleting a ConfigMap returned a dictionary, while deleting a Pod
rejected a successful Status response as an invalid Pod [1].
Regenerate the synchronous and asyncio clients to return the deleted
resource or V1Status according to the response's apiVersion and kind.
Reject a response that identifies neither model. Callers that consumed
dictionaries must now read model attributes, for example result.status
in place of result.get("status").
[1]: kubernetes-client#2752
|
[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 |
|
@yliaog, #2664 told 37.x callers to use dictionary access. Would you be comfortable switching these methods to return models in the next major release? @tomplus, does returning a — with Codex assistance |
|
@tamird let's wait for the next release 1.38 for the breaking change |
What type of PR is this?
/kind bug
/kind api-change
What this PR does / why we need it:
Deleting a ConfigMap can return either the ConfigMap or a Kubernetes
Status. Today both come back as dictionaries. Deleting a Pod has a different failure: a successfulStatusresponse can raise a validation error because the client tries to read it as a Pod.Regenerate the synchronous and asyncio clients so individual built-in DELETEs return the model the server actually sent. For example,
delete_namespaced_config_map()returnsV1ConfigMap | V1Status:For
_with_http_info, the model is the first item in the synchronous client’s(data, status, headers)tuple and the.datafield of the asyncio response. Collection deletes and generic custom-object methods keep their existing behavior.Which issue(s) this PR fixes:
Fixes #2752
Special notes for your reviewer:
Depends on kubernetes-client/gen#313, where the generator change lives. The OpenAPI v3 migration plan preserves the return types shown here.
Does this PR introduce a user-facing change?
Prepared with Codex assistance.