kubernetes-client / kubernetes-client/java
[BUG] V1NodeSystemInfo.kubeProxyVersion is incorrectly marked as @Nonnull after removal in K8s v1.33
- Lenguaje dominante
- Java
- Estrellas
- 4k
- Forks
- 2.1k
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 16
Descripción
**Describe the bug**
In Kubernetes v1.33, the status.nodeInfo.kubeProxyVersion field was officially removed (KEP-4004) because its value was not consistently accurate. However, in the generated Java client, the kubeProxyVersion field in V1NodeSystemInfo is still annotated with @jakarta.annotation.Nonnull.
This is highly unreasonable and causes issues when interacting with K8s v1.33+ clusters. Since the API no longer returns this field, it will be deserialized as null, which directly violates the @Nonnull contract and leads to potential NullPointerExceptions or validation failures in downstream applications relying on this client.
**Client Version**
25.0.x
**Kubernetes Version**
1.34
**Java Version**
Java 8
**To Reproduce**
Steps to reproduce the behavior:
**Expected behavior**
A clear and concise description of what you expected to happen.
**KubeConfig**
Not applicable. This is a model definition issue related to upstream API changes.
**Server (please complete the following information):**
OS: Linux
Environment: Container / Bare-metal
Cloud: N/A
**Additional context**
This issue stems from the deprecation and removal of status.nodeInfo.kubeProxyVersion in K8s v1.33 (KEP-4004). The code generator needs to be updated to reflect this upstream API change.
Guía de contribución
Línea de trabajo
Start with the generated V1NodeSystemInfo model and compare its kubeProxyVersion annotation with the Kubernetes v1.33 API change described in KEP-4004. Trace the code-generator input responsible for this field and update the generated client so the removed field is not marked @Nonnull. Done means Kubernetes v1.33+ responses can deserialize without violating the nullability contract.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java, kubernetes
- Área
- api
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 64/100