Content type for PATCH sub resource requests is incorrect #3143
Open
Description
Describe the bug
Patching status subresource of a CRD always fails with java client.
Client Version
20.0.0
Kubernetes Version
1.29.1
Java Version
Java 17
To Reproduce
var fooApi = new GenericKubernetesApi<>(Foo.class, FooList.class, "foo.bar", "v1", "foos", apiClient);
fooApi.updateStatus(foo, Foo::getStatus).throwsApiException().getObject();
Above code always fails with the following error
{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"the body of the request was in an unknown format - accepted media types include: application/json-patch+json, application/merge-patch+json, application/apply-patch+yaml","reason":"UnsupportedMediaType","code":415}
Expected behavior
This call is expected to succeed.
KubeConfig
If applicable, add a KubeConfig file with secrets redacted.
Server (please complete the following information):
- OS: MacOS
- Kind cluster
Additional context
The equivalent call from kubectl succeeds -
kubectl patch foos.foo.bar foo1 --subresource=status --type=json -p '[{"op":"replace","path":"/status","value":{"availableReplicas":20}}]'
In kubernetes/api/openapi.yaml
, operationId: patchNamespacedCustomObject has the content type defined as application/json
, which seem to be incorrect.