Skip to content

Commit aa4b8e5

Browse files
committed
fix error while spinning up the EPP.
1 parent fc9b9b2 commit aa4b8e5

File tree

3 files changed

+39
-36
lines changed

3 files changed

+39
-36
lines changed

conformance/conformance.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
"io/fs"
2626
"os"
2727
"testing"
28-
"time"
2928

3029
"github.com/stretchr/testify/require"
3130
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@@ -154,10 +153,6 @@ func DefaultOptions(t *testing.T) confsuite.ConformanceOptions {
154153

155154
baseManifestsValue := "resources/manifests/manifests.yaml"
156155

157-
// DO NOT SUBMIT: delete before submitting
158-
timeConfig := confconfig.DefaultTimeoutConfig()
159-
timeConfig.HTTPRouteMustHaveCondition = 600 * time.Second
160-
timeConfig.MaxTimeToConsistency = 600 * time.Second
161156
opts := confsuite.ConformanceOptions{
162157
Client: c,
163158
ClientOptions: clientOptions,
@@ -168,7 +163,7 @@ func DefaultOptions(t *testing.T) confsuite.ConformanceOptions {
168163
Debug: *confflags.ShowDebug,
169164
CleanupBaseResources: *confflags.CleanupBaseResources,
170165
SupportedFeatures: sets.New[features.FeatureName](),
171-
TimeoutConfig: timeConfig,
166+
TimeoutConfig: confconfig.DefaultTimeoutConfig(),
172167
SkipTests: skipTests,
173168
ExemptFeatures: exemptFeatures,
174169
RunTest: *confflags.RunTest,

conformance/tests/basic/inferencepool_httproute_port_validation.go

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,12 @@ limitations under the License.
1717
package basic
1818

1919
import (
20-
"net/http"
2120
"testing"
2221

23-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2422
"k8s.io/apimachinery/pkg/types"
25-
gatewayv1 "sigs.k8s.io/gateway-api/apis/v1"
26-
"sigs.k8s.io/gateway-api/conformance/utils/kubernetes"
2723
"sigs.k8s.io/gateway-api/conformance/utils/suite"
2824
"sigs.k8s.io/gateway-api/pkg/features"
2925

30-
gwapihttp "sigs.k8s.io/gateway-api/conformance/utils/http"
31-
3226
// Local project imports
3327
"sigs.k8s.io/gateway-api-inference-extension/conformance/tests"
3428
k8sutils "sigs.k8s.io/gateway-api-inference-extension/conformance/utils/kubernetes"
@@ -101,39 +95,25 @@ var InferencePoolHTTPRoutePortValidation = suite.ConformanceTest{
10195
)
10296
})
10397

104-
t.Run("Scenario 3: HTTPRoute backendRef to InferencePool with Port Specified and Non-Matching", func(t *testing.T) {
98+
// TODO: Add a warning check after the required change is made per discussion in github.com/kubernetes-sigs/gateway-api-inference-extension/discussions/918
99+
t.Run("Scenario 3: HTTPRoute backendRef to InferencePool with Port Specified and Non-Matching. Request still passing because HTTP Port is ignored when inferencePool is backendRef", func(t *testing.T) {
105100
routeNN := types.NamespacedName{Name: "httproute-pool-port-non-matching", Namespace: appBackendNamespace}
106101
hostname := "port-non-matching.example.com"
107102
path := "/test-port-non-matching"
108103

109-
acceptedCondition := metav1.Condition{
110-
Type: string(gatewayv1.RouteConditionAccepted),
111-
Status: metav1.ConditionTrue,
112-
Reason: string(gatewayv1.RouteReasonAccepted),
113-
}
114-
kubernetes.HTTPRouteMustHaveCondition(t, s.Client, s.TimeoutConfig, routeNN, gatewayNN, acceptedCondition)
115-
116-
resolvedRefsCondition := metav1.Condition{
117-
Type: string(gatewayv1.RouteConditionResolvedRefs),
118-
Status: metav1.ConditionFalse,
119-
Reason: string(gatewayv1.RouteReasonBackendNotFound),
120-
}
121-
kubernetes.HTTPRouteMustHaveCondition(t, s.Client, s.TimeoutConfig, routeNN, gatewayNN, resolvedRefsCondition)
104+
k8sutils.HTTPRouteMustBeAcceptedAndResolved(t, s.Client, s.TimeoutConfig, routeNN, gatewayNN)
122105
k8sutils.InferencePoolMustBeAcceptedByParent(t, s.Client, poolNN)
123106

124-
expectedResponse := trafficutils.BuildExpectedHTTPResponse(
107+
trafficutils.MakeRequestAndExpectSuccess(
108+
t,
109+
s.RoundTripper,
110+
s.TimeoutConfig,
111+
gatewayAddr,
125112
hostname,
126113
path,
127-
http.StatusServiceUnavailable,
128-
"",
129-
"",
114+
backendDeploymentName,
115+
appBackendNamespace,
130116
)
131-
gwapihttp.MakeRequestAndExpectEventuallyConsistentResponse(t, s.RoundTripper, s.TimeoutConfig, gatewayAddr, expectedResponse)
132-
133-
// t.Logf("Successfully verified HTTPRoute %s has conditions: Accepted=True and ResolvedRefs=False (Reason: %s) for Gateway %s due to port mismatch",
134-
// routeNN.String(), resolvedRefsCondition.Reason, gatewayNN.String())
135-
t.Logf("Successfully verified HTTPRoute %s has conditions: Accepted=True and ResolvedRefs=False (Reason: %s) for Gateway %s due to port mismatch",
136-
routeNN.String(), "resolvedRefsCondition", gatewayNN.String())
137117
})
138118
},
139119
}

conformance/tests/basic/inferencepool_httproute_port_validation.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,3 +214,31 @@ spec:
214214
- path:
215215
type: PathPrefix
216216
value: /test-port-non-matching
217+
---
218+
# --- Conformance EPP Requried Role and RoleBindings ---
219+
apiVersion: rbac.authorization.k8s.io/v1
220+
kind: Role
221+
metadata:
222+
name: inference-model-reader
223+
namespace: gateway-conformance-app-backend
224+
rules:
225+
- apiGroups: ["inference.networking.x-k8s.io"]
226+
resources: ["inferencemodels", "inferencepools"]
227+
verbs: ["get", "list", "watch"]
228+
- apiGroups: [""]
229+
resources: ["pods"]
230+
verbs: ["get", "list", "watch"]
231+
---
232+
apiVersion: rbac.authorization.k8s.io/v1
233+
kind: RoleBinding
234+
metadata:
235+
name: epp-to-inference-model-reader
236+
namespace: gateway-conformance-app-backend
237+
subjects:
238+
- kind: ServiceAccount
239+
name: default
240+
namespace: gateway-conformance-app-backend
241+
roleRef:
242+
kind: Role
243+
name: inference-model-reader
244+
apiGroup: rbac.authorization.k8s.io

0 commit comments

Comments
 (0)