@@ -385,6 +385,42 @@ kubectl -n kuadrant-system patch limitador limitador --type merge \
385385 echo " ✅ Limitador image updated" || \
386386 echo " ⚠️ Could not update Limitador image (may not be critical)"
387387
388+ echo " "
389+ echo " ========================================="
390+ echo " ⚠️ TEMPORARY WORKAROUNDS (TO BE REMOVED)"
391+ echo " ========================================="
392+ echo " "
393+ echo " Applying temporary workarounds for known issues..."
394+
395+ echo " 🔧 Removing overly restrictive NetworkPolicy for ODH model controller..."
396+ kubectl delete networkpolicy odh-model-controller -n opendatahub 2> /dev/null && \
397+ echo " ✅ NetworkPolicy removed" || \
398+ echo " ⚠️ NetworkPolicy not found or already removed"
399+
400+ echo " 🔧 Restarting Kuadrant, Authorino, and Limitador operators to refresh webhook configurations..."
401+ kubectl rollout restart deployment kuadrant-operator-controller-manager -n kuadrant-system 2> /dev/null && \
402+ echo " ✅ Kuadrant operator restarted" || \
403+ echo " ⚠️ Could not restart Kuadrant operator"
404+
405+ kubectl rollout restart deployment authorino-controller-manager -n kuadrant-system 2> /dev/null && \
406+ echo " ✅ Authorino operator restarted" || \
407+ echo " ⚠️ Could not restart Authorino operator"
408+
409+ kubectl rollout restart deployment limitador-operator-controller-manager -n kuadrant-system 2> /dev/null && \
410+ echo " ✅ Limitador operator restarted" || \
411+ echo " ⚠️ Could not restart Limitador operator"
412+
413+ echo " Waiting for operators to be ready..."
414+ kubectl rollout status deployment kuadrant-operator-controller-manager -n kuadrant-system --timeout=60s 2> /dev/null || \
415+ echo " ⚠️ Kuadrant operator taking longer than expected"
416+ kubectl rollout status deployment authorino-controller-manager -n kuadrant-system --timeout=60s 2> /dev/null || \
417+ echo " ⚠️ Authorino operator taking longer than expected"
418+ kubectl rollout status deployment limitador-operator-controller-manager -n kuadrant-system --timeout=60s 2> /dev/null || \
419+ echo " ⚠️ Limitador operator taking longer than expected"
420+
421+ echo " "
422+ echo " ========================================="
423+
388424# Verification
389425echo " "
390426echo " ========================================="
@@ -420,18 +456,21 @@ echo " kustomize build docs/samples/models/simulator | kubectl apply -f -"
420456echo " "
421457echo " 2. Get Gateway endpoint:"
422458echo " CLUSTER_DOMAIN=\$ (kubectl get ingresses.config.openshift.io cluster -o jsonpath='{.spec.domain}')"
423- echo " HOST=\" maas-api .\$ {CLUSTER_DOMAIN}\" "
459+ echo " HOST=\" maas.\$ {CLUSTER_DOMAIN}\" "
424460echo " "
425461echo " 3. Get authentication token:"
426462echo " TOKEN_RESPONSE=\$ (curl -sSk -H \" Authorization: Bearer \$ (oc whoami -t)\" -H \" Content-Type: application/json\" -X POST -d '{\" expiration\" : \" 10m\" }' \"\$ {HOST}/maas-api/v1/tokens\" )"
427463echo " TOKEN=\$ (echo \$ TOKEN_RESPONSE | jq -r .token)"
428464echo " "
429465echo " 4. Test model endpoint:"
430- echo " MODELS=\$ (curl \$ {HOST}/maas-api/v1/models -H \" Content-Type: application/json\" -H \" Authorization: Bearer \$ TOKEN\" | jq -r .)"
466+ echo " MODELS=\$ (curl -sSk \$ {HOST}/maas-api/v1/models -H \" Content-Type: application/json\" -H \" Authorization: Bearer \$ TOKEN\" | jq -r .)"
431467echo " MODEL_NAME=\$ (echo \$ MODELS | jq -r '.data[0].id')"
432- echo " MODEL_URL=\"\$ {HOST}/llm/\$ {MODEL_NAME}/v1/chat/completions\" "
433- echo " curl -sSk -H \" Authorization: Bearer \$ TOKEN\" -H \" Content-Type: application/json\" -d '{\" model\" : \"\$ {MODEL_NAME}\" , \" prompt\" : \" Hello\" , \" max_tokens\" : 50}' \"\$ {MODEL_URL}\" "
468+ echo " MODEL_URL=\"\$ {HOST}/llm/facebook-opt-125m-simulated/v1/chat/completions\" # Note: This may be different for your model"
469+ echo " curl -sSk -H \" Authorization: Bearer \$ TOKEN\" -H \" Content-Type: application/json\" -d \" {\\\" model\\\" : \\\"\$ {MODEL_NAME}\\\" , \\\" prompt\\\" : \\\" Hello\\\" , \\\" max_tokens\\\" : 50}\" \"\$ {MODEL_URL}\" "
470+ echo " "
471+ echo " 5. Test authorization limiting (no token 401 error):"
472+ echo " curl -sSk -H \" Content-Type: application/json\" -d \" {\\\" model\\\" : \\\"\$ {MODEL_NAME}\\\" , \\\" prompt\\\" : \\\" Hello\\\" , \\\" max_tokens\\\" : 50}\" \"\$ {MODEL_URL}\" -v"
434473echo " "
435- echo " 5 . Test rate limiting:"
436- echo " for i in {1..16}; do curl -sSk -o /dev/null -w \" %{http_code}\\ n\" -H \" Authorization: Bearer \$ TOKEN\" -H \" Content-Type: application/json\" -d '{ \ " model\" : \"\$ {MODEL_NAME}\" , \" prompt\" : \" Hello\" , \" max_tokens\" : 50}' \"\$ {MODEL_URL}\" ; done"
474+ echo " 6 . Test rate limiting (200 OK followed by 429 Rate Limit Exceeded after about 4 requests) :"
475+ echo " for i in {1..16}; do curl -sSk -o /dev/null -w \" %{http_code}\\ n\" -H \" Authorization: Bearer \$ TOKEN\" -H \" Content-Type: application/json\" -d \" { \\\ " model\\\ " : \\\ "\$ {MODEL_NAME}\\\ " , \\\ " prompt\\\ " : \\\ " Hello\\\ " , \\\ " max_tokens\\\ " : 50}\" \"\$ {MODEL_URL}\" ; done"
437476
0 commit comments