From e664457f5fdcd804c506e1af7405f05c789b5239 Mon Sep 17 00:00:00 2001 From: Xiyue Yu Date: Mon, 18 Aug 2025 11:17:57 -0700 Subject: [PATCH 1/5] make port number become pointer --- api/v1/inferencepool_types.go | 4 +++- api/v1/zz_generated.deepcopy.go | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/api/v1/inferencepool_types.go b/api/v1/inferencepool_types.go index ed8e0e1f0..f284f46d6 100644 --- a/api/v1/inferencepool_types.go +++ b/api/v1/inferencepool_types.go @@ -123,7 +123,9 @@ type Extension struct { // Service. // // +optional - PortNumber PortNumber `json:"portNumber,omitempty"` + //nolint:kubeapilinter + // ignore kubeapilinter here as we want to use pointer here as 0 usually means all ports. + PortNumber *PortNumber `json:"portNumber,omitempty"` // Configures how the gateway handles the case when the extension is not responsive. // Defaults to failClose. diff --git a/api/v1/zz_generated.deepcopy.go b/api/v1/zz_generated.deepcopy.go index 0cdf1700a..1e20396d3 100644 --- a/api/v1/zz_generated.deepcopy.go +++ b/api/v1/zz_generated.deepcopy.go @@ -33,6 +33,11 @@ func (in *Extension) DeepCopyInto(out *Extension) { *out = new(Group) **out = **in } + if in.PortNumber != nil { + in, out := &in.PortNumber, &out.PortNumber + *out = new(PortNumber) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extension. From af37ed1f27b0b1ba801cb0a213eb3c067091fb95 Mon Sep 17 00:00:00 2001 From: Xiyue Yu Date: Mon, 18 Aug 2025 11:36:41 -0700 Subject: [PATCH 2/5] fixed ut --- apix/v1alpha2/inferencepool_conversion_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apix/v1alpha2/inferencepool_conversion_test.go b/apix/v1alpha2/inferencepool_conversion_test.go index 847372b53..8da8c0f4d 100644 --- a/apix/v1alpha2/inferencepool_conversion_test.go +++ b/apix/v1alpha2/inferencepool_conversion_test.go @@ -104,7 +104,7 @@ func TestInferencePoolConvertTo(t *testing.T) { Group: &v1Group, Kind: v1Kind, Name: "my-epp-service", - PortNumber: v1PortNumber, + PortNumber: &v1PortNumber, FailureMode: v1FailureMode, }, }, @@ -239,7 +239,7 @@ func TestInferencePoolConvertFrom(t *testing.T) { Group: &v1Group, Kind: v1Kind, Name: "my-epp-service", - PortNumber: v1PortNumber, + PortNumber: &v1PortNumber, FailureMode: v1FailureMode, }, }, From 4dfb025c270c906611377d601346d6970798b704 Mon Sep 17 00:00:00 2001 From: Xiyue Yu Date: Mon, 18 Aug 2025 13:28:11 -0700 Subject: [PATCH 3/5] updated crd --- .../crd/bases/inference.networking.k8s.io_inferencepools.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/crd/bases/inference.networking.k8s.io_inferencepools.yaml b/config/crd/bases/inference.networking.k8s.io_inferencepools.yaml index 92072eb57..833ce69f2 100644 --- a/config/crd/bases/inference.networking.k8s.io_inferencepools.yaml +++ b/config/crd/bases/inference.networking.k8s.io_inferencepools.yaml @@ -91,6 +91,8 @@ spec: The port number on the service running the extension. When unspecified, implementations SHOULD infer a default value of 9002 when the Kind is Service. + + ignore kubeapilinter here as we want to use pointer here as 0 usually means all ports. format: int32 maximum: 65535 minimum: 1 From ede369847d9e60124197ad54a3005a1f9c28a41b Mon Sep 17 00:00:00 2001 From: Xiyue Yu Date: Mon, 18 Aug 2025 13:30:25 -0700 Subject: [PATCH 4/5] change to use pointer --- api/v1/inferencepool_types.go | 1 - .../crd/bases/inference.networking.k8s.io_inferencepools.yaml | 2 -- 2 files changed, 3 deletions(-) diff --git a/api/v1/inferencepool_types.go b/api/v1/inferencepool_types.go index f284f46d6..73d5ef30a 100644 --- a/api/v1/inferencepool_types.go +++ b/api/v1/inferencepool_types.go @@ -124,7 +124,6 @@ type Extension struct { // // +optional //nolint:kubeapilinter - // ignore kubeapilinter here as we want to use pointer here as 0 usually means all ports. PortNumber *PortNumber `json:"portNumber,omitempty"` // Configures how the gateway handles the case when the extension is not responsive. diff --git a/config/crd/bases/inference.networking.k8s.io_inferencepools.yaml b/config/crd/bases/inference.networking.k8s.io_inferencepools.yaml index 833ce69f2..92072eb57 100644 --- a/config/crd/bases/inference.networking.k8s.io_inferencepools.yaml +++ b/config/crd/bases/inference.networking.k8s.io_inferencepools.yaml @@ -91,8 +91,6 @@ spec: The port number on the service running the extension. When unspecified, implementations SHOULD infer a default value of 9002 when the Kind is Service. - - ignore kubeapilinter here as we want to use pointer here as 0 usually means all ports. format: int32 maximum: 65535 minimum: 1 From f6367c6953c43770d3d6d585c7d96107ae7e7a3e Mon Sep 17 00:00:00 2001 From: Xiyue Yu Date: Mon, 18 Aug 2025 13:35:19 -0700 Subject: [PATCH 5/5] changed comment --- api/v1/inferencepool_types.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/v1/inferencepool_types.go b/api/v1/inferencepool_types.go index 73d5ef30a..7f76b03d8 100644 --- a/api/v1/inferencepool_types.go +++ b/api/v1/inferencepool_types.go @@ -123,7 +123,7 @@ type Extension struct { // Service. // // +optional - //nolint:kubeapilinter + //nolint:kubeapilinter // ignore kubeapilinter here as we want to use pointer here as 0 usually means all ports. PortNumber *PortNumber `json:"portNumber,omitempty"` // Configures how the gateway handles the case when the extension is not responsive.