kubernetes-client / kubernetes-client/java

[BUG] V1NodeSystemInfo.kubeProxyVersion is incorrectly marked as @Nonnull after removal in K8s v1.33

オープン
#4,887 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Java
スター
4k
フォーク
2.1k
平均マージ
2日 9時間
マージ済み PR(30日)
16

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

生成された V1NodeSystemInfo モデルから始め、その kubeProxyVersion アノテーションを、KEP-4004 で説明されている Kubernetes v1.33 API の変更と比較します。このフィールドを生成する原因となっている code-generator の入力を追跡し、削除されたフィールドが @Nonnull としてマークされないように生成済みクライアントを更新します。完了条件は、Kubernetes v1.33+ のレスポンスを nullability 契約に違反せずにデシリアライズできることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java, kubernetes
領域
api
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
64/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。