Skip to content

Commit 0d1b385

Browse files
feat: Change epp and conformance to use v1 type InferencePool (#1118)
* rename x-k8s to apix and add v1 InferencePool to api/v1 * changed epp and conformance test to support v1 * fixed duplicate import * changed docker file * updated docker file * fixed naming collision * added fake approved annotation * try to fix unit tests * fixed typo * added annotation * fixed annotation * fixed integration test * fixed e2e test * change manifests * added rbac * Update api/v1/inferencepool_types.go Co-authored-by: Rob Scott <[email protected]> * Apply suggestions from code review Co-authored-by: Rob Scott <[email protected]> * use v1 type in v1alpha2 * clean unused depdendency * fixed code generator error * revert back * merge bob's change * upadted code-gen * remove deep copy needs * use codegen * tried all alias * push local changes * changed inferencepoollist not to use v1.InferencePoolList * changed comments * fixed presubmit * change to v1 ip * revert to corev1 objectreference * revert back to corev1 objectreference * change crd * remove crd * manually add x-k8s.io inferencepool * revert crd * revert to workable version * Revert "added rbac" This reverts commit c01cbc8. * run generator * re-run generate * revert to workable * revert to workable version * fixed test * test * revert it back to originall workable version * change to use v1alpha2 back * resolve merge conflicts * fixed typo * fixed typo * fixed pipeline * fixed boilerplate Signed-off-by: Xiyue Yu <[email protected]> * changed unused code * fixed pipeline: * fixed missing dependecny update * updated missing dependency * fixed imports * fixed change * fixed format * merge to v1-inferencepool * fixed integration test * fixed import * change to install scheme * fixed import * change back to main image * fixed import issue * fixed format --------- Signed-off-by: Xiyue Yu <[email protected]> Co-authored-by: Rob Scott <[email protected]>
1 parent 1ea9959 commit 0d1b385

34 files changed

+128
-96
lines changed

conformance/conformance.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ import (
6262
// _ "sigs.k8s.io/gateway-api-inference-extension/conformance/tests/model_routing"
6363

6464
// Import the Inference Extension API types
65+
inferencev1 "sigs.k8s.io/gateway-api-inference-extension/api/v1"
6566
inferencev1alpha2 "sigs.k8s.io/gateway-api-inference-extension/apix/v1alpha2"
6667
inferenceconfig "sigs.k8s.io/gateway-api-inference-extension/conformance/utils/config"
6768
)
@@ -132,6 +133,8 @@ func DefaultOptions(t *testing.T) confsuite.ConformanceOptions {
132133
// Register Inference Extension API types
133134
t.Logf("Attempting to install inferencev1alpha2 types into scheme from package: %s", inferencev1alpha2.GroupName)
134135
require.NoError(t, inferencev1alpha2.Install(scheme), "failed to install inferencev1alpha2 types into scheme")
136+
t.Logf("Attempting to install inferencev1 types into scheme from package: %s", inferencev1.GroupName)
137+
require.NoError(t, inferencev1.Install(scheme), "failed to install inferencev1 types into scheme")
135138

136139
clientOptions := client.Options{Scheme: scheme}
137140
c, err := client.New(cfg, clientOptions)

conformance/resources/manifests/manifests.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ spec:
146146
fieldPath: status.podIP
147147
---
148148
# --- Primary InferencePool Definition ---
149-
apiVersion: inference.networking.x-k8s.io/v1alpha2
149+
apiVersion: inference.networking.k8s.io/v1
150150
kind: InferencePool
151151
metadata:
152152
name: primary-inference-pool
@@ -239,7 +239,7 @@ spec:
239239
name: plugins-config
240240
---
241241
# --- Secondary InferencePool Definition ---
242-
apiVersion: inference.networking.x-k8s.io/v1alpha2
242+
apiVersion: inference.networking.k8s.io/v1
243243
kind: InferencePool
244244
metadata:
245245
name: secondary-inference-pool
@@ -363,6 +363,9 @@ rules:
363363
- apiGroups: ["inference.networking.x-k8s.io"]
364364
resources: ["inferencemodels", "inferencepools"]
365365
verbs: ["get", "list", "watch"]
366+
- apiGroups: ["inference.networking.k8s.io"]
367+
resources: ["inferencepools"]
368+
verbs: ["get", "list", "watch"]
366369
- apiGroups: [""]
367370
resources: ["pods"]
368371
verbs: ["get", "list", "watch"]

conformance/tests/basic/epp_unavailable_fail_open.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ spec:
2727
- "secondary.example.com"
2828
rules:
2929
- backendRefs:
30-
- group: inference.networking.x-k8s.io
30+
- group: inference.networking.k8s.io
3131
kind: InferencePool
3232
name: secondary-inference-pool # Use secondary-inferencePool because it has failureMode set to failOpen
3333
matches:

conformance/tests/basic/gateway_following_epp_routing.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ spec:
2828
- "primary.example.com"
2929
rules:
3030
- backendRefs:
31-
- group: inference.networking.x-k8s.io
31+
- group: inference.networking.k8s.io
3232
kind: InferencePool
3333
name: primary-inference-pool
3434
matches:

conformance/tests/basic/httproute_invalid_inferencepool_ref.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ spec:
2121
sectionName: http
2222
rules:
2323
- backendRefs:
24-
- group: inference.networking.x-k8s.io
24+
- group: inference.networking.k8s.io
2525
kind: InferencePool
2626
name: non-existent-inference-pool # Intentionally Non-Existing
2727
matches:

conformance/tests/basic/httproute_multiple_gateways_different_pools.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ spec:
1313
- "primary.example.com"
1414
rules:
1515
- backendRefs:
16-
- group: inference.networking.x-k8s.io
16+
- group: inference.networking.k8s.io
1717
kind: InferencePool
1818
name: primary-inference-pool
1919
matches:
@@ -35,7 +35,7 @@ spec:
3535
- "secondary.example.com"
3636
rules:
3737
- backendRefs:
38-
- group: inference.networking.x-k8s.io
38+
- group: inference.networking.k8s.io
3939
kind: InferencePool
4040
name: secondary-inference-pool
4141
matches:

conformance/tests/basic/inferencepool_accepted.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ spec:
1313
sectionName: http
1414
rules:
1515
- backendRefs:
16-
- group: inference.networking.x-k8s.io # InferencePool API group
16+
- group: inference.networking.k8s.io # InferencePool API group
1717
kind: InferencePool
1818
name: primary-inference-pool # Name of the InferencePool this route points to
1919
# namespace: gateway-conformance-app-backend - is omitted since it is in the same namespace as HTTPRoute

conformance/tests/basic/inferencepool_httproute_port_validation.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ spec:
1616
- "port-unspecified.example.com"
1717
rules:
1818
- backendRefs:
19-
- group: inference.networking.x-k8s.io
19+
- group: inference.networking.k8s.io
2020
kind: InferencePool
2121
name: primary-inference-pool
2222
# Port is intentionally unspecified here
@@ -42,7 +42,7 @@ spec:
4242
- "port-matching.example.com"
4343
rules:
4444
- backendRefs:
45-
- group: inference.networking.x-k8s.io
45+
- group: inference.networking.k8s.io
4646
kind: InferencePool
4747
name: primary-inference-pool
4848
port: 3000 # Port matches InferencePool's targetPortNumber
@@ -68,7 +68,7 @@ spec:
6868
- "port-non-matching.example.com"
6969
rules:
7070
- backendRefs:
71-
- group: inference.networking.x-k8s.io
71+
- group: inference.networking.k8s.io
7272
kind: InferencePool
7373
name: primary-inference-pool
7474
port: 8888 # Port does NOT match InferencePool's targetPortNumber

conformance/tests/basic/inferencepool_invalid_epp_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121

2222
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2323
"k8s.io/apimachinery/pkg/types"
24-
inferenceapi "sigs.k8s.io/gateway-api-inference-extension/apix/v1alpha2"
24+
inferenceapi "sigs.k8s.io/gateway-api-inference-extension/api/v1"
2525
gatewayv1 "sigs.k8s.io/gateway-api/apis/v1"
2626
"sigs.k8s.io/gateway-api/conformance/utils/kubernetes"
2727
"sigs.k8s.io/gateway-api/conformance/utils/suite"

conformance/tests/basic/inferencepool_invalid_epp_service.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
apiVersion: inference.networking.x-k8s.io/v1alpha2
1+
apiVersion: inference.networking.k8s.io/v1
22
kind: InferencePool
33
metadata:
44
name: pool-with-invalid-epp
@@ -23,7 +23,7 @@ spec:
2323
- backendRefs:
2424
- name: pool-with-invalid-epp
2525
kind: InferencePool
26-
group: inference.networking.x-k8s.io
26+
group: inference.networking.k8s.io
2727
matches:
2828
- path:
2929
type: PathPrefix

0 commit comments

Comments
 (0)