@@ -16,7 +16,7 @@ set -euo pipefail
1616# Ref: https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/ingress_and_load_balancing/configuring-ingress-cluster-traffic#ingress-gateway-api
1717# Ref: https://docs.redhat.com/en/documentation/red_hat_openshift_ai_self-managed/3.4/html/deploying_models/index
1818# Ref: https://github.com/red-hat-data-services/kserve/tree/rhoai-3.4/docs/samples/llmisvc
19- # Ref: https://docs.redhat.com/en/documentation/red_hat_connectivity_link/1.3
19+ # Ref: https://docs.redhat.com/en/documentation/red_hat_connectivity_link
2020
2121SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
2222REPO_ROOT=" $( cd " ${SCRIPT_DIR} /../.." && pwd) "
150150
151151# ── 3. GatewayClass + Gateway ───────────────────────────────────────────────
152152
153- create_openshift_gateway () {
153+ # Verify the inference gateway pod is healthy.
154+ # Especially after Kuadrant injects a WasmPlugin into the Gateway's Envoy proxy; if the wasm binary
155+ # fails to load the pod enters CrashLoopBackOff.
156+ check_inference_external_gateway () {
157+ wait_for_deployment " istiod-openshift-gateway" " openshift-ingress"
158+ wait_for_deployment " ${GATEWAY_NAME} -${GATEWAY_CLASS_NAME} " " ${GATEWAY_NAMESPACE} "
159+ }
160+
161+ create_inference_external_gateway () {
154162 step " Creating OpenShift GatewayClass and Gateway..."
155163
156164 # GatewayClass
@@ -214,13 +222,13 @@ EOF
214222 fi
215223
216224 step " Waiting for Istio control plane (istiod) to be ready..."
217- wait_for_deployment " istiod-openshift-gateway " " openshift-ingress "
225+ check_inference_external_gateway
218226
219227 log " OpenShift Gateway created."
220228}
221229
222230# ── 4. Red Hat Connectivity Link (Kuadrant) ──────────────────────────────────
223- # Ref: https://docs.redhat.com/en/documentation/red_hat_connectivity_link/1.3
231+ # Ref: https://docs.redhat.com/en/documentation/red_hat_connectivity_link
224232
225233install_connectivity_link () {
226234 local ns=" ${KUADRANT_NAMESPACE} "
@@ -1013,6 +1021,9 @@ EOF
10131021 -n " ${GATEWAY_NAMESPACE} " --timeout=180s 2> /dev/null \
10141022 || die " TokenRateLimitPolicy not enforced after 180s."
10151023
1024+ sleep 15
1025+ check_inference_external_gateway
1026+
10161027 log " TokenRateLimitPolicy applied."
10171028}
10181029
@@ -1069,6 +1080,9 @@ spec:
10691080 - expression: auth.identity.user.username
10701081EOF
10711082
1083+ sleep 15
1084+ check_inference_external_gateway
1085+
10721086 log " RateLimitPolicy applied (20 req/min per user)."
10731087}
10741088
@@ -1253,7 +1267,7 @@ cmd_install() {
12531267 create_selfsigned_issuer
12541268
12551269 install_lws_operator
1256- create_openshift_gateway
1270+ create_inference_external_gateway
12571271
12581272 # TODO
12591273 # Pin RHCL to 1.3.x to work around wasm plugin incompatibility with Service Mesh 3.x.
0 commit comments