task e2e-llm-inference-service has failed: "step-fail-if-needed" exited with code 1: Error [get-kubeconfig] Found kubeconfig secret: cluster-xr8dc-admin-kubeconfig [get-kubeconfig] Wrote kubeconfig to /credentials/cluster-xr8dc-kubeconfig [get-kubeconfig] Found admin password secret: cluster-xr8dc-admin-password [get-kubeconfig] Retrieved username [get-kubeconfig] Wrote password to /credentials/cluster-xr8dc-password [get-kubeconfig] API Server URL: https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443 [get-kubeconfig] Console URL: https://console-openshift-console.apps.37e0375c-2e9d-47be-a695-926cb977dfa8.prod.konfluxeaas.com [clone-repo] autofix/rhoaieng-79903 [clone-repo] https://github.com/opendatahub-io/kserve [clone-repo] Cloning into '/workspace/source'... [clone-repo] Updating files: 46% (1503/3256) Updating files: 47% (1531/3256) Updating files: 48% (1563/3256) Updating files: 49% (1596/3256) Updating files: 50% (1628/3256) Updating files: 51% (1661/3256) Updating files: 52% (1694/3256) Updating files: 53% (1726/3256) Updating files: 54% (1759/3256) Updating files: 55% (1791/3256) Updating files: 56% (1824/3256) Updating files: 57% (1856/3256) Updating files: 58% (1889/3256) Updating files: 59% (1922/3256) Updating files: 60% (1954/3256) Updating files: 61% (1987/3256) Updating files: 62% (2019/3256) Updating files: 63% (2052/3256) Updating files: 64% (2084/3256) Updating files: 65% (2117/3256) Updating files: 66% (2149/3256) Updating files: 67% (2182/3256) Updating files: 68% (2215/3256) Updating files: 69% (2247/3256) Updating files: 70% (2280/3256) Updating files: 71% (2312/3256) Updating files: 72% (2345/3256) Updating files: 73% (2377/3256) Updating files: 74% (2410/3256) Updating files: 75% (2442/3256) Updating files: 76% (2475/3256) Updating files: 77% (2508/3256) Updating files: 78% (2540/3256) Updating files: 79% (2573/3256) Updating files: 80% (2605/3256) Updating files: 81% (2638/3256) Updating files: 82% (2670/3256) Updating files: 83% (2703/3256) Updating files: 84% (2736/3256) Updating files: 85% (2768/3256) Updating files: 86% (2801/3256) Updating files: 87% (2833/3256) Updating files: 88% (2866/3256) Updating files: 89% (2898/3256) Updating files: 90% (2931/3256) Updating files: 91% (2963/3256) Updating files: 92% (2996/3256) Updating files: 93% (3029/3256) Updating files: 94% (3061/3256) Updating files: 95% (3094/3256) Updating files: 96% (3126/3256) Updating files: 97% (3159/3256) Updating files: 98% (3191/3256) Updating files: 99% (3224/3256) Updating files: 100% (3256/3256) Updating files: 100% (3256/3256), done. [e2e-llm-inference-service] + bash [e2e-llm-inference-service] + STATUS_FILE=/test-status/deploy-and-e2e-status [e2e-llm-inference-service] + echo failed [e2e-llm-inference-service] + COMPONENT_NAME=kserve-agent-ci [e2e-llm-inference-service] ++ jq -r --arg component_name kserve-agent-ci '.[$component_name].image' [e2e-llm-inference-service] + export KSERVE_AGENT_IMAGE=quay.io/opendatahub/kserve-agent@sha256:d1615831bdec49f81e28354e8887884576ebae8d98b6ad9aa54204f46c269e6d [e2e-llm-inference-service] + KSERVE_AGENT_IMAGE=quay.io/opendatahub/kserve-agent@sha256:d1615831bdec49f81e28354e8887884576ebae8d98b6ad9aa54204f46c269e6d [e2e-llm-inference-service] + COMPONENT_NAME=kserve-controller-ci [e2e-llm-inference-service] ++ jq -r --arg component_name kserve-controller-ci '.[$component_name].image' [e2e-llm-inference-service] + export KSERVE_CONTROLLER_IMAGE=quay.io/opendatahub/kserve-controller@sha256:bb4ac88f2606ece80f57a5490ce8c2e90fb7fd483aa9b989bf955000695e1c42 [e2e-llm-inference-service] + KSERVE_CONTROLLER_IMAGE=quay.io/opendatahub/kserve-controller@sha256:bb4ac88f2606ece80f57a5490ce8c2e90fb7fd483aa9b989bf955000695e1c42 [e2e-llm-inference-service] + COMPONENT_NAME=kserve-router-ci [e2e-llm-inference-service] ++ jq -r --arg component_name kserve-router-ci '.[$component_name].image' [e2e-llm-inference-service] + export KSERVE_ROUTER_IMAGE=quay.io/opendatahub/kserve-router@sha256:48b87e7d3c35a6dd10639597580fdc05c4123357a0e80e68b6b643c7e040d83d [e2e-llm-inference-service] + KSERVE_ROUTER_IMAGE=quay.io/opendatahub/kserve-router@sha256:48b87e7d3c35a6dd10639597580fdc05c4123357a0e80e68b6b643c7e040d83d [e2e-llm-inference-service] + COMPONENT_NAME=kserve-storage-initializer-ci [e2e-llm-inference-service] ++ jq -r --arg component_name kserve-storage-initializer-ci '.[$component_name].image' [e2e-llm-inference-service] + export STORAGE_INITIALIZER_IMAGE=quay.io/opendatahub/kserve-storage-initializer@sha256:70284a850558fdc266a161e317c4af2c82920796b3bf5c0677598695bf6493b2 [e2e-llm-inference-service] + STORAGE_INITIALIZER_IMAGE=quay.io/opendatahub/kserve-storage-initializer@sha256:70284a850558fdc266a161e317c4af2c82920796b3bf5c0677598695bf6493b2 [e2e-llm-inference-service] + COMPONENT_NAME=odh-kserve-llmisvc-controller-ci [e2e-llm-inference-service] ++ jq -r --arg component_name odh-kserve-llmisvc-controller-ci '.[$component_name].image' [e2e-llm-inference-service] + export LLMISVC_CONTROLLER_IMAGE=quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:79b160ba4ec76b136f46b7980d7704bfcdab0d2db7540c988de9452c99e9adbc [e2e-llm-inference-service] + LLMISVC_CONTROLLER_IMAGE=quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:79b160ba4ec76b136f46b7980d7704bfcdab0d2db7540c988de9452c99e9adbc [e2e-llm-inference-service] + ./test/scripts/openshift-ci/run-e2e-tests.sh 'llminferenceservice and cluster_cpu and not autoscaling and not tracing' 2 llm-d [e2e-llm-inference-service] INFERENCE_POOL_GROUP=inference.networking.k8s.io (detected from OCP 4.21.26) [e2e-llm-inference-service] Installing on cluster [e2e-llm-inference-service] Using namespace: kserve for KServe components [e2e-llm-inference-service] SKLEARN_IMAGE=quay.io/opendatahub/sklearn-serving-runtime:odh-pr-1830 [e2e-llm-inference-service] OPT_125M_MODEL_URI=s3://example-models/facebook/opt-125m [e2e-llm-inference-service] ERROR_404_ISVC_IMAGE=quay.io/opendatahub/error-404-isvc:odh-pr-1830 [e2e-llm-inference-service] SUCCESS_200_ISVC_IMAGE=quay.io/opendatahub/success-200-isvc:odh-pr-1830 [e2e-llm-inference-service] [INFO] Installing Kustomize v5.8.1 for linux/amd64... [e2e-llm-inference-service] [SUCCESS] Successfully installed Kustomize v5.8.1 to /workspace/source/bin/kustomize [e2e-llm-inference-service] v5.8.1 [e2e-llm-inference-service] make: Entering directory '/workspace/source' [e2e-llm-inference-service] [INFO] Installing yq v4.52.1 for linux/amd64... [e2e-llm-inference-service] [SUCCESS] Successfully installed yq v4.52.1 to /workspace/source/bin/yq [e2e-llm-inference-service] yq (https://github.com/mikefarah/yq/) version v4.52.1 [e2e-llm-inference-service] make: Leaving directory '/workspace/source' [e2e-llm-inference-service] Installing KServe Python SDK ... [e2e-llm-inference-service] [INFO] Installing uv 0.7.8 for linux/amd64... [e2e-llm-inference-service] [SUCCESS] Successfully installed uv 0.7.8 to /workspace/source/bin/uv [e2e-llm-inference-service] warning: Failed to read project metadata (No `pyproject.toml` found in current directory or any parent directory). Running `uv self version` for compatibility. This fallback will be removed in the future; pass `--preview` to force an error. [e2e-llm-inference-service] uv 0.7.8 [e2e-llm-inference-service] Creating virtual environment... [e2e-llm-inference-service] warning: virtualenv's `--clear` has no effect (uv always clears the virtual environment) [e2e-llm-inference-service] Using CPython 3.9.25 interpreter at: /usr/bin/python3 [e2e-llm-inference-service] Creating virtual environment at: .venv [e2e-llm-inference-service] /workspace/source [e2e-llm-inference-service] Using CPython 3.11.13 interpreter at: /usr/bin/python3.11 [e2e-llm-inference-service] Creating virtual environment at: .venv [e2e-llm-inference-service] Resolved 274 packages in 1ms [e2e-llm-inference-service] Building kserve @ file:///workspace/source/python/kserve [e2e-llm-inference-service] Downloading pandas (12.5MiB) [e2e-llm-inference-service] Downloading cryptography (4.5MiB) [e2e-llm-inference-service] Downloading botocore (12.9MiB) [e2e-llm-inference-service] Downloading kubernetes (1.9MiB) [e2e-llm-inference-service] Downloading aiohttp (1.7MiB) [e2e-llm-inference-service] Downloading pydantic-core (2.0MiB) [e2e-llm-inference-service] Downloading pyarrow (40.1MiB) [e2e-llm-inference-service] Downloading uvloop (3.8MiB) [e2e-llm-inference-service] Downloading setuptools (1.2MiB) [e2e-llm-inference-service] Downloading black (1.6MiB) [e2e-llm-inference-service] Downloading grpcio-tools (2.5MiB) [e2e-llm-inference-service] Downloading grpcio (6.4MiB) [e2e-llm-inference-service] Downloading mypy (17.2MiB) [e2e-llm-inference-service] Downloading portforward (3.9MiB) [e2e-llm-inference-service] Downloading numpy (15.7MiB) [e2e-llm-inference-service] Building timeout-sampler==1.0.3 [e2e-llm-inference-service] Building python-simple-logger==2.0.19 [e2e-llm-inference-service] Downloading aiohttp [e2e-llm-inference-service] Downloading black [e2e-llm-inference-service] Downloading pydantic-core [e2e-llm-inference-service] Downloading grpcio-tools [e2e-llm-inference-service] Built python-simple-logger==2.0.19 [e2e-llm-inference-service] Downloading setuptools [e2e-llm-inference-service] Downloading portforward [e2e-llm-inference-service] Downloading uvloop [e2e-llm-inference-service] Downloading cryptography [e2e-llm-inference-service] Downloading kubernetes [e2e-llm-inference-service] Downloading grpcio [e2e-llm-inference-service] Built timeout-sampler==1.0.3 [e2e-llm-inference-service] Downloading numpy [e2e-llm-inference-service] Built kserve @ file:///workspace/source/python/kserve [e2e-llm-inference-service] Downloading pandas [e2e-llm-inference-service] Downloading botocore [e2e-llm-inference-service] Downloading mypy [e2e-llm-inference-service] Downloading pyarrow [e2e-llm-inference-service] Prepared 101 packages in 2.12s [e2e-llm-inference-service] warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance. [e2e-llm-inference-service] If the cache and target directories are on different filesystems, hardlinking may not be supported. [e2e-llm-inference-service] If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning. [e2e-llm-inference-service] Installed 101 packages in 424ms [e2e-llm-inference-service] + aiohappyeyeballs==2.6.1 [e2e-llm-inference-service] + aiohttp==3.14.1 [e2e-llm-inference-service] + aiosignal==1.4.0 [e2e-llm-inference-service] + annotated-doc==0.0.4 [e2e-llm-inference-service] + annotated-types==0.7.0 [e2e-llm-inference-service] + anyio==4.9.0 [e2e-llm-inference-service] + attrs==25.3.0 [e2e-llm-inference-service] + avro==1.12.0 [e2e-llm-inference-service] + black==24.3.0 [e2e-llm-inference-service] + boto3==1.37.35 [e2e-llm-inference-service] + botocore==1.37.35 [e2e-llm-inference-service] + cachetools==5.5.2 [e2e-llm-inference-service] + certifi==2025.1.31 [e2e-llm-inference-service] + cffi==2.0.0 [e2e-llm-inference-service] + charset-normalizer==3.4.1 [e2e-llm-inference-service] + click==8.4.2 [e2e-llm-inference-service] + cloudevents==1.11.0 [e2e-llm-inference-service] + colorama==0.4.6 [e2e-llm-inference-service] + colorlog==6.10.1 [e2e-llm-inference-service] + coverage==7.8.0 [e2e-llm-inference-service] + cryptography==49.0.0 [e2e-llm-inference-service] + deprecation==2.1.0 [e2e-llm-inference-service] + durationpy==0.9 [e2e-llm-inference-service] + execnet==2.1.1 [e2e-llm-inference-service] + fastapi==0.136.3 [e2e-llm-inference-service] + frozenlist==1.5.0 [e2e-llm-inference-service] + google-auth==2.39.0 [e2e-llm-inference-service] + grpc-interceptor==0.15.4 [e2e-llm-inference-service] + grpcio==1.78.1 [e2e-llm-inference-service] + grpcio-testing==1.78.1 [e2e-llm-inference-service] + grpcio-tools==1.78.1 [e2e-llm-inference-service] + h11==0.16.0 [e2e-llm-inference-service] + httpcore==1.0.9 [e2e-llm-inference-service] + httptools==0.6.4 [e2e-llm-inference-service] + httpx==0.27.2 [e2e-llm-inference-service] + httpx-retries==0.4.5 [e2e-llm-inference-service] + idna==3.10 [e2e-llm-inference-service] + iniconfig==2.1.0 [e2e-llm-inference-service] + jinja2==3.1.6 [e2e-llm-inference-service] + jmespath==1.0.1 [e2e-llm-inference-service] + kserve==0.20.0rc0 (from file:///workspace/source/python/kserve) [e2e-llm-inference-service] + kubernetes==32.0.1 [e2e-llm-inference-service] + markupsafe==3.0.2 [e2e-llm-inference-service] + multidict==6.4.3 [e2e-llm-inference-service] + mypy==0.991 [e2e-llm-inference-service] + mypy-extensions==1.0.0 [e2e-llm-inference-service] + numpy==2.2.4 [e2e-llm-inference-service] + oauthlib==3.2.2 [e2e-llm-inference-service] + orjson==3.11.9 [e2e-llm-inference-service] + packaging==24.2 [e2e-llm-inference-service] + pandas==2.2.3 [e2e-llm-inference-service] + pathspec==0.12.1 [e2e-llm-inference-service] + platformdirs==4.3.7 [e2e-llm-inference-service] + pluggy==1.5.0 [e2e-llm-inference-service] + portforward==0.7.1 [e2e-llm-inference-service] + prometheus-client==0.21.1 [e2e-llm-inference-service] + propcache==0.3.1 [e2e-llm-inference-service] + protobuf==6.33.5 [e2e-llm-inference-service] + psutil==5.9.8 [e2e-llm-inference-service] + pyarrow==19.0.1 [e2e-llm-inference-service] + pyasn1==0.6.3 [e2e-llm-inference-service] + pyasn1-modules==0.4.2 [e2e-llm-inference-service] + pycparser==2.22 [e2e-llm-inference-service] + pydantic==2.12.4 [e2e-llm-inference-service] + pydantic-core==2.41.5 [e2e-llm-inference-service] + pyjwt==2.13.0 [e2e-llm-inference-service] + pytest==7.4.4 [e2e-llm-inference-service] + pytest-asyncio==0.23.8 [e2e-llm-inference-service] + pytest-cov==5.0.0 [e2e-llm-inference-service] + pytest-httpx==0.30.0 [e2e-llm-inference-service] + pytest-json-report==1.5.0 [e2e-llm-inference-service] + pytest-metadata==3.1.1 [e2e-llm-inference-service] + pytest-xdist==3.6.1 [e2e-llm-inference-service] + python-dateutil==2.9.0.post0 [e2e-llm-inference-service] + python-dotenv==1.1.0 [e2e-llm-inference-service] + python-multipart==0.0.32 [e2e-llm-inference-service] + python-simple-logger==2.0.19 [e2e-llm-inference-service] + pytz==2025.2 [e2e-llm-inference-service] + pyyaml==6.0.2 [e2e-llm-inference-service] + requests==2.32.3 [e2e-llm-inference-service] + requests-oauthlib==2.0.0 [e2e-llm-inference-service] + rsa==4.9.1 [e2e-llm-inference-service] + s3transfer==0.11.4 [e2e-llm-inference-service] + setuptools==78.1.0 [e2e-llm-inference-service] + six==1.17.0 [e2e-llm-inference-service] + sniffio==1.3.1 [e2e-llm-inference-service] + starlette==1.2.1 [e2e-llm-inference-service] + tabulate==0.9.0 [e2e-llm-inference-service] + timeout-sampler==1.0.3 [e2e-llm-inference-service] + timing-asgi==0.3.1 [e2e-llm-inference-service] + tomlkit==0.13.2 [e2e-llm-inference-service] + typing-extensions==4.15.0 [e2e-llm-inference-service] + typing-inspection==0.4.2 [e2e-llm-inference-service] + tzdata==2025.2 [e2e-llm-inference-service] + urllib3==2.7.0 [e2e-llm-inference-service] + uvicorn==0.34.1 [e2e-llm-inference-service] + uvloop==0.21.0 [e2e-llm-inference-service] + watchfiles==1.0.5 [e2e-llm-inference-service] + websocket-client==1.8.0 [e2e-llm-inference-service] + websockets==15.0.1 [e2e-llm-inference-service] + yarl==1.20.0 [e2e-llm-inference-service] Audited 1 package in 51ms [e2e-llm-inference-service] /workspace/source [e2e-llm-inference-service] [INFO] Installing Kustomize v5.8.1 for linux/amd64... [e2e-llm-inference-service] [INFO] Kustomize v5.8.1 is already installed in /workspace/source/bin (>= v5.8.1) [e2e-llm-inference-service] make: Entering directory '/workspace/source' [e2e-llm-inference-service] make: Leaving directory '/workspace/source' [e2e-llm-inference-service] Creating namespace openshift-keda... [e2e-llm-inference-service] namespace/openshift-keda created [e2e-llm-inference-service] Namespace openshift-keda created/ensured. [e2e-llm-inference-service] --- [e2e-llm-inference-service] Creating OperatorGroup openshift-keda... [e2e-llm-inference-service] operatorgroup.operators.coreos.com/openshift-keda created [e2e-llm-inference-service] OperatorGroup openshift-keda created/ensured. [e2e-llm-inference-service] --- [e2e-llm-inference-service] Creating Subscription for openshift-custom-metrics-autoscaler-operator... [e2e-llm-inference-service] subscription.operators.coreos.com/openshift-custom-metrics-autoscaler-operator created [e2e-llm-inference-service] Subscription openshift-custom-metrics-autoscaler-operator created/ensured. [e2e-llm-inference-service] --- [e2e-llm-inference-service] Waiting for openshift-custom-metrics-autoscaler-operator CSV to become ready... [e2e-llm-inference-service] Waiting for CSV to be installed for subscription openshift-custom-metrics-autoscaler-operator... (0/600) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription openshift-custom-metrics-autoscaler-operator... (5/600) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription openshift-custom-metrics-autoscaler-operator... (10/600) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription openshift-custom-metrics-autoscaler-operator... (15/600) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription openshift-custom-metrics-autoscaler-operator... (20/600) [e2e-llm-inference-service] CSV custom-metrics-autoscaler.v2.19.0-2 found, but not yet Succeeded (Phase: Installing). Waiting... (25/600) [e2e-llm-inference-service] CSV custom-metrics-autoscaler.v2.19.0-2 found, but not yet Succeeded (Phase: Installing). Waiting... (30/600) [e2e-llm-inference-service] CSV custom-metrics-autoscaler.v2.19.0-2 found, but not yet Succeeded (Phase: Installing). Waiting... (35/600) [e2e-llm-inference-service] CSV custom-metrics-autoscaler.v2.19.0-2 found, but not yet Succeeded (Phase: Installing). Waiting... (40/600) [e2e-llm-inference-service] CSV custom-metrics-autoscaler.v2.19.0-2 found, but not yet Succeeded (Phase: Installing). Waiting... (45/600) [e2e-llm-inference-service] CSV custom-metrics-autoscaler.v2.19.0-2 is ready (Phase: Succeeded). [e2e-llm-inference-service] --- [e2e-llm-inference-service] Applying KedaController custom resource... [e2e-llm-inference-service] Warning: resource kedacontrollers/keda is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically. [e2e-llm-inference-service] kedacontroller.keda.sh/keda configured [e2e-llm-inference-service] KedaController custom resource applied. [e2e-llm-inference-service] --- [e2e-llm-inference-service] Allowing time for KEDA components to be provisioned by the operator ... [e2e-llm-inference-service] Waiting for KEDA Operator pod (selector: "app=keda-operator") to be ready in namespace openshift-keda... [e2e-llm-inference-service] Waiting for pod -l "app=keda-operator" in namespace "openshift-keda" to be created... [e2e-llm-inference-service] Pod -l "app=keda-operator" in namespace "openshift-keda" found. [e2e-llm-inference-service] Current pods for -l "app=keda-operator" in namespace "openshift-keda": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] keda-operator-77f648d694-rvjln 1/1 Running 0 42s [e2e-llm-inference-service] Waiting up to 120s for pod(s) -l "app=keda-operator" in namespace "openshift-keda" to become ready... [e2e-llm-inference-service] pod/keda-operator-77f648d694-rvjln condition met [e2e-llm-inference-service] Pod(s) -l "app=keda-operator" in namespace "openshift-keda" are ready. [e2e-llm-inference-service] KEDA Operator pod is ready. [e2e-llm-inference-service] Waiting for KEDA Metrics API Server pod (selector: "app=keda-metrics-apiserver") to be ready in namespace openshift-keda... [e2e-llm-inference-service] Waiting for pod -l "app=keda-metrics-apiserver" in namespace "openshift-keda" to be created... [e2e-llm-inference-service] Pod -l "app=keda-metrics-apiserver" in namespace "openshift-keda" found. [e2e-llm-inference-service] Current pods for -l "app=keda-metrics-apiserver" in namespace "openshift-keda": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] keda-metrics-apiserver-55557df8c-g7mkl 1/1 Running 0 48s [e2e-llm-inference-service] Waiting up to 120s for pod(s) -l "app=keda-metrics-apiserver" in namespace "openshift-keda" to become ready... [e2e-llm-inference-service] pod/keda-metrics-apiserver-55557df8c-g7mkl condition met [e2e-llm-inference-service] Pod(s) -l "app=keda-metrics-apiserver" in namespace "openshift-keda" are ready. [e2e-llm-inference-service] KEDA Metrics API Server pod is ready. [e2e-llm-inference-service] Waiting for KEDA Webhook pod (selector: "app=keda-admission-webhooks") to be ready in namespace openshift-keda... [e2e-llm-inference-service] Waiting for pod -l "app=keda-admission-webhooks" in namespace "openshift-keda" to be created... [e2e-llm-inference-service] Pod -l "app=keda-admission-webhooks" in namespace "openshift-keda" found. [e2e-llm-inference-service] Current pods for -l "app=keda-admission-webhooks" in namespace "openshift-keda": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] keda-admission-56f9798bb4-swtqg 1/1 Running 0 52s [e2e-llm-inference-service] Waiting up to 120s for pod(s) -l "app=keda-admission-webhooks" in namespace "openshift-keda" to become ready... [e2e-llm-inference-service] pod/keda-admission-56f9798bb4-swtqg condition met [e2e-llm-inference-service] Pod(s) -l "app=keda-admission-webhooks" in namespace "openshift-keda" are ready. [e2e-llm-inference-service] KEDA Webhook pod is ready. [e2e-llm-inference-service] --- [e2e-llm-inference-service] ✅ KEDA deployment script finished successfully. [e2e-llm-inference-service] 🔧 Configuration: [e2e-llm-inference-service] KServe deployment: ❌ disabled [e2e-llm-inference-service] Kuadrant deployment: ✅ enabled [e2e-llm-inference-service] [e2e-llm-inference-service] Checking OpenShift server version...(4.21.26) [e2e-llm-inference-service] 🎯 Server version (4.21.26) is 4.19.9 or higher - continue with the script [e2e-llm-inference-service] ⏳ Installing cert-manager [e2e-llm-inference-service] namespace/cert-manager-operator created [e2e-llm-inference-service] operatorgroup.operators.coreos.com/openshift-cert-manager-operator created [e2e-llm-inference-service] subscription.operators.coreos.com/openshift-cert-manager-operator created [e2e-llm-inference-service] Waiting for openshift-cert-manager-operator CSV to become ready... [e2e-llm-inference-service] Waiting for CSV to be installed for subscription openshift-cert-manager-operator... (0/300) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription openshift-cert-manager-operator... (5/300) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription openshift-cert-manager-operator... (10/300) [e2e-llm-inference-service] CSV cert-manager-operator.v1.20.0 found, but not yet Succeeded (Phase: Installing). Waiting... (15/300) [e2e-llm-inference-service] CSV cert-manager-operator.v1.20.0 is ready (Phase: Succeeded). [e2e-llm-inference-service] Waiting for CRD certificates.cert-manager.io to appear (timeout: 90s)… [e2e-llm-inference-service] CRD certificates.cert-manager.io detected — waiting for it to become Established (timeout: 90s)… [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io condition met [e2e-llm-inference-service] ✅ Cert-manager installed [e2e-llm-inference-service] ⏳ Installing openshift-lws-operator [e2e-llm-inference-service] namespace/openshift-lws-operator created [e2e-llm-inference-service] operatorgroup.operators.coreos.com/leader-worker-set created [e2e-llm-inference-service] subscription.operators.coreos.com/leader-worker-set created [e2e-llm-inference-service] Waiting for leader-worker-set CSV to become ready... [e2e-llm-inference-service] Waiting for CSV to be installed for subscription leader-worker-set... (0/300) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription leader-worker-set... (5/300) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription leader-worker-set... (10/300) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription leader-worker-set... (15/300) [e2e-llm-inference-service] CSV leader-worker-set.v1.0.0 is ready (Phase: Succeeded). [e2e-llm-inference-service] Waiting for CRD leaderworkersetoperators.operator.openshift.io to appear (timeout: 90s)… [e2e-llm-inference-service] CRD leaderworkersetoperators.operator.openshift.io detected — waiting for it to become Established (timeout: 90s)… [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/leaderworkersetoperators.operator.openshift.io condition met [e2e-llm-inference-service] leaderworkersetoperator.operator.openshift.io/cluster created [e2e-llm-inference-service] ⏳ waiting for openshift-lws-operator to be ready.… [e2e-llm-inference-service] Waiting for pod -l "name=openshift-lws-operator" in namespace "openshift-lws-operator" to be created... [e2e-llm-inference-service] Pod -l "name=openshift-lws-operator" in namespace "openshift-lws-operator" found. [e2e-llm-inference-service] Current pods for -l "name=openshift-lws-operator" in namespace "openshift-lws-operator": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] openshift-lws-operator-fd8ccff4c-dtqnq 1/1 Running 0 12s [e2e-llm-inference-service] Waiting up to 600s for pod(s) -l "name=openshift-lws-operator" in namespace "openshift-lws-operator" to become ready... [e2e-llm-inference-service] pod/openshift-lws-operator-fd8ccff4c-dtqnq condition met [e2e-llm-inference-service] Pod(s) -l "name=openshift-lws-operator" in namespace "openshift-lws-operator" are ready. [e2e-llm-inference-service] ✅ openshift-lws-operator installed [e2e-llm-inference-service] gatewayclass.gateway.networking.k8s.io/openshift-default created [e2e-llm-inference-service] Waiting for pod -l "app=istiod" in namespace "openshift-ingress" to be created... [e2e-llm-inference-service] Pod -l "app=istiod" in namespace "openshift-ingress" found. [e2e-llm-inference-service] Current pods for -l "app=istiod" in namespace "openshift-ingress": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] istiod-openshift-gateway-7b7995d5cd-4hgvk 1/1 Running 0 6s [e2e-llm-inference-service] Waiting up to 600s for pod(s) -l "app=istiod" in namespace "openshift-ingress" to become ready... [e2e-llm-inference-service] pod/istiod-openshift-gateway-7b7995d5cd-4hgvk condition met [e2e-llm-inference-service] Pod(s) -l "app=istiod" in namespace "openshift-ingress" are ready. [e2e-llm-inference-service] ⏳ Creating a Gateway [e2e-llm-inference-service] Error from server (AlreadyExists): namespaces "openshift-ingress" already exists [e2e-llm-inference-service] ⏳ Creating gateway memory ConfigMap for parametersRef (2Gi) [e2e-llm-inference-service] configmap/gateway-proxy-config created [e2e-llm-inference-service] gateway.gateway.networking.k8s.io/openshift-ai-inference created [e2e-llm-inference-service] Waiting for pod -l "serving.kserve.io/gateway=kserve-ingress-gateway" in namespace "openshift-ingress" to be created... [e2e-llm-inference-service] Pod -l "serving.kserve.io/gateway=kserve-ingress-gateway" in namespace "openshift-ingress" found. [e2e-llm-inference-service] Current pods for -l "serving.kserve.io/gateway=kserve-ingress-gateway" in namespace "openshift-ingress": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] openshift-ai-inference-openshift-default-58c5cd85c9-cqgtb 1/1 Running 0 5s [e2e-llm-inference-service] Waiting up to 600s for pod(s) -l "serving.kserve.io/gateway=kserve-ingress-gateway" in namespace "openshift-ingress" to become ready... [e2e-llm-inference-service] pod/openshift-ai-inference-openshift-default-58c5cd85c9-cqgtb condition met [e2e-llm-inference-service] Pod(s) -l "serving.kserve.io/gateway=kserve-ingress-gateway" in namespace "openshift-ingress" are ready. [e2e-llm-inference-service] ⏳ Installing RHCL(Kuadrant) operator [e2e-llm-inference-service] namespace/kuadrant-system created [e2e-llm-inference-service] subscription.operators.coreos.com/rhcl-operator created [e2e-llm-inference-service] operatorgroup.operators.coreos.com/kuadrant created [e2e-llm-inference-service] Waiting for rhcl-operator CSV to become ready... [e2e-llm-inference-service] Waiting for CSV to be installed for subscription rhcl-operator... (0/600) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription rhcl-operator... (5/600) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription rhcl-operator... (10/600) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription rhcl-operator... (15/600) [e2e-llm-inference-service] Waiting for CSV to be installed for subscription rhcl-operator... (20/600) [e2e-llm-inference-service] CSV rhcl-operator.v1.4.2 found, but not yet Succeeded (Phase: Installing). Waiting... (25/600) [e2e-llm-inference-service] CSV rhcl-operator.v1.4.2 found, but not yet Succeeded (Phase: Installing). Waiting... (30/600) [e2e-llm-inference-service] CSV rhcl-operator.v1.4.2 found, but not yet Succeeded (Phase: Installing). Waiting... (35/600) [e2e-llm-inference-service] CSV rhcl-operator.v1.4.2 is ready (Phase: Succeeded). [e2e-llm-inference-service] Waiting for CRD kuadrants.kuadrant.io to appear (timeout: 90s)… [e2e-llm-inference-service] CRD kuadrants.kuadrant.io detected — waiting for it to become Established (timeout: 90s)… [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/kuadrants.kuadrant.io condition met [e2e-llm-inference-service] Waiting for apiserver discovery /apis/kuadrant.io/v1beta1 to list kuadrants (timeout: 120s)… [e2e-llm-inference-service] Discovery for kuadrant.io/v1beta1 includes kuadrants. [e2e-llm-inference-service] ⏳ sleeping 30s after discovery (RESTMapper can trail discovery)… [e2e-llm-inference-service] kuadrant.kuadrant.io/kuadrant created [e2e-llm-inference-service] ⏳ waiting for Kuadrant Ready (attempt 1/2, timeout 5m)… [e2e-llm-inference-service] kuadrant.kuadrant.io/kuadrant condition met [e2e-llm-inference-service] Waiting for pod -l "control-plane=authorino-operator" in namespace "kuadrant-system" to be created... [e2e-llm-inference-service] Pod -l "control-plane=authorino-operator" in namespace "kuadrant-system" found. [e2e-llm-inference-service] Current pods for -l "control-plane=authorino-operator" in namespace "kuadrant-system": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] authorino-operator-56fb6f6856-tshtg 1/1 Running 0 66s [e2e-llm-inference-service] Waiting up to 600s for pod(s) -l "control-plane=authorino-operator" in namespace "kuadrant-system" to become ready... [e2e-llm-inference-service] pod/authorino-operator-56fb6f6856-tshtg condition met [e2e-llm-inference-service] Pod(s) -l "control-plane=authorino-operator" in namespace "kuadrant-system" are ready. [e2e-llm-inference-service] ⏳ waiting for authorino service to be created... [e2e-llm-inference-service] service/authorino-authorino-authorization condition met [e2e-llm-inference-service] service/authorino-authorino-authorization annotated [e2e-llm-inference-service] Warning: resource authorinos/authorino is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically. [e2e-llm-inference-service] authorino.operator.authorino.kuadrant.io/authorino configured [e2e-llm-inference-service] Waiting for pod -l "control-plane=authorino-operator" in namespace "kuadrant-system" to be created... [e2e-llm-inference-service] Pod -l "control-plane=authorino-operator" in namespace "kuadrant-system" found. [e2e-llm-inference-service] Current pods for -l "control-plane=authorino-operator" in namespace "kuadrant-system": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] authorino-operator-56fb6f6856-tshtg 1/1 Running 0 74s [e2e-llm-inference-service] Waiting up to 600s for pod(s) -l "control-plane=authorino-operator" in namespace "kuadrant-system" to become ready... [e2e-llm-inference-service] pod/authorino-operator-56fb6f6856-tshtg condition met [e2e-llm-inference-service] Pod(s) -l "control-plane=authorino-operator" in namespace "kuadrant-system" are ready. [e2e-llm-inference-service] ✅ kuadrant(authorino) installed [e2e-llm-inference-service] Setting up Jaeger (Helm) for LLMISVC tracing e2e... [e2e-llm-inference-service] ⏳ Installing Jaeger All-in-One (Helm) into namespace observability [e2e-llm-inference-service] [INFO] Installing Helm v3.16.3 for linux/amd64... [e2e-llm-inference-service] [SUCCESS] Successfully installed Helm v3.16.3 to /workspace/source/bin/helm [e2e-llm-inference-service] WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /credentials/cluster-xr8dc-kubeconfig [e2e-llm-inference-service] WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /credentials/cluster-xr8dc-kubeconfig [e2e-llm-inference-service] version.BuildInfo{Version:"v3.16.3", GitCommit:"cfd07493f46efc9debd9cc1b02a0961186df7fdf", GitTreeState:"clean", GoVersion:"go1.22.7"} [e2e-llm-inference-service] [INFO] Adding Jaeger Helm repository... [e2e-llm-inference-service] WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /credentials/cluster-xr8dc-kubeconfig [e2e-llm-inference-service] WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /credentials/cluster-xr8dc-kubeconfig [e2e-llm-inference-service] "jaegertracing" has been added to your repositories [e2e-llm-inference-service] [INFO] Installing Jaeger All-in-One 4.7.0... [e2e-llm-inference-service] WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /credentials/cluster-xr8dc-kubeconfig [e2e-llm-inference-service] WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /credentials/cluster-xr8dc-kubeconfig [e2e-llm-inference-service] NAME: jaeger [e2e-llm-inference-service] LAST DEPLOYED: Thu Jul 30 17:09:53 2026 [e2e-llm-inference-service] NAMESPACE: observability [e2e-llm-inference-service] STATUS: deployed [e2e-llm-inference-service] REVISION: 1 [e2e-llm-inference-service] TEST SUITE: None [e2e-llm-inference-service] NOTES: [e2e-llm-inference-service] ################################################################### [e2e-llm-inference-service] ### ⚠️ EXPERIMENTAL - NO STABILITY GUARANTEES ### [e2e-llm-inference-service] ### ### [e2e-llm-inference-service] ### This chart is under active development. ### [e2e-llm-inference-service] ### Breaking changes may occur in minor versions. ### [e2e-llm-inference-service] ### ### [e2e-llm-inference-service] ### See README.md for configuration details. ### [e2e-llm-inference-service] ################################################################### [e2e-llm-inference-service] [e2e-llm-inference-service] 🚀 Congratulations on successfully installing Jaeger v2.17.0 (Chart v4.7.0)! [e2e-llm-inference-service] [e2e-llm-inference-service] To access the query UI: [e2e-llm-inference-service] export POD_NAME=$(kubectl get pods --namespace observability -l "app.kubernetes.io/instance=jaeger,app.kubernetes.io/component=all-in-one" -o jsonpath="{.items[0].metadata.name}") [e2e-llm-inference-service] kubectl port-forward --namespace observability $POD_NAME 16686:16686 --address 0.0.0.0 & [e2e-llm-inference-service] Visit http://127.0.0.1:16686/ [e2e-llm-inference-service] [SUCCESS] Successfully installed Jaeger All-in-One via Helm [e2e-llm-inference-service] [INFO] Waiting for pods with label 'app.kubernetes.io/name=jaeger' in namespace 'observability' to be created... [e2e-llm-inference-service] [INFO] Found 1 pod(s) with label 'app.kubernetes.io/name=jaeger' [e2e-llm-inference-service] [INFO] Waiting for pods with label 'app.kubernetes.io/name=jaeger' in namespace 'observability' to be ready... [e2e-llm-inference-service] pod/jaeger-6bbd7d4c9d-twxm5 condition met [e2e-llm-inference-service] [SUCCESS] Pods with label 'app.kubernetes.io/name=jaeger' in namespace 'observability' are ready! [e2e-llm-inference-service] [SUCCESS] Jaeger is ready! [e2e-llm-inference-service] ⏳ Verifying Jaeger Service ports (OTLP 4317, Query 16686)... [e2e-llm-inference-service] ✅ Jaeger (Helm) ready — OTLP http://jaeger.observability.svc.cluster.local:4317 [e2e-llm-inference-service] Now using project "kserve" on server "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443". [e2e-llm-inference-service] [e2e-llm-inference-service] You can add applications to this project with the 'new-app' command. For example, try: [e2e-llm-inference-service] [e2e-llm-inference-service] oc new-app rails-postgresql-example [e2e-llm-inference-service] [e2e-llm-inference-service] to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application: [e2e-llm-inference-service] [e2e-llm-inference-service] kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.43 -- /agnhost serve-hostname [e2e-llm-inference-service] [e2e-llm-inference-service] [INFO] Installing Kustomize v5.8.1 for linux/amd64... [e2e-llm-inference-service] [INFO] Kustomize v5.8.1 is already installed in /workspace/source/bin (>= v5.8.1) [e2e-llm-inference-service] make: Entering directory '/workspace/source' [e2e-llm-inference-service] make: Leaving directory '/workspace/source' [e2e-llm-inference-service] KSERVE_CONTROLLER_IMAGE=quay.io/opendatahub/kserve-controller@sha256:bb4ac88f2606ece80f57a5490ce8c2e90fb7fd483aa9b989bf955000695e1c42 [e2e-llm-inference-service] LLMISVC_CONTROLLER_IMAGE=quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:79b160ba4ec76b136f46b7980d7704bfcdab0d2db7540c988de9452c99e9adbc [e2e-llm-inference-service] KSERVE_AGENT_IMAGE=quay.io/opendatahub/kserve-agent@sha256:d1615831bdec49f81e28354e8887884576ebae8d98b6ad9aa54204f46c269e6d [e2e-llm-inference-service] KSERVE_ROUTER_IMAGE=quay.io/opendatahub/kserve-router@sha256:48b87e7d3c35a6dd10639597580fdc05c4123357a0e80e68b6b643c7e040d83d [e2e-llm-inference-service] STORAGE_INITIALIZER_IMAGE=quay.io/opendatahub/kserve-storage-initializer@sha256:70284a850558fdc266a161e317c4af2c82920796b3bf5c0677598695bf6493b2 [e2e-llm-inference-service] Installing KServe via kustomize... [e2e-llm-inference-service] === Final params.env [e2e-llm-inference-service] kserve-controller=quay.io/opendatahub/kserve-controller@sha256:bb4ac88f2606ece80f57a5490ce8c2e90fb7fd483aa9b989bf955000695e1c42 [e2e-llm-inference-service] llmisvc-controller=quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:79b160ba4ec76b136f46b7980d7704bfcdab0d2db7540c988de9452c99e9adbc [e2e-llm-inference-service] kserve-agent=quay.io/opendatahub/kserve-agent@sha256:d1615831bdec49f81e28354e8887884576ebae8d98b6ad9aa54204f46c269e6d [e2e-llm-inference-service] kserve-router=quay.io/opendatahub/kserve-router@sha256:48b87e7d3c35a6dd10639597580fdc05c4123357a0e80e68b6b643c7e040d83d [e2e-llm-inference-service] kserve-storage-initializer=quay.io/opendatahub/kserve-storage-initializer@sha256:70284a850558fdc266a161e317c4af2c82920796b3bf5c0677598695bf6493b2 [e2e-llm-inference-service] kserve-llm-d=registry.redhat.io/rhaiis/vllm-cuda-rhel9@sha256:fc68d623d1bfc36c8cb2fe4a71f19c8578cfb420ce8ce07b20a02c1ee0be0cf3 [e2e-llm-inference-service] kserve-llm-d-inference-scheduler=quay.io/opendatahub/odh-llm-d-router-endpoint-picker:v0.9.0 [e2e-llm-inference-service] kserve-llm-d-routing-sidecar=quay.io/opendatahub/odh-llm-d-router-disagg-sidecar:v0.9.0 [e2e-llm-inference-service] kserve-llm-d-uds-tokenizer=quay.io/opendatahub/llm-d-kv-cache:v0.8.0 [e2e-llm-inference-service] kserve-llm-d-nvidia-cuda=registry.redhat.io/rhaiis/vllm-cuda-rhel9@sha256:fc68d623d1bfc36c8cb2fe4a71f19c8578cfb420ce8ce07b20a02c1ee0be0cf3 [e2e-llm-inference-service] kserve-llm-d-nvidia-cuda-fast-1=registry.redhat.io/rhaiis/vllm-cuda-rhel9@sha256:fc68d623d1bfc36c8cb2fe4a71f19c8578cfb420ce8ce07b20a02c1ee0be0cf3 [e2e-llm-inference-service] kserve-llm-d-nvidia-cuda-fast-2=registry.redhat.io/rhaiis/vllm-cuda-rhel9@sha256:fc68d623d1bfc36c8cb2fe4a71f19c8578cfb420ce8ce07b20a02c1ee0be0cf3 [e2e-llm-inference-service] kserve-llm-d-nvidia-cuda-upstream-version=0.11.0+rhai5 [e2e-llm-inference-service] kserve-llm-d-nvidia-cuda-fast-1-upstream-version=0.11.0+rhai5 [e2e-llm-inference-service] kserve-llm-d-nvidia-cuda-fast-2-upstream-version=0.11.0+rhai5 [e2e-llm-inference-service] kserve-llm-d-amd-rocm=registry.redhat.io/rhaiis/vllm-rocm-rhel9@sha256:d9a48add238cc095fa43eeee17c8c4d104de60c4dc623e0bc7f8c4b53b2b2e97 [e2e-llm-inference-service] kserve-llm-d-amd-rocm-fast-1=registry.redhat.io/rhaiis/vllm-rocm-rhel9@sha256:d9a48add238cc095fa43eeee17c8c4d104de60c4dc623e0bc7f8c4b53b2b2e97 [e2e-llm-inference-service] kserve-llm-d-amd-rocm-fast-2=registry.redhat.io/rhaiis/vllm-rocm-rhel9@sha256:d9a48add238cc095fa43eeee17c8c4d104de60c4dc623e0bc7f8c4b53b2b2e97 [e2e-llm-inference-service] kserve-llm-d-amd-rocm-upstream-version=0.11.0+rhai5 [e2e-llm-inference-service] kserve-llm-d-amd-rocm-fast-1-upstream-version=0.11.0+rhai5 [e2e-llm-inference-service] kserve-llm-d-amd-rocm-fast-2-upstream-version=0.11.0+rhai5 [e2e-llm-inference-service] kserve-llm-d-intel-gaudi=registry.redhat.io/rhaii-early-access/vllm-gaudi-rhel9:3.4.0-ea.2 [e2e-llm-inference-service] kserve-llm-d-intel-gaudi-fast-1=registry.redhat.io/rhaii-early-access/vllm-gaudi-rhel9:3.4.0-ea.2 [e2e-llm-inference-service] kserve-llm-d-intel-gaudi-fast-2=registry.redhat.io/rhaii-early-access/vllm-gaudi-rhel9:3.4.0-ea.2 [e2e-llm-inference-service] kserve-llm-d-intel-gaudi-upstream-version=0.16.0 [e2e-llm-inference-service] kserve-llm-d-intel-gaudi-fast-1-upstream-version=0.16.0 [e2e-llm-inference-service] kserve-llm-d-intel-gaudi-fast-2-upstream-version=0.16.0 [e2e-llm-inference-service] kserve-llm-d-ibm-spyre=registry.redhat.io/rhaiis/vllm-spyre-rhel9@sha256:80ae3e435a5be2c1f117f36599103ab05357917dd6e37f0df6613cb3ac2c13ea [e2e-llm-inference-service] kserve-llm-d-ibm-spyre-fast-1=registry.redhat.io/rhaiis/vllm-spyre-rhel9@sha256:80ae3e435a5be2c1f117f36599103ab05357917dd6e37f0df6613cb3ac2c13ea [e2e-llm-inference-service] kserve-llm-d-ibm-spyre-fast-2=registry.redhat.io/rhaiis/vllm-spyre-rhel9@sha256:80ae3e435a5be2c1f117f36599103ab05357917dd6e37f0df6613cb3ac2c13ea [e2e-llm-inference-service] kserve-llm-d-ibm-spyre-upstream-version=0.10.2 [e2e-llm-inference-service] kserve-llm-d-ibm-spyre-fast-1-upstream-version=0.10.2 [e2e-llm-inference-service] kserve-llm-d-ibm-spyre-fast-2-upstream-version=0.10.2 [e2e-llm-inference-service] kserve-llm-d-latency-predictor-prediction=quay.io/opendatahub/odh-latency-predictor-prediction:odh-stable [e2e-llm-inference-service] kserve-llm-d-latency-predictor-training=quay.io/opendatahub/odh-latency-predictor-training:odh-stable [e2e-llm-inference-service] # TODO update when our changes are introduced in the official image [e2e-llm-inference-service] kube-rbac-proxy=quay.io/opendatahub/odh-kube-auth-proxy@sha256:dcb09fbabd8811f0956ef612a0c9ddd5236804b9bd6548a0647d2b531c9d01b3 [e2e-llm-inference-service] kserve-localmodel-controller=quay.io/opendatahub/odh-kserve-localmodel-controller:odh-master [e2e-llm-inference-service] kserve-localmodelnode-agent=quay.io/opendatahub/odh-kserve-localmodelnode-agent:odh-master [e2e-llm-inference-service] ovms-versioning-ubi-micro=registry.redhat.io/ubi9/ubi-micro@sha256:38e934147827349f2b8b11ac9c38d7be23cb8e29f128b1c46e5c7ae54a2d23cd [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterservingruntimes.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterstoragecontainers.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencegraphs.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferenceservices.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceserviceconfigs.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceservices.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/servingruntimes.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/trainedmodels.serving.kserve.io serverside-applied [e2e-llm-inference-service] # Warning: 'commonLabels' is deprecated. Please use 'labels' instead. Run 'kustomize edit fix' to update your Kustomization automatically. [e2e-llm-inference-service] # Warning: 'commonLabels' is deprecated. Please use 'labels' instead. Run 'kustomize edit fix' to update your Kustomization automatically. [e2e-llm-inference-service] # Warning: 'commonLabels' is deprecated. Please use 'labels' instead. Run 'kustomize edit fix' to update your Kustomization automatically. [e2e-llm-inference-service] # Warning: 'commonLabels' is deprecated. Please use 'labels' instead. Run 'kustomize edit fix' to update your Kustomization automatically. [e2e-llm-inference-service] # Warning: 'commonLabels' is deprecated. Please use 'labels' instead. Run 'kustomize edit fix' to update your Kustomization automatically. [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterservingruntimes.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterstoragecontainers.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/datascienceclusters.datasciencecluster.opendatahub.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/dscinitializations.dscinitialization.opendatahub.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencegraphs.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencemodelrewrites.llm-d.ai serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferenceobjectives.llm-d.ai serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencepools.inference.networking.k8s.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencepools.inference.networking.x-k8s.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferenceservices.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceserviceconfigs.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceservices.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/servingruntimes.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/trainedmodels.serving.kserve.io serverside-applied [e2e-llm-inference-service] Waiting for CRDs to be established... [e2e-llm-inference-service] Waiting for CRD inferenceservices.serving.kserve.io to appear (timeout: 90s)… [e2e-llm-inference-service] CRD inferenceservices.serving.kserve.io detected — waiting for it to become Established (timeout: 90s)… [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferenceservices.serving.kserve.io condition met [e2e-llm-inference-service] Waiting for CRD llminferenceserviceconfigs.serving.kserve.io to appear (timeout: 90s)… [e2e-llm-inference-service] CRD llminferenceserviceconfigs.serving.kserve.io detected — waiting for it to become Established (timeout: 90s)… [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceserviceconfigs.serving.kserve.io condition met [e2e-llm-inference-service] Waiting for CRD clusterstoragecontainers.serving.kserve.io to appear (timeout: 90s)… [e2e-llm-inference-service] CRD clusterstoragecontainers.serving.kserve.io detected — waiting for it to become Established (timeout: 90s)… [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterstoragecontainers.serving.kserve.io condition met [e2e-llm-inference-service] Waiting for CRD datascienceclusters.datasciencecluster.opendatahub.io to appear (timeout: 90s)… [e2e-llm-inference-service] CRD datascienceclusters.datasciencecluster.opendatahub.io detected — waiting for it to become Established (timeout: 90s)… [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/datascienceclusters.datasciencecluster.opendatahub.io condition met [e2e-llm-inference-service] Applying all resources... [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterservingruntimes.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterstoragecontainers.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/datascienceclusters.datasciencecluster.opendatahub.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/dscinitializations.dscinitialization.opendatahub.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencegraphs.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencemodelrewrites.llm-d.ai serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferenceobjectives.llm-d.ai serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencepools.inference.networking.k8s.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencepools.inference.networking.x-k8s.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferenceservices.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceserviceconfigs.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceservices.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/servingruntimes.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/trainedmodels.serving.kserve.io serverside-applied [e2e-llm-inference-service] serviceaccount/kserve-controller-manager serverside-applied [e2e-llm-inference-service] serviceaccount/llmisvc-controller-manager serverside-applied [e2e-llm-inference-service] role.rbac.authorization.k8s.io/kserve-leader-election-role serverside-applied [e2e-llm-inference-service] role.rbac.authorization.k8s.io/kserve-llmisvcconfig-read-access serverside-applied [e2e-llm-inference-service] role.rbac.authorization.k8s.io/llmisvc-leader-election-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-admin serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-edit serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-inferenceservice-distro-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-llmisvc-distro-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-llmisvc-manager-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-manager-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-metrics-reader-cluster-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-models-admin serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-models-edit serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-models-view serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-proxy-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-tls-distro-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-view serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/openshift-ai-inferenceservice-image-volume-scc serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/openshift-ai-llminferenceservice-scc serverside-applied [e2e-llm-inference-service] rolebinding.rbac.authorization.k8s.io/kserve-leader-election-rolebinding serverside-applied [e2e-llm-inference-service] rolebinding.rbac.authorization.k8s.io/kserve-llmisvcconfig-read-access serverside-applied [e2e-llm-inference-service] rolebinding.rbac.authorization.k8s.io/llmisvc-leader-election-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-inferenceservice-distro-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-llmisvc-distro-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-manager-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-proxy-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-tls-distro-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/llmisvc-manager-rolebinding serverside-applied [e2e-llm-inference-service] configmap/inferenceservice-config serverside-applied [e2e-llm-inference-service] configmap/kserve-parameters serverside-applied [e2e-llm-inference-service] secret/kserve-webhook-server-secret serverside-applied [e2e-llm-inference-service] secret/mlpipeline-s3-artifact serverside-applied [e2e-llm-inference-service] service/kserve-controller-manager-metrics-service serverside-applied [e2e-llm-inference-service] service/kserve-controller-manager-service serverside-applied [e2e-llm-inference-service] service/kserve-webhook-server-service serverside-applied [e2e-llm-inference-service] service/llmisvc-controller-manager-service serverside-applied [e2e-llm-inference-service] service/llmisvc-webhook-server-service serverside-applied [e2e-llm-inference-service] service/s3-service serverside-applied [e2e-llm-inference-service] deployment.apps/kserve-controller-manager serverside-applied [e2e-llm-inference-service] deployment.apps/llmisvc-controller-manager serverside-applied [e2e-llm-inference-service] deployment.apps/seaweedfs serverside-applied [e2e-llm-inference-service] networkpolicy.networking.k8s.io/kserve-controller-manager serverside-applied [e2e-llm-inference-service] networkpolicy.networking.k8s.io/llmisvc-controller-manager serverside-applied [e2e-llm-inference-service] securitycontextconstraints.security.openshift.io/openshift-ai-inferenceservice-image-volume-scc serverside-applied [e2e-llm-inference-service] securitycontextconstraints.security.openshift.io/openshift-ai-llminferenceservice-scc serverside-applied [e2e-llm-inference-service] clusterstoragecontainer.serving.kserve.io/default serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-decode-template serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-decode-worker-data-parallel serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-pd-template-nvidia-cuda serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-pd-template-nvidia-cuda-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-pd-template-nvidia-cuda-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-template-nvidia-cuda serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-template-nvidia-cuda-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-template-nvidia-cuda-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-prefill-template serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-prefill-worker-data-parallel serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-router-route serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-scheduler serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-scheduler-latency-predictor serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-pd-template-nvidia-cuda serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-pd-template-nvidia-cuda-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-pd-template-nvidia-cuda-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-template-nvidia-cuda serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-template-nvidia-cuda-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-template-nvidia-cuda-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-amd-rocm serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-amd-rocm-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-amd-rocm-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-ppc64le serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-ppc64le-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-ppc64le-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-s390x serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-s390x-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-s390x-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-x86 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-x86-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-x86-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-intel-gaudi serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-intel-gaudi-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-intel-gaudi-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-tokenizer serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-tracing serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-worker-data-parallel serverside-applied [e2e-llm-inference-service] mutatingwebhookconfiguration.admissionregistration.k8s.io/inferenceservice.serving.kserve.io serverside-applied [e2e-llm-inference-service] mutatingwebhookconfiguration.admissionregistration.k8s.io/llminferenceservice.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/clusterservingruntime.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/inferencegraph.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/inferenceservice.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/llminferenceservice.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/llminferenceserviceconfig.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/servingruntime.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/trainedmodel.serving.kserve.io serverside-applied [e2e-llm-inference-service] Waiting for llmisvc-controller-manager to be ready... [e2e-llm-inference-service] Waiting for pod -l "control-plane=llmisvc-controller-manager" in namespace "kserve" to be created... [e2e-llm-inference-service] Pod -l "control-plane=llmisvc-controller-manager" in namespace "kserve" found. [e2e-llm-inference-service] Current pods for -l "control-plane=llmisvc-controller-manager" in namespace "kserve": [e2e-llm-inference-service] NAME READY STATUS RESTARTS AGE [e2e-llm-inference-service] llmisvc-controller-manager-5875c57b6-z22r7 0/1 ContainerCreating 0 7s [e2e-llm-inference-service] Waiting up to 600s for pod(s) -l "control-plane=llmisvc-controller-manager" in namespace "kserve" to become ready... [e2e-llm-inference-service] pod/llmisvc-controller-manager-5875c57b6-z22r7 condition met [e2e-llm-inference-service] Pod(s) -l "control-plane=llmisvc-controller-manager" in namespace "kserve" are ready. [e2e-llm-inference-service] Re-Applying all resources... [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterservingruntimes.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/clusterstoragecontainers.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/datascienceclusters.datasciencecluster.opendatahub.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/dscinitializations.dscinitialization.opendatahub.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencegraphs.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencemodelrewrites.llm-d.ai serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferenceobjectives.llm-d.ai serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencepools.inference.networking.k8s.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferencepools.inference.networking.x-k8s.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/inferenceservices.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceserviceconfigs.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/llminferenceservices.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/servingruntimes.serving.kserve.io serverside-applied [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/trainedmodels.serving.kserve.io serverside-applied [e2e-llm-inference-service] serviceaccount/kserve-controller-manager serverside-applied [e2e-llm-inference-service] serviceaccount/llmisvc-controller-manager serverside-applied [e2e-llm-inference-service] role.rbac.authorization.k8s.io/kserve-leader-election-role serverside-applied [e2e-llm-inference-service] role.rbac.authorization.k8s.io/kserve-llmisvcconfig-read-access serverside-applied [e2e-llm-inference-service] role.rbac.authorization.k8s.io/llmisvc-leader-election-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-admin serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-edit serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-inferenceservice-distro-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-llmisvc-distro-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-llmisvc-manager-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-manager-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-metrics-reader-cluster-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-models-admin serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-models-edit serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-models-view serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-proxy-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-tls-distro-role serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-view serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/openshift-ai-inferenceservice-image-volume-scc serverside-applied [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/openshift-ai-llminferenceservice-scc serverside-applied [e2e-llm-inference-service] rolebinding.rbac.authorization.k8s.io/kserve-leader-election-rolebinding serverside-applied [e2e-llm-inference-service] rolebinding.rbac.authorization.k8s.io/kserve-llmisvcconfig-read-access serverside-applied [e2e-llm-inference-service] rolebinding.rbac.authorization.k8s.io/llmisvc-leader-election-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-inferenceservice-distro-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-llmisvc-distro-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-manager-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-proxy-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/kserve-tls-distro-rolebinding serverside-applied [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/llmisvc-manager-rolebinding serverside-applied [e2e-llm-inference-service] configmap/inferenceservice-config serverside-applied [e2e-llm-inference-service] configmap/kserve-parameters serverside-applied [e2e-llm-inference-service] secret/kserve-webhook-server-secret serverside-applied [e2e-llm-inference-service] secret/mlpipeline-s3-artifact serverside-applied [e2e-llm-inference-service] service/kserve-controller-manager-metrics-service serverside-applied [e2e-llm-inference-service] service/kserve-controller-manager-service serverside-applied [e2e-llm-inference-service] service/kserve-webhook-server-service serverside-applied [e2e-llm-inference-service] service/llmisvc-controller-manager-service serverside-applied [e2e-llm-inference-service] service/llmisvc-webhook-server-service serverside-applied [e2e-llm-inference-service] service/s3-service serverside-applied [e2e-llm-inference-service] deployment.apps/kserve-controller-manager serverside-applied [e2e-llm-inference-service] deployment.apps/llmisvc-controller-manager serverside-applied [e2e-llm-inference-service] deployment.apps/seaweedfs serverside-applied [e2e-llm-inference-service] networkpolicy.networking.k8s.io/kserve-controller-manager serverside-applied [e2e-llm-inference-service] networkpolicy.networking.k8s.io/llmisvc-controller-manager serverside-applied [e2e-llm-inference-service] securitycontextconstraints.security.openshift.io/openshift-ai-inferenceservice-image-volume-scc serverside-applied [e2e-llm-inference-service] securitycontextconstraints.security.openshift.io/openshift-ai-llminferenceservice-scc serverside-applied [e2e-llm-inference-service] clusterstoragecontainer.serving.kserve.io/default serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-decode-template serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-decode-worker-data-parallel serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-pd-template-nvidia-cuda serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-pd-template-nvidia-cuda-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-pd-template-nvidia-cuda-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-template-nvidia-cuda serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-template-nvidia-cuda-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-multi-node-template-nvidia-cuda-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-prefill-template serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-prefill-worker-data-parallel serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-router-route serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-scheduler serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-scheduler-latency-predictor serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-pd-template-nvidia-cuda serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-pd-template-nvidia-cuda-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-pd-template-nvidia-cuda-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-template-nvidia-cuda serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-template-nvidia-cuda-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-single-node-template-nvidia-cuda-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-amd-rocm serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-amd-rocm-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-amd-rocm-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-ppc64le serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-ppc64le-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-ppc64le-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-s390x serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-s390x-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-s390x-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-x86 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-x86-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-ibm-spyre-x86-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-intel-gaudi serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-intel-gaudi-fast-1 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-template-intel-gaudi-fast-2 serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-tokenizer serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-tracing serverside-applied [e2e-llm-inference-service] llminferenceserviceconfig.serving.kserve.io/kserve-config-llm-worker-data-parallel serverside-applied [e2e-llm-inference-service] mutatingwebhookconfiguration.admissionregistration.k8s.io/inferenceservice.serving.kserve.io serverside-applied [e2e-llm-inference-service] mutatingwebhookconfiguration.admissionregistration.k8s.io/llminferenceservice.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/clusterservingruntime.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/inferencegraph.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/inferenceservice.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/llminferenceservice.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/llminferenceserviceconfig.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/servingruntime.serving.kserve.io serverside-applied [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/trainedmodel.serving.kserve.io serverside-applied [e2e-llm-inference-service] Applying DSC/DSCI resources... [e2e-llm-inference-service] dscinitialization.dscinitialization.opendatahub.io/test-dsci created [e2e-llm-inference-service] datasciencecluster.datasciencecluster.opendatahub.io/test-dsc created [e2e-llm-inference-service] KServe manual installation complete [e2e-llm-inference-service] Patching ingress domain... [e2e-llm-inference-service] configmap/inferenceservice-config patched [e2e-llm-inference-service] pod "kserve-controller-manager-8677446b84-lwqqq" deleted [e2e-llm-inference-service] Waiting for kserve-controller-manager to be ready... [e2e-llm-inference-service] pod/kserve-controller-manager-8677446b84-x2fbb condition met [e2e-llm-inference-service] Installing ODH Model Controller manually... [e2e-llm-inference-service] customresourcedefinition.apiextensions.k8s.io/accounts.nim.opendatahub.io created [e2e-llm-inference-service] serviceaccount/model-serving-api created [e2e-llm-inference-service] serviceaccount/odh-model-controller created [e2e-llm-inference-service] role.rbac.authorization.k8s.io/leader-election-role created [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/account-editor-role created [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/account-viewer-role created [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/kserve-prometheus-k8s created [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/metrics-reader created [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/model-serving-api created [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/odh-model-controller-role created [e2e-llm-inference-service] clusterrole.rbac.authorization.k8s.io/proxy-role created [e2e-llm-inference-service] rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding created [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/model-serving-api created [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/odh-model-controller-rolebinding-opendatahub created [e2e-llm-inference-service] clusterrolebinding.rbac.authorization.k8s.io/proxy-rolebinding created [e2e-llm-inference-service] configmap/odh-model-controller-parameters created [e2e-llm-inference-service] service/model-serving-api created [e2e-llm-inference-service] service/odh-model-controller-metrics-service created [e2e-llm-inference-service] service/odh-model-controller-webhook-service created [e2e-llm-inference-service] deployment.apps/model-serving-api created [e2e-llm-inference-service] deployment.apps/odh-model-controller created [e2e-llm-inference-service] servicemonitor.monitoring.coreos.com/model-serving-api-metrics created [e2e-llm-inference-service] servicemonitor.monitoring.coreos.com/odh-model-controller-metrics-monitor created [e2e-llm-inference-service] template.template.openshift.io/autogluon-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/guardrails-detector-huggingface-serving-template created [e2e-llm-inference-service] template.template.openshift.io/kserve-ovms created [e2e-llm-inference-service] template.template.openshift.io/mlserver-cuda-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/mlserver-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-cpu-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-cpu-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-cpu-runtime-template-fast-2 created [e2e-llm-inference-service] template.template.openshift.io/vllm-cpu-x86-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-cpu-x86-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-cpu-x86-runtime-template-fast-2 created [e2e-llm-inference-service] template.template.openshift.io/vllm-cuda-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-cuda-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-cuda-runtime-template-fast-2 created [e2e-llm-inference-service] template.template.openshift.io/vllm-gaudi-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-gaudi-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-gaudi-runtime-template-fast-2 created [e2e-llm-inference-service] template.template.openshift.io/vllm-multinode-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-multinode-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-multinode-runtime-template-fast-2 created [e2e-llm-inference-service] template.template.openshift.io/vllm-rocm-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-rocm-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-rocm-runtime-template-fast-2 created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-ppc64le-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-ppc64le-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-ppc64le-runtime-template-fast-2 created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-s390x-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-s390x-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-s390x-runtime-template-fast-2 created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-x86-runtime-template created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-x86-runtime-template-fast-1 created [e2e-llm-inference-service] template.template.openshift.io/vllm-spyre-x86-runtime-template-fast-2 created [e2e-llm-inference-service] mutatingwebhookconfiguration.admissionregistration.k8s.io/mutating.odh-model-controller.opendatahub.io created [e2e-llm-inference-service] validatingwebhookconfiguration.admissionregistration.k8s.io/validating.odh-model-controller.opendatahub.io created [e2e-llm-inference-service] Waiting for deployment "odh-model-controller" rollout to finish: 0 of 1 updated replicas are available... [e2e-llm-inference-service] deployment "odh-model-controller" successfully rolled out [e2e-llm-inference-service] networkpolicy.networking.k8s.io/allow-all created [e2e-llm-inference-service] KServe setup complete (namespace: kserve) [e2e-llm-inference-service] Add testing models to SeaweedFS S3 storage ... [e2e-llm-inference-service] Waiting for SeaweedFS deployment to be ready... [e2e-llm-inference-service] deployment "seaweedfs" successfully rolled out [e2e-llm-inference-service] S3 init job not completed, re-creating... [e2e-llm-inference-service] job.batch/s3-init replaced [e2e-llm-inference-service] Waiting for S3 init job to complete... [e2e-llm-inference-service] job.batch/s3-init condition met [e2e-llm-inference-service] Prepare CI namespace and install ServingRuntimes [e2e-llm-inference-service] Setting up CI namespace: kserve-ci-e2e-test [e2e-llm-inference-service] Tearing down CI namespace: kserve-ci-e2e-test [e2e-llm-inference-service] Namespace kserve-ci-e2e-test does not exist, skipping deletion [e2e-llm-inference-service] CI namespace teardown complete [e2e-llm-inference-service] Creating namespace kserve-ci-e2e-test [e2e-llm-inference-service] namespace/kserve-ci-e2e-test created [e2e-llm-inference-service] Applying S3 artifact secret [e2e-llm-inference-service] secret/mlpipeline-s3-artifact created [e2e-llm-inference-service] Applying storage-config secret [e2e-llm-inference-service] secret/storage-config created [e2e-llm-inference-service] Applying SeaweedFS S3 credentials secret [e2e-llm-inference-service] secret/seaweedfs-s3-creds created [e2e-llm-inference-service] Linking seaweedfs-s3-creds to default service account [e2e-llm-inference-service] Creating odh-trusted-ca-bundle configmap [e2e-llm-inference-service] configmap/odh-trusted-ca-bundle created [e2e-llm-inference-service] Installing ServingRuntimes [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-autogluonserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-huggingfaceserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-huggingfaceserver-multinode created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-lgbserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-mlserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-paddleserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-pmmlserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-predictiveserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-sklearnserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-tensorflow-serving created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-torchserve created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-tritonserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-vllmserver created [e2e-llm-inference-service] servingruntime.serving.kserve.io/kserve-xgbserver created [e2e-llm-inference-service] CI namespace setup complete [e2e-llm-inference-service] Setup complete [e2e-llm-inference-service] === E2E cluster / operator summary === [e2e-llm-inference-service] Client Version: 4.20.11 [e2e-llm-inference-service] Kustomize Version: v5.6.0 [e2e-llm-inference-service] Server Version: 4.21.26 [e2e-llm-inference-service] Kubernetes Version: v1.34.9 [e2e-llm-inference-service] ClusterVersion desired: 4.21.26 [e2e-llm-inference-service] ClusterVersion history (latest): 4.21.26 (Completed) [e2e-llm-inference-service] CSVs in kuadrant-system: [e2e-llm-inference-service] authorino-operator.v1.4.2 Succeeded [e2e-llm-inference-service] cert-manager-operator.v1.20.0 Succeeded [e2e-llm-inference-service] dns-operator.v1.4.1 Succeeded [e2e-llm-inference-service] limitador-operator.v1.4.1 Succeeded [e2e-llm-inference-service] rhcl-operator.v1.4.2 Succeeded [e2e-llm-inference-service] CSVs in openshift-keda: [e2e-llm-inference-service] authorino-operator.v1.4.2 Succeeded [e2e-llm-inference-service] cert-manager-operator.v1.20.0 Succeeded [e2e-llm-inference-service] custom-metrics-autoscaler.v2.19.0-2 Succeeded [e2e-llm-inference-service] dns-operator.v1.4.1 Succeeded [e2e-llm-inference-service] limitador-operator.v1.4.1 Succeeded [e2e-llm-inference-service] rhcl-operator.v1.4.2 Succeeded [e2e-llm-inference-service] CSVs in cert-manager-operator: [e2e-llm-inference-service] authorino-operator.v1.4.2 Succeeded [e2e-llm-inference-service] cert-manager-operator.v1.20.0 Succeeded [e2e-llm-inference-service] dns-operator.v1.4.1 Succeeded [e2e-llm-inference-service] limitador-operator.v1.4.1 Succeeded [e2e-llm-inference-service] rhcl-operator.v1.4.2 Succeeded [e2e-llm-inference-service] CSVs in openshift-lws-operator: [e2e-llm-inference-service] authorino-operator.v1.4.2 Succeeded [e2e-llm-inference-service] cert-manager-operator.v1.20.0 Succeeded [e2e-llm-inference-service] dns-operator.v1.4.1 Succeeded [e2e-llm-inference-service] leader-worker-set.v1.0.0 Succeeded [e2e-llm-inference-service] limitador-operator.v1.4.1 Succeeded [e2e-llm-inference-service] rhcl-operator.v1.4.2 Succeeded [e2e-llm-inference-service] CSVs in openshift-operators (ODH / shared operators, filtered): [e2e-llm-inference-service] authorino-operator.v1.4.2 Succeeded [e2e-llm-inference-service] dns-operator.v1.4.1 Succeeded [e2e-llm-inference-service] limitador-operator.v1.4.1 Succeeded [e2e-llm-inference-service] rhcl-operator.v1.4.2 Succeeded [e2e-llm-inference-service] Kuadrant / Authorino (diagnostics): [e2e-llm-inference-service] CRD kuadrants.kuadrant.io versions: v1beta1 served=true storage=true [e2e-llm-inference-service] Subscriptions in kuadrant-system: [e2e-llm-inference-service] authorino-operator-stable-redhat-operators-openshift-marketplace stable redhat-operators authorino-operator.v1.4.2 [e2e-llm-inference-service] dns-operator-stable-redhat-operators-openshift-marketplace stable redhat-operators dns-operator.v1.4.1 [e2e-llm-inference-service] limitador-operator-stable-redhat-operators-openshift-marketplace stable redhat-operators limitador-operator.v1.4.1 [e2e-llm-inference-service] rhcl-operator stable redhat-operators rhcl-operator.v1.4.2 [e2e-llm-inference-service] Kuadrant CR conditions (kuadrant/kuadrant-system): [e2e-llm-inference-service] Ready=True (Ready) [e2e-llm-inference-service] KServe deployments in kserve: [e2e-llm-inference-service] kserve-controller-manager: ready=1 image=quay.io/opendatahub/kserve-controller@sha256:bb4ac88f2606ece80f57a5490ce8c2e90fb7fd483aa9b989bf955000695e1c42 [e2e-llm-inference-service] imageID: quay.io/opendatahub/kserve-controller@sha256:8e1aa3a23938bfab2ea6de2ac0d0aa6788ccfdd079a656789d81621344e4a2e0 [e2e-llm-inference-service] odh-model-controller: ready=1 image=quay.io/opendatahub/odh-model-controller:odh-incubating [e2e-llm-inference-service] imageID: quay.io/opendatahub/odh-model-controller@sha256:1b6a90a11d475a3fbc6b47cdfcc27759a2e63d6111d97960b387e4db5a9a00a9 [e2e-llm-inference-service] llmisvc-controller-manager: ready=1 image=quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:79b160ba4ec76b136f46b7980d7704bfcdab0d2db7540c988de9452c99e9adbc [e2e-llm-inference-service] imageID: quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:0ca4873717ccc710c0fd4d4c91437cc7ecd831df5fff122aebcb8ac5f83cc3fc [e2e-llm-inference-service] === End E2E cluster / operator summary === [e2e-llm-inference-service] /workspace/source [e2e-llm-inference-service] CA certificate extracted [e2e-llm-inference-service] REQUESTS_CA_BUNDLE=/tmp/ca.crt [e2e-llm-inference-service] Run E2E tests: llminferenceservice and cluster_cpu and not autoscaling and not tracing [e2e-llm-inference-service] Starting E2E functional tests ... [e2e-llm-inference-service] Parallelism requested for pytest is 2 [e2e-llm-inference-service] ============================= test session starts ============================== [e2e-llm-inference-service] platform linux -- Python 3.11.13, pytest-7.4.4, pluggy-1.5.0 -- /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] cachedir: .pytest_cache [e2e-llm-inference-service] metadata: {'Python': '3.11.13', 'Platform': 'Linux-5.14.0-570.124.1.el9_6.x86_64-x86_64-with-glibc2.34', 'Packages': {'pytest': '7.4.4', 'pluggy': '1.5.0'}, 'Plugins': {'metadata': '3.1.1', 'asyncio': '0.23.8', 'xdist': '3.6.1', 'cov': '5.0.0', 'httpx': '0.30.0', 'anyio': '4.9.0', 'json-report': '1.5.0'}, 'PLATFORM': 'el9'} [e2e-llm-inference-service] rootdir: /workspace/source/test/e2e [e2e-llm-inference-service] configfile: pytest.ini [e2e-llm-inference-service] plugins: metadata-3.1.1, asyncio-0.23.8, xdist-3.6.1, cov-5.0.0, httpx-0.30.0, anyio-4.9.0, json-report-1.5.0 [e2e-llm-inference-service] asyncio: mode=Mode.STRICT [e2e-llm-inference-service] created: 2/2 workers [e2e-llm-inference-service] 2 workers [73 items] [e2e-llm-inference-service] [e2e-llm-inference-service] scheduling tests via WorkStealingScheduling [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_flow_control.py::test_flow_control_smoke[cluster_cpu-cluster_single_node-flow-control-utilization-detector] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-no-scheduler-workload-single-cpu-model-fb-opt-125m] 2026-07-30 17:13:28.886 6424 kserve INFO [conftest.py:configure_logger():40] Logger configured [e2e-llm-inference-service] 2026-07-30 17:13:28.887 6427 kserve INFO [conftest.py:configure_logger():40] Logger configured [e2e-llm-inference-service] [e2e-llm-inference-service] [gw0] PASSED llmisvc/test_flow_control.py::test_flow_control_smoke[cluster_cpu-cluster_single_node-flow-control-utilization-detector] [e2e-llm-inference-service] llmisvc/test_flow_control.py::test_flow_control_smoke[cluster_cpu-cluster_single_node-flow-control-concurrency-detector] [e2e-llm-inference-service] [gw0] PASSED llmisvc/test_flow_control.py::test_flow_control_smoke[cluster_cpu-cluster_single_node-flow-control-concurrency-detector] [e2e-llm-inference-service] llmisvc/test_gateway_section_name.py::test_gateway_section_name_propagation[cluster_single_node-cluster_cpu-with-section-name] 2026-07-30 17:16:19.557 6424 kserve.trace Checking Gateway router-gateway-1 in namespace e2e-test-gateway-section-name-propagation-49b5edd9 [e2e-llm-inference-service] 2026-07-30 17:16:19.557 6424 kserve.trace INFO [gw_api.py:create_or_update_gateway():34] Checking Gateway router-gateway-1 in namespace e2e-test-gateway-section-name-propagation-49b5edd9 [e2e-llm-inference-service] 2026-07-30 17:16:19.580 6424 kserve.trace Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 17:16:19.580 6424 kserve.trace INFO [gw_api.py:create_or_update_gateway():62] Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 17:16:19.589 6424 kserve.trace ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 17:16:19.589 6424 kserve.trace INFO [gw_api.py:create_or_update_gateway():70] ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] [e2e-llm-inference-service] [gw0] PASSED llmisvc/test_gateway_section_name.py::test_gateway_section_name_propagation[cluster_single_node-cluster_cpu-with-section-name] [e2e-llm-inference-service] llmisvc/test_gateway_section_name.py::test_gateway_section_name_propagation[cluster_single_node-cluster_cpu-without-section-name] 2026-07-30 17:16:31.957 6424 kserve.trace Checking Gateway router-gateway-1 in namespace e2e-test-gateway-section-name-propagation-94799d44 [e2e-llm-inference-service] 2026-07-30 17:16:31.957 6424 kserve.trace INFO [gw_api.py:create_or_update_gateway():34] Checking Gateway router-gateway-1 in namespace e2e-test-gateway-section-name-propagation-94799d44 [e2e-llm-inference-service] 2026-07-30 17:16:31.981 6424 kserve.trace Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 17:16:31.981 6424 kserve.trace INFO [gw_api.py:create_or_update_gateway():62] Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 17:16:31.987 6424 kserve.trace ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 17:16:31.987 6424 kserve.trace INFO [gw_api.py:create_or_update_gateway():70] ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] [e2e-llm-inference-service] [gw0] PASSED llmisvc/test_gateway_section_name.py::test_gateway_section_name_propagation[cluster_single_node-cluster_cpu-without-section-name] [e2e-llm-inference-service] llmisvc/test_llm_auth.py::test_llm_auth_enabled_requires_token[cluster_cpu-cluster_single_node-auth-enabled-default] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-no-scheduler-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_multi_node-router-managed-workload-simulated-dp-ep-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw0] PASSED llmisvc/test_llm_auth.py::test_llm_auth_enabled_requires_token[cluster_cpu-cluster_single_node-auth-enabled-default] [e2e-llm-inference-service] llmisvc/test_llm_auth.py::test_llm_auth_invalid_token_rejected[cluster_cpu-cluster_single_node-auth-invalid-token] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_multi_node-router-managed-workload-simulated-dp-ep-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-inline-config-workload-llmd-simulator] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-inline-config-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-model-qwen2.5-0.5b] [e2e-llm-inference-service] [gw0] PASSED llmisvc/test_llm_auth.py::test_llm_auth_invalid_token_rejected[cluster_cpu-cluster_single_node-auth-invalid-token] [e2e-llm-inference-service] llmisvc/test_llm_auth.py::test_llm_auth_disabled_no_token_required[cluster_cpu-cluster_single_node-auth-disabled] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-model-qwen2.5-0.5b] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-configmap-ref-workload-llmd-simulator] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-configmap-ref-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-replicas-workload-llmd-simulator] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-replicas-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-custom-template-workload-llmd-simulator] [e2e-llm-inference-service] [gw0] PASSED llmisvc/test_llm_auth.py::test_llm_auth_disabled_no_token_required[cluster_cpu-cluster_single_node-auth-disabled] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_hpa_deployment[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-custom-template-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-v06-pd-config-migration-workload-llmd-simulator-pd] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-v06-pd-config-migration-workload-llmd-simulator-pd] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-v06-nonzero-threshold-migration-workload-llmd-simulator-pd] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-v06-nonzero-threshold-migration-workload-llmd-simulator-pd] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-tokenizer-kvcache-workload-llmd-simulator-kvcache] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-tokenizer-kvcache-workload-llmd-simulator-kvcache] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-precise-prefix-cache-inline-config-workload-llmd-simulator-kvcache] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-precise-prefix-cache-inline-config-workload-llmd-simulator-kvcache] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator0] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator0] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator1] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator1] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator2] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator2] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m-with-lora-hf0] [e2e-llm-inference-service] [gw0] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_hpa_deployment[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_keda_deployment[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-keda] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m-with-lora-hf0] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m-with-lora-hf1] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m-with-lora-hf1] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-pvc] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-pvc] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-pd-cpu-model-pvc] [e2e-llm-inference-service] [gw0] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_keda_deployment[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-keda] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_hpa_lws[cluster_cpu-cluster_multi_node-router-managed-workload-llmd-simulator-lws-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] [gw1] FAILED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-pd-cpu-model-pvc] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_multi_node-router-managed-workload-simulated-dp-ep-cpu-model-pvc] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_multi_node-router-managed-workload-simulated-dp-ep-cpu-model-pvc] [e2e-llm-inference-service] llmisvc/test_llm_inference_service_config_deletion.py::test_config_finalizer_added [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_config_deletion.py::test_config_finalizer_added [e2e-llm-inference-service] llmisvc/test_llm_inference_service_config_deletion.py::test_config_deletion_blocked_when_referenced [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_config_deletion.py::test_config_deletion_blocked_when_referenced [e2e-llm-inference-service] llmisvc/test_llm_inference_service_config_deletion.py::test_config_deletion_allowed_when_unreferenced [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_config_deletion.py::test_config_deletion_allowed_when_unreferenced [e2e-llm-inference-service] llmisvc/test_llm_inference_service_config_deletion.py::test_config_deletion_unblocked_after_service_deleted [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_config_deletion.py::test_config_deletion_unblocked_after_service_deleted [e2e-llm-inference-service] llmisvc/test_llm_inference_service_config_deletion.py::test_well_known_config_deletion_prevented_by_webhook [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_config_deletion.py::test_well_known_config_deletion_prevented_by_webhook [e2e-llm-inference-service] llmisvc/test_llm_inference_service_config_deletion.py::test_well_known_config_deletion_blocked_by_implicit_reference [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_config_deletion.py::test_well_known_config_deletion_blocked_by_implicit_reference [e2e-llm-inference-service] llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_v1alpha1_to_v1alpha2_conversion [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_v1alpha1_to_v1alpha2_conversion [e2e-llm-inference-service] llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_v1alpha2_to_v1alpha1_conversion [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_v1alpha2_to_v1alpha1_conversion [e2e-llm-inference-service] llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_criticality_preservation_via_annotations [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_criticality_preservation_via_annotations [e2e-llm-inference-service] llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_lora_criticality_preservation [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_lora_criticality_preservation [e2e-llm-inference-service] llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_round_trip_conversion_preserves_fields [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_conversion.py::TestLLMInferenceServiceConversion::test_round_trip_conversion_preserves_fields [e2e-llm-inference-service] llmisvc/test_llm_inference_service_stop.py::test_llm_stop_feature[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service_stop.py::test_llm_stop_feature[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_lora_adapters.py::test_llm_with_lora_adapters[cluster_cpu-single-lora-adapter-hf] [e2e-llm-inference-service] [gw0] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_hpa_lws[cluster_cpu-cluster_multi_node-router-managed-workload-llmd-simulator-lws-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_keda_lws[cluster_cpu-cluster_multi_node-router-managed-workload-llmd-simulator-lws-prometheus-scrape-scaling-keda] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_lora_adapters.py::test_llm_with_lora_adapters[cluster_cpu-single-lora-adapter-hf] [e2e-llm-inference-service] llmisvc/test_llm_lora_adapters.py::test_llm_with_lora_adapters[cluster_cpu-multiple-lora-adapters] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_lora_adapters.py::test_llm_with_lora_adapters[cluster_cpu-multiple-lora-adapters] [e2e-llm-inference-service] llmisvc/test_llm_tls.py::test_llm_tls_resources[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_tls.py::test_llm_tls_resources[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_prestop_hook.py::test_prestop_hook[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_prestop_hook.py::test_prestop_hook[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_rolling_upgrade.py::test_rolling_upgrade_coordination[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_rolling_upgrade.py::test_rolling_upgrade_coordination[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_storage_version_migration.py::TestStorageVersionMigration::test_storage_version_migration_after_simulated_upgrade [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_storage_version_migration.py::TestStorageVersionMigration::test_storage_version_migration_after_simulated_upgrade [e2e-llm-inference-service] llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_leave_group [e2e-llm-inference-service] [gw0] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_keda_lws[cluster_cpu-cluster_multi_node-router-managed-workload-llmd-simulator-lws-prometheus-scrape-scaling-keda] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_cleanup_hpa[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_leave_group [e2e-llm-inference-service] llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_three_member_group [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_three_member_group [e2e-llm-inference-service] llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_late_join [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_late_join [e2e-llm-inference-service] llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_delete_at_nonzero_weight [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_delete_at_nonzero_weight [e2e-llm-inference-service] llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_rollback [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_rollback [e2e-llm-inference-service] llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_force_stop_route_owner [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_canary_lifecycle.py::TestCanaryLifecycle::test_force_stop_route_owner [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-gateway-ref-router-with-managed-route-model-fb-opt-125m-workload-llmd-simulator] 2026-07-30 18:39:49.408 6427 kserve.trace Checking Gateway router-gateway-1 in namespace e2e-test-llm-inference-service-6f0aa991 [e2e-llm-inference-service] 2026-07-30 18:39:49.408 6427 kserve.trace INFO [gw_api.py:create_or_update_gateway():34] Checking Gateway router-gateway-1 in namespace e2e-test-llm-inference-service-6f0aa991 [e2e-llm-inference-service] 2026-07-30 18:39:49.435 6427 kserve.trace Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 18:39:49.435 6427 kserve.trace INFO [gw_api.py:create_or_update_gateway():62] Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 18:39:49.444 6427 kserve.trace ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 18:39:49.444 6427 kserve.trace INFO [gw_api.py:create_or_update_gateway():70] ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] [e2e-llm-inference-service] [gw0] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_cleanup_hpa[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-gateway-ref-router-with-managed-route-model-fb-opt-125m-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-custom-route-timeout-scheduler-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] PASSED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-custom-route-timeout-scheduler-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-refs-scheduler-managed-workload-single-cpu-model-fb-opt-125m] 2026-07-30 18:48:57.581 6427 kserve.trace Checking Gateway router-gateway-1 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] 2026-07-30 18:48:57.581 6427 kserve.trace INFO [gw_api.py:create_or_update_gateway():34] Checking Gateway router-gateway-1 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] 2026-07-30 18:48:57.612 6427 kserve.trace Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 18:48:57.612 6427 kserve.trace INFO [gw_api.py:create_or_update_gateway():62] Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 18:48:57.618 6427 kserve.trace ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 18:48:57.618 6427 kserve.trace INFO [gw_api.py:create_or_update_gateway():70] ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] 2026-07-30 18:48:57.619 6427 kserve.trace Checking HttpRoute router-route-1 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] 2026-07-30 18:48:57.619 6427 kserve.trace INFO [gw_api.py:create_or_update_route():121] Checking HttpRoute router-route-1 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] 2026-07-30 18:48:57.623 6427 kserve.trace Resource not found, creating HttpRoute router-route-1 [e2e-llm-inference-service] 2026-07-30 18:48:57.623 6427 kserve.trace INFO [gw_api.py:create_or_update_route():149] Resource not found, creating HttpRoute router-route-1 [e2e-llm-inference-service] 2026-07-30 18:48:57.634 6427 kserve.trace ✓ Successfully created HttpRoute router-route-1 [e2e-llm-inference-service] 2026-07-30 18:48:57.634 6427 kserve.trace INFO [gw_api.py:create_or_update_route():157] ✓ Successfully created HttpRoute router-route-1 [e2e-llm-inference-service] 2026-07-30 18:48:57.634 6427 kserve.trace Checking HttpRoute router-route-2 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] 2026-07-30 18:48:57.634 6427 kserve.trace INFO [gw_api.py:create_or_update_route():121] Checking HttpRoute router-route-2 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] 2026-07-30 18:48:57.638 6427 kserve.trace Resource not found, creating HttpRoute router-route-2 [e2e-llm-inference-service] 2026-07-30 18:48:57.638 6427 kserve.trace INFO [gw_api.py:create_or_update_route():149] Resource not found, creating HttpRoute router-route-2 [e2e-llm-inference-service] 2026-07-30 18:48:57.648 6427 kserve.trace ✓ Successfully created HttpRoute router-route-2 [e2e-llm-inference-service] 2026-07-30 18:48:57.648 6427 kserve.trace INFO [gw_api.py:create_or_update_route():157] ✓ Successfully created HttpRoute router-route-2 [e2e-llm-inference-service] [e2e-llm-inference-service] [gw1] FAILED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-refs-scheduler-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] ERROR llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-custom-route-timeout-pd-scheduler-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] ERROR llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-custom-route-timeout-pd-scheduler-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-refs-pd-scheduler-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [gw1] ERROR llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-refs-pd-scheduler-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] [e2e-llm-inference-service] ==================================== ERRORS ==================================== [e2e-llm-inference-service] _ ERROR at setup of test_llm_inference_service[router-managed-workload-pd-cpu-model-fb-opt-125m] _ [e2e-llm-inference-service] [gw1] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def _new_conn(self) -> socket.socket: [e2e-llm-inference-service] """Establish a socket connection and set nodelay settings on it. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: New socket connection. [e2e-llm-inference-service] """ [e2e-llm-inference-service] try: [e2e-llm-inference-service] > sock = connection.create_connection( [e2e-llm-inference-service] (self._dns_host, self.port), [e2e-llm-inference-service] self.timeout, [e2e-llm-inference-service] source_address=self.source_address, [e2e-llm-inference-service] socket_options=self.socket_options, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:204: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] address = ('a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', 6443) [e2e-llm-inference-service] timeout = None, source_address = None, socket_options = [(6, 1, 1)] [e2e-llm-inference-service] [e2e-llm-inference-service] def create_connection( [e2e-llm-inference-service] address: tuple[str, int], [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] source_address: tuple[str, int] | None = None, [e2e-llm-inference-service] socket_options: _TYPE_SOCKET_OPTIONS | None = None, [e2e-llm-inference-service] ) -> socket.socket: [e2e-llm-inference-service] """Connect to *address* and return the socket object. [e2e-llm-inference-service] [e2e-llm-inference-service] Convenience function. Connect to *address* (a 2-tuple ``(host, [e2e-llm-inference-service] port)``) and return the socket object. Passing the optional [e2e-llm-inference-service] *timeout* parameter will set the timeout on the socket instance [e2e-llm-inference-service] before attempting to connect. If no *timeout* is supplied, the [e2e-llm-inference-service] global default timeout setting returned by :func:`socket.getdefaulttimeout` [e2e-llm-inference-service] is used. If *source_address* is set it must be a tuple of (host, port) [e2e-llm-inference-service] for the socket to bind as a source address before making the connection. [e2e-llm-inference-service] An host of '' or port 0 tells the OS to use the default. [e2e-llm-inference-service] """ [e2e-llm-inference-service] [e2e-llm-inference-service] host, port = address [e2e-llm-inference-service] if host.startswith("["): [e2e-llm-inference-service] host = host.strip("[]") [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Using the value from allowed_gai_family() in the context of getaddrinfo lets [e2e-llm-inference-service] # us select whether to work with IPv4 DNS records, IPv6 records, or both. [e2e-llm-inference-service] # The original create_connection function always returns all records. [e2e-llm-inference-service] family = allowed_gai_family() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] host.encode("idna") [e2e-llm-inference-service] except UnicodeError: [e2e-llm-inference-service] raise LocationParseError(f"'{host}', label empty or too long") from None [e2e-llm-inference-service] [e2e-llm-inference-service] > for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/util/connection.py:60: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] host = 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' [e2e-llm-inference-service] port = 6443, family = [e2e-llm-inference-service] type = , proto = 0, flags = 0 [e2e-llm-inference-service] [e2e-llm-inference-service] def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): [e2e-llm-inference-service] """Resolve host and port into list of address info entries. [e2e-llm-inference-service] [e2e-llm-inference-service] Translate the host/port argument into a sequence of 5-tuples that contain [e2e-llm-inference-service] all the necessary arguments for creating a socket connected to that service. [e2e-llm-inference-service] host is a domain name, a string representation of an IPv4/v6 address or [e2e-llm-inference-service] None. port is a string service name such as 'http', a numeric port number or [e2e-llm-inference-service] None. By passing None as the value of host and port, you can pass NULL to [e2e-llm-inference-service] the underlying C API. [e2e-llm-inference-service] [e2e-llm-inference-service] The family, type and proto arguments can be optionally specified in order to [e2e-llm-inference-service] narrow the list of addresses returned. Passing zero as a value for each of [e2e-llm-inference-service] these arguments selects the full range of results. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # We override this function since we want to translate the numeric family [e2e-llm-inference-service] # and socket type values to enum constants. [e2e-llm-inference-service] addrlist = [] [e2e-llm-inference-service] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): [e2e-llm-inference-service] E socket.gaierror: [Errno -2] Name or service not known [e2e-llm-inference-service] [e2e-llm-inference-service] /usr/lib64/python3.11/socket.py:974: gaierror [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False, err = None [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] > response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:788: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] timeout = Timeout(connect=None, read=None, total=None), chunked = False [e2e-llm-inference-service] response_conn = None, preload_content = True, decode_content = True [e2e-llm-inference-service] enforce_content_length = True [e2e-llm-inference-service] [e2e-llm-inference-service] def _make_request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] conn: BaseHTTPConnection, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | None = None, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] response_conn: BaseHTTPConnection | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] enforce_content_length: bool = True, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Perform a request on a given urllib connection object taken from our [e2e-llm-inference-service] pool. [e2e-llm-inference-service] [e2e-llm-inference-service] :param conn: [e2e-llm-inference-service] a connection from one of our connection pools [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] Pass ``None`` to retry until you receive a response. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response_conn: [e2e-llm-inference-service] Set this to ``None`` if you will handle releasing the connection or [e2e-llm-inference-service] set the connection to have the response release it. [e2e-llm-inference-service] [e2e-llm-inference-service] :param preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded during construction. [e2e-llm-inference-service] [e2e-llm-inference-service] :param decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param enforce_content_length: [e2e-llm-inference-service] Enforce content length checking. Body returned by server must match [e2e-llm-inference-service] value of Content-Length header, if present. Otherwise, raise error. [e2e-llm-inference-service] """ [e2e-llm-inference-service] self.num_requests += 1 [e2e-llm-inference-service] [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] timeout_obj.start_connect() [e2e-llm-inference-service] conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Trigger any extra validation we need to do. [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._validate_conn(conn) [e2e-llm-inference-service] except (SocketTimeout, BaseSSLError) as e: [e2e-llm-inference-service] self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # _validate_conn() starts the connection to an HTTPS proxy [e2e-llm-inference-service] # so we need to wrap errors with 'ProxyError' here too. [e2e-llm-inference-service] except ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] # If the connection didn't successfully connect to it's proxy [e2e-llm-inference-service] # then there [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, (OSError, NewConnectionError, TimeoutError, SSLError) [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] > raise new_e [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:488: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] timeout = Timeout(connect=None, read=None, total=None), chunked = False [e2e-llm-inference-service] response_conn = None, preload_content = True, decode_content = True [e2e-llm-inference-service] enforce_content_length = True [e2e-llm-inference-service] [e2e-llm-inference-service] def _make_request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] conn: BaseHTTPConnection, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | None = None, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] response_conn: BaseHTTPConnection | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] enforce_content_length: bool = True, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Perform a request on a given urllib connection object taken from our [e2e-llm-inference-service] pool. [e2e-llm-inference-service] [e2e-llm-inference-service] :param conn: [e2e-llm-inference-service] a connection from one of our connection pools [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] Pass ``None`` to retry until you receive a response. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response_conn: [e2e-llm-inference-service] Set this to ``None`` if you will handle releasing the connection or [e2e-llm-inference-service] set the connection to have the response release it. [e2e-llm-inference-service] [e2e-llm-inference-service] :param preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded during construction. [e2e-llm-inference-service] [e2e-llm-inference-service] :param decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param enforce_content_length: [e2e-llm-inference-service] Enforce content length checking. Body returned by server must match [e2e-llm-inference-service] value of Content-Length header, if present. Otherwise, raise error. [e2e-llm-inference-service] """ [e2e-llm-inference-service] self.num_requests += 1 [e2e-llm-inference-service] [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] timeout_obj.start_connect() [e2e-llm-inference-service] conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Trigger any extra validation we need to do. [e2e-llm-inference-service] try: [e2e-llm-inference-service] > self._validate_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:464: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] [e2e-llm-inference-service] def _validate_conn(self, conn: BaseHTTPConnection) -> None: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Called right before a request is made, after the socket is created. [e2e-llm-inference-service] """ [e2e-llm-inference-service] super()._validate_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] # Force connect early to allow us to validate the connection. [e2e-llm-inference-service] if conn.is_closed: [e2e-llm-inference-service] > conn.connect() [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:1106: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def connect(self) -> None: [e2e-llm-inference-service] # Today we don't need to be doing this step before the /actual/ socket [e2e-llm-inference-service] # connection, however in the future we'll need to decide whether to [e2e-llm-inference-service] # create a new socket or re-use an existing "shared" socket as a part [e2e-llm-inference-service] # of the HTTP/2 handshake dance. [e2e-llm-inference-service] if self._tunnel_host is not None and self._tunnel_port is not None: [e2e-llm-inference-service] probe_http2_host = self._tunnel_host [e2e-llm-inference-service] probe_http2_port = self._tunnel_port [e2e-llm-inference-service] else: [e2e-llm-inference-service] probe_http2_host = self.host [e2e-llm-inference-service] probe_http2_port = self.port [e2e-llm-inference-service] [e2e-llm-inference-service] # Check if the target origin supports HTTP/2. [e2e-llm-inference-service] # If the value comes back as 'None' it means that the current thread [e2e-llm-inference-service] # is probing for HTTP/2 support. Otherwise, we're waiting for another [e2e-llm-inference-service] # probe to complete, or we get a value right away. [e2e-llm-inference-service] target_supports_http2: bool | None [e2e-llm-inference-service] if "h2" in ssl_.ALPN_PROTOCOLS: [e2e-llm-inference-service] target_supports_http2 = http2_probe.acquire_and_get( [e2e-llm-inference-service] host=probe_http2_host, port=probe_http2_port [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] # If HTTP/2 isn't going to be offered it doesn't matter if [e2e-llm-inference-service] # the target supports HTTP/2. Don't want to make a probe. [e2e-llm-inference-service] target_supports_http2 = False [e2e-llm-inference-service] [e2e-llm-inference-service] if self._connect_callback is not None: [e2e-llm-inference-service] self._connect_callback( [e2e-llm-inference-service] "before connect", [e2e-llm-inference-service] thread_id=threading.get_ident(), [e2e-llm-inference-service] target_supports_http2=target_supports_http2, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] sock: socket.socket | ssl.SSLSocket [e2e-llm-inference-service] > self.sock = sock = self._new_conn() [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:759: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def _new_conn(self) -> socket.socket: [e2e-llm-inference-service] """Establish a socket connection and set nodelay settings on it. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: New socket connection. [e2e-llm-inference-service] """ [e2e-llm-inference-service] try: [e2e-llm-inference-service] sock = connection.create_connection( [e2e-llm-inference-service] (self._dns_host, self.port), [e2e-llm-inference-service] self.timeout, [e2e-llm-inference-service] source_address=self.source_address, [e2e-llm-inference-service] socket_options=self.socket_options, [e2e-llm-inference-service] ) [e2e-llm-inference-service] except socket.gaierror as e: [e2e-llm-inference-service] > raise NameResolutionError(self.host, self, e) from e [e2e-llm-inference-service] E urllib3.exceptions.NameResolutionError: HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:211: NameResolutionError [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] request = > [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.fixture(autouse=True) [e2e-llm-inference-service] def ensure_gateway_proxy_memory(request): [e2e-llm-inference-service] """After test setup creates gateways, patch them for proxy memory.""" [e2e-llm-inference-service] if not GATEWAY_PROXY_MEMORY: [e2e-llm-inference-service] return [e2e-llm-inference-service] [e2e-llm-inference-service] # Let test_case (llmisvc) create gateways first [e2e-llm-inference-service] [e2e-llm-inference-service] if "test_case" in request.fixturenames: [e2e-llm-inference-service] > request.getfixturevalue("test_case") [e2e-llm-inference-service] [e2e-llm-inference-service] common/gateway_proxy_istio.py:183: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] request = > [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.fixture(scope="function") [e2e-llm-inference-service] def test_namespace(request): [e2e-llm-inference-service] """Create a per-test namespace with secrets, clean up after the test.""" [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] ns = generate_namespace_name(request.node.name) [e2e-llm-inference-service] > create_test_namespace(ns) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/conftest.py:159: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] namespace = 'e2e-test-llm-inference-service-62876e81' [e2e-llm-inference-service] [e2e-llm-inference-service] def create_test_namespace(namespace: str) -> None: [e2e-llm-inference-service] """Create a labeled namespace for a single test.""" [e2e-llm-inference-service] core_v1 = client.CoreV1Api() [e2e-llm-inference-service] ns = client.V1Namespace( [e2e-llm-inference-service] metadata=client.V1ObjectMeta( [e2e-llm-inference-service] name=namespace, [e2e-llm-inference-service] labels={ [e2e-llm-inference-service] TEST_NAMESPACE_LABEL_KEY: TEST_NAMESPACE_LABEL_VALUE, [e2e-llm-inference-service] }, [e2e-llm-inference-service] ) [e2e-llm-inference-service] ) [e2e-llm-inference-service] try: [e2e-llm-inference-service] > core_v1.create_namespace(ns) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/namespace.py:81: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] kwargs = {'_return_http_data_only': True} [e2e-llm-inference-service] [e2e-llm-inference-service] def create_namespace(self, body, **kwargs): # noqa: E501 [e2e-llm-inference-service] """create_namespace # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] create a Namespace # noqa: E501 [e2e-llm-inference-service] This method makes a synchronous HTTP request by default. To make an [e2e-llm-inference-service] asynchronous HTTP request, please pass async_req=True [e2e-llm-inference-service] >>> thread = api.create_namespace(body, async_req=True) [e2e-llm-inference-service] >>> result = thread.get() [e2e-llm-inference-service] [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param V1Namespace body: (required) [e2e-llm-inference-service] :param str pretty: If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget). [e2e-llm-inference-service] :param str dry_run: When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed [e2e-llm-inference-service] :param str field_manager: fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. [e2e-llm-inference-service] :param str field_validation: fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: V1Namespace [e2e-llm-inference-service] If the method is called asynchronously, [e2e-llm-inference-service] returns the request thread. [e2e-llm-inference-service] """ [e2e-llm-inference-service] kwargs['_return_http_data_only'] = True [e2e-llm-inference-service] > return self.create_namespace_with_http_info(body, **kwargs) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api/core_v1_api.py:6363: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] kwargs = {'_return_http_data_only': True} [e2e-llm-inference-service] local_var_params = {'_return_http_data_only': True, 'all_params': ['body', 'pretty', 'dry_run', 'field_manager', 'field_validation', 'asy...urce_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None}, ...} [e2e-llm-inference-service] all_params = ['body', 'pretty', 'dry_run', 'field_manager', 'field_validation', 'async_req', ...] [e2e-llm-inference-service] key = '_return_http_data_only', val = True, collection_formats = {} [e2e-llm-inference-service] path_params = {}, query_params = [] [e2e-llm-inference-service] [e2e-llm-inference-service] def create_namespace_with_http_info(self, body, **kwargs): # noqa: E501 [e2e-llm-inference-service] """create_namespace # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] create a Namespace # noqa: E501 [e2e-llm-inference-service] This method makes a synchronous HTTP request by default. To make an [e2e-llm-inference-service] asynchronous HTTP request, please pass async_req=True [e2e-llm-inference-service] >>> thread = api.create_namespace_with_http_info(body, async_req=True) [e2e-llm-inference-service] >>> result = thread.get() [e2e-llm-inference-service] [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param V1Namespace body: (required) [e2e-llm-inference-service] :param str pretty: If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget). [e2e-llm-inference-service] :param str dry_run: When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed [e2e-llm-inference-service] :param str field_manager: fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. [e2e-llm-inference-service] :param str field_validation: fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. [e2e-llm-inference-service] :param _return_http_data_only: response data without head status code [e2e-llm-inference-service] and headers [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: tuple(V1Namespace, status_code(int), headers(HTTPHeaderDict)) [e2e-llm-inference-service] If the method is called asynchronously, [e2e-llm-inference-service] returns the request thread. [e2e-llm-inference-service] """ [e2e-llm-inference-service] [e2e-llm-inference-service] local_var_params = locals() [e2e-llm-inference-service] [e2e-llm-inference-service] all_params = [ [e2e-llm-inference-service] 'body', [e2e-llm-inference-service] 'pretty', [e2e-llm-inference-service] 'dry_run', [e2e-llm-inference-service] 'field_manager', [e2e-llm-inference-service] 'field_validation' [e2e-llm-inference-service] ] [e2e-llm-inference-service] all_params.extend( [e2e-llm-inference-service] [ [e2e-llm-inference-service] 'async_req', [e2e-llm-inference-service] '_return_http_data_only', [e2e-llm-inference-service] '_preload_content', [e2e-llm-inference-service] '_request_timeout' [e2e-llm-inference-service] ] [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] for key, val in six.iteritems(local_var_params['kwargs']): [e2e-llm-inference-service] if key not in all_params: [e2e-llm-inference-service] raise ApiTypeError( [e2e-llm-inference-service] "Got an unexpected keyword argument '%s'" [e2e-llm-inference-service] " to method create_namespace" % key [e2e-llm-inference-service] ) [e2e-llm-inference-service] local_var_params[key] = val [e2e-llm-inference-service] del local_var_params['kwargs'] [e2e-llm-inference-service] # verify the required parameter 'body' is set [e2e-llm-inference-service] if self.api_client.client_side_validation and ('body' not in local_var_params or # noqa: E501 [e2e-llm-inference-service] local_var_params['body'] is None): # noqa: E501 [e2e-llm-inference-service] raise ApiValueError("Missing the required parameter `body` when calling `create_namespace`") # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] collection_formats = {} [e2e-llm-inference-service] [e2e-llm-inference-service] path_params = {} [e2e-llm-inference-service] [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] if 'pretty' in local_var_params and local_var_params['pretty'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('pretty', local_var_params['pretty'])) # noqa: E501 [e2e-llm-inference-service] if 'dry_run' in local_var_params and local_var_params['dry_run'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('dryRun', local_var_params['dry_run'])) # noqa: E501 [e2e-llm-inference-service] if 'field_manager' in local_var_params and local_var_params['field_manager'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('fieldManager', local_var_params['field_manager'])) # noqa: E501 [e2e-llm-inference-service] if 'field_validation' in local_var_params and local_var_params['field_validation'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('fieldValidation', local_var_params['field_validation'])) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] header_params = {} [e2e-llm-inference-service] [e2e-llm-inference-service] form_params = [] [e2e-llm-inference-service] local_var_files = {} [e2e-llm-inference-service] [e2e-llm-inference-service] body_params = None [e2e-llm-inference-service] if 'body' in local_var_params: [e2e-llm-inference-service] body_params = local_var_params['body'] [e2e-llm-inference-service] # HTTP header `Accept` [e2e-llm-inference-service] header_params['Accept'] = self.api_client.select_header_accept( [e2e-llm-inference-service] ['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/cbor']) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] # Authentication setting [e2e-llm-inference-service] auth_settings = ['BearerToken'] # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] > return self.api_client.call_api( [e2e-llm-inference-service] '/api/v1/namespaces', 'POST', [e2e-llm-inference-service] path_params, [e2e-llm-inference-service] query_params, [e2e-llm-inference-service] header_params, [e2e-llm-inference-service] body=body_params, [e2e-llm-inference-service] post_params=form_params, [e2e-llm-inference-service] files=local_var_files, [e2e-llm-inference-service] response_type='V1Namespace', # noqa: E501 [e2e-llm-inference-service] auth_settings=auth_settings, [e2e-llm-inference-service] async_req=local_var_params.get('async_req'), [e2e-llm-inference-service] _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 [e2e-llm-inference-service] _preload_content=local_var_params.get('_preload_content', True), [e2e-llm-inference-service] _request_timeout=local_var_params.get('_request_timeout'), [e2e-llm-inference-service] collection_formats=collection_formats) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api/core_v1_api.py:6454: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] resource_path = '/api/v1/namespaces', method = 'POST', path_params = {} [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] header_params = {'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] post_params = [], files = {}, response_type = 'V1Namespace' [e2e-llm-inference-service] auth_settings = ['BearerToken'], async_req = None, _return_http_data_only = True [e2e-llm-inference-service] collection_formats = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] _host = None [e2e-llm-inference-service] [e2e-llm-inference-service] def call_api(self, resource_path, method, [e2e-llm-inference-service] path_params=None, query_params=None, header_params=None, [e2e-llm-inference-service] body=None, post_params=None, files=None, [e2e-llm-inference-service] response_type=None, auth_settings=None, async_req=None, [e2e-llm-inference-service] _return_http_data_only=None, collection_formats=None, [e2e-llm-inference-service] _preload_content=True, _request_timeout=None, _host=None): [e2e-llm-inference-service] """Makes the HTTP request (synchronous) and returns deserialized data. [e2e-llm-inference-service] [e2e-llm-inference-service] To make an async_req request, set the async_req parameter. [e2e-llm-inference-service] [e2e-llm-inference-service] :param resource_path: Path to method endpoint. [e2e-llm-inference-service] :param method: Method to call. [e2e-llm-inference-service] :param path_params: Path parameters in the url. [e2e-llm-inference-service] :param query_params: Query parameters in the url. [e2e-llm-inference-service] :param header_params: Header parameters to be [e2e-llm-inference-service] placed in the request header. [e2e-llm-inference-service] :param body: Request body. [e2e-llm-inference-service] :param post_params dict: Request post form parameters, [e2e-llm-inference-service] for `application/x-www-form-urlencoded`, `multipart/form-data`. [e2e-llm-inference-service] :param auth_settings list: Auth Settings names for the request. [e2e-llm-inference-service] :param response: Response data type. [e2e-llm-inference-service] :param files dict: key -> filename, value -> filepath, [e2e-llm-inference-service] for `multipart/form-data`. [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param _return_http_data_only: response data without head status code [e2e-llm-inference-service] and headers [e2e-llm-inference-service] :param collection_formats: dict of collection formats for path, query, [e2e-llm-inference-service] header, and post parameters. [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: [e2e-llm-inference-service] If async_req parameter is True, [e2e-llm-inference-service] the request will be called asynchronously. [e2e-llm-inference-service] The method will return the request thread. [e2e-llm-inference-service] If parameter async_req is False or missing, [e2e-llm-inference-service] then the method will return the response directly. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if not async_req: [e2e-llm-inference-service] > return self.__call_api(resource_path, method, [e2e-llm-inference-service] path_params, query_params, header_params, [e2e-llm-inference-service] body, post_params, files, [e2e-llm-inference-service] response_type, auth_settings, [e2e-llm-inference-service] _return_http_data_only, collection_formats, [e2e-llm-inference-service] _preload_content, _request_timeout, _host) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:348: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] resource_path = '/api/v1/namespaces', method = 'POST', path_params = {} [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] header_params = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-62876e81'}} [e2e-llm-inference-service] post_params = [], files = {}, response_type = 'V1Namespace' [e2e-llm-inference-service] auth_settings = ['BearerToken'], _return_http_data_only = True [e2e-llm-inference-service] collection_formats = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] _host = None [e2e-llm-inference-service] [e2e-llm-inference-service] def __call_api( [e2e-llm-inference-service] self, resource_path, method, path_params=None, [e2e-llm-inference-service] query_params=None, header_params=None, body=None, post_params=None, [e2e-llm-inference-service] files=None, response_type=None, auth_settings=None, [e2e-llm-inference-service] _return_http_data_only=None, collection_formats=None, [e2e-llm-inference-service] _preload_content=True, _request_timeout=None, _host=None): [e2e-llm-inference-service] [e2e-llm-inference-service] config = self.configuration [e2e-llm-inference-service] [e2e-llm-inference-service] # header parameters [e2e-llm-inference-service] header_params = header_params or {} [e2e-llm-inference-service] header_params.update(self.default_headers) [e2e-llm-inference-service] if self.cookie: [e2e-llm-inference-service] header_params['Cookie'] = self.cookie [e2e-llm-inference-service] if header_params: [e2e-llm-inference-service] header_params = self.sanitize_for_serialization(header_params) [e2e-llm-inference-service] header_params = dict(self.parameters_to_tuples(header_params, [e2e-llm-inference-service] collection_formats)) [e2e-llm-inference-service] [e2e-llm-inference-service] # path parameters [e2e-llm-inference-service] if path_params: [e2e-llm-inference-service] path_params = self.sanitize_for_serialization(path_params) [e2e-llm-inference-service] path_params = self.parameters_to_tuples(path_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] for k, v in path_params: [e2e-llm-inference-service] # specified safe chars, encode everything [e2e-llm-inference-service] resource_path = resource_path.replace( [e2e-llm-inference-service] '{%s}' % k, [e2e-llm-inference-service] quote(str(v), safe=config.safe_chars_for_path_param) [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # query parameters [e2e-llm-inference-service] if query_params: [e2e-llm-inference-service] query_params = self.sanitize_for_serialization(query_params) [e2e-llm-inference-service] query_params = self.parameters_to_tuples(query_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] [e2e-llm-inference-service] # post parameters [e2e-llm-inference-service] if post_params or files: [e2e-llm-inference-service] post_params = post_params if post_params else [] [e2e-llm-inference-service] post_params = self.sanitize_for_serialization(post_params) [e2e-llm-inference-service] post_params = self.parameters_to_tuples(post_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] post_params.extend(self.files_parameters(files)) [e2e-llm-inference-service] [e2e-llm-inference-service] # auth setting [e2e-llm-inference-service] self.update_params_for_auth(header_params, query_params, auth_settings) [e2e-llm-inference-service] [e2e-llm-inference-service] # body [e2e-llm-inference-service] if body: [e2e-llm-inference-service] body = self.sanitize_for_serialization(body) [e2e-llm-inference-service] [e2e-llm-inference-service] # request url [e2e-llm-inference-service] if _host is None: [e2e-llm-inference-service] url = self.configuration.host + resource_path [e2e-llm-inference-service] else: [e2e-llm-inference-service] # use server/host defined in path or operation instead [e2e-llm-inference-service] url = _host + resource_path [e2e-llm-inference-service] [e2e-llm-inference-service] # perform request and return response [e2e-llm-inference-service] > response_data = self.request( [e2e-llm-inference-service] method, url, query_params=query_params, headers=header_params, [e2e-llm-inference-service] post_params=post_params, body=body, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:180: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] post_params = [] [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-62876e81'}} [e2e-llm-inference-service] _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def request(self, method, url, query_params=None, headers=None, [e2e-llm-inference-service] post_params=None, body=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] """Makes the HTTP request using RESTClient.""" [e2e-llm-inference-service] if method == "GET": [e2e-llm-inference-service] return self.rest_client.GET(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] elif method == "HEAD": [e2e-llm-inference-service] return self.rest_client.HEAD(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] elif method == "OPTIONS": [e2e-llm-inference-service] return self.rest_client.OPTIONS(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout) [e2e-llm-inference-service] elif method == "POST": [e2e-llm-inference-service] > return self.rest_client.POST(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] post_params=post_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:391: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] query_params = [], post_params = [] [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-62876e81'}} [e2e-llm-inference-service] _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def POST(self, url, headers=None, query_params=None, post_params=None, [e2e-llm-inference-service] body=None, _preload_content=True, _request_timeout=None): [e2e-llm-inference-service] > return self.request("POST", url, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] post_params=post_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] body=body) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/rest.py:279: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-62876e81'}} [e2e-llm-inference-service] post_params = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def request(self, method, url, query_params=None, headers=None, [e2e-llm-inference-service] body=None, post_params=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] """Perform requests. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: http request method [e2e-llm-inference-service] :param url: http request url [e2e-llm-inference-service] :param query_params: query parameters in the url [e2e-llm-inference-service] :param headers: http request headers [e2e-llm-inference-service] :param body: request json body, for `application/json` [e2e-llm-inference-service] :param post_params: request post parameters, [e2e-llm-inference-service] `application/x-www-form-urlencoded` [e2e-llm-inference-service] and `multipart/form-data` [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] """ [e2e-llm-inference-service] method = method.upper() [e2e-llm-inference-service] assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', [e2e-llm-inference-service] 'PATCH', 'OPTIONS'] [e2e-llm-inference-service] [e2e-llm-inference-service] if post_params and body: [e2e-llm-inference-service] raise ApiValueError( [e2e-llm-inference-service] "body parameter cannot be used with post_params parameter." [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] post_params = post_params or {} [e2e-llm-inference-service] headers = headers or {} [e2e-llm-inference-service] [e2e-llm-inference-service] timeout = None [e2e-llm-inference-service] if _request_timeout: [e2e-llm-inference-service] if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): # noqa: E501,F821 [e2e-llm-inference-service] timeout = urllib3.Timeout(total=_request_timeout) [e2e-llm-inference-service] elif (isinstance(_request_timeout, tuple) and [e2e-llm-inference-service] len(_request_timeout) == 2): [e2e-llm-inference-service] timeout = urllib3.Timeout( [e2e-llm-inference-service] connect=_request_timeout[0], read=_request_timeout[1]) [e2e-llm-inference-service] [e2e-llm-inference-service] if 'Content-Type' not in headers: [e2e-llm-inference-service] headers['Content-Type'] = 'application/json' [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` [e2e-llm-inference-service] if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: [e2e-llm-inference-service] if query_params: [e2e-llm-inference-service] url += '?' + urlencode(query_params) [e2e-llm-inference-service] if (re.search('json', headers['Content-Type'], re.IGNORECASE) or [e2e-llm-inference-service] headers['Content-Type'] == 'application/apply-patch+yaml'): [e2e-llm-inference-service] if headers['Content-Type'] == 'application/json-patch+json': [e2e-llm-inference-service] if not isinstance(body, list): [e2e-llm-inference-service] headers['Content-Type'] = \ [e2e-llm-inference-service] 'application/strategic-merge-patch+json' [e2e-llm-inference-service] request_body = None [e2e-llm-inference-service] if body is not None: [e2e-llm-inference-service] request_body = json.dumps(body) [e2e-llm-inference-service] > r = self.pool_manager.request( [e2e-llm-inference-service] method, url, [e2e-llm-inference-service] body=request_body, [e2e-llm-inference-service] preload_content=_preload_content, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/rest.py:172: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}' [e2e-llm-inference-service] fields = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] json = None [e2e-llm-inference-service] urlopen_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}', 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] [e2e-llm-inference-service] def request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] fields: _TYPE_FIELDS | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] json: typing.Any | None = None, [e2e-llm-inference-service] **urlopen_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Make a request using :meth:`urlopen` with the appropriate encoding of [e2e-llm-inference-service] ``fields`` based on the ``method`` used. [e2e-llm-inference-service] [e2e-llm-inference-service] This is a convenience method that requires the least amount of manual [e2e-llm-inference-service] effort. It can be used in most situations, while still having the [e2e-llm-inference-service] option to drop down to more specific methods when necessary, such as [e2e-llm-inference-service] :meth:`request_encode_url`, :meth:`request_encode_body`, [e2e-llm-inference-service] or even the lowest level :meth:`urlopen`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param fields: [e2e-llm-inference-service] Data to encode and send in the URL or request body, depending on ``method``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param json: [e2e-llm-inference-service] Data to encode and send as JSON with UTF-encoded in the request body. [e2e-llm-inference-service] The ``"Content-Type"`` header will be set to ``"application/json"`` [e2e-llm-inference-service] unless specified otherwise. [e2e-llm-inference-service] """ [e2e-llm-inference-service] method = method.upper() [e2e-llm-inference-service] [e2e-llm-inference-service] if json is not None and body is not None: [e2e-llm-inference-service] raise TypeError( [e2e-llm-inference-service] "request got values for both 'body' and 'json' parameters which are mutually exclusive" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if json is not None: [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not ("content-type" in map(str.lower, headers.keys())): [e2e-llm-inference-service] headers = HTTPHeaderDict(headers) [e2e-llm-inference-service] headers["Content-Type"] = "application/json" [e2e-llm-inference-service] [e2e-llm-inference-service] body = _json.dumps(json, separators=(",", ":"), ensure_ascii=False).encode( [e2e-llm-inference-service] "utf-8" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if body is not None: [e2e-llm-inference-service] urlopen_kw["body"] = body [e2e-llm-inference-service] [e2e-llm-inference-service] if method in self._encode_url_methods: [e2e-llm-inference-service] return self.request_encode_url( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] fields=fields, # type: ignore[arg-type] [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] **urlopen_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] > return self.request_encode_body( [e2e-llm-inference-service] method, url, fields=fields, headers=headers, **urlopen_kw [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/_request_methods.py:143: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] fields = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] encode_multipart = True, multipart_boundary = None [e2e-llm-inference-service] urlopen_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}', 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] extra_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}'...nt': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}), 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] [e2e-llm-inference-service] def request_encode_body( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] fields: _TYPE_FIELDS | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] encode_multipart: bool = True, [e2e-llm-inference-service] multipart_boundary: str | None = None, [e2e-llm-inference-service] **urlopen_kw: str, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Make a request using :meth:`urlopen` with the ``fields`` encoded in [e2e-llm-inference-service] the body. This is useful for request methods like POST, PUT, PATCH, etc. [e2e-llm-inference-service] [e2e-llm-inference-service] When ``encode_multipart=True`` (default), then [e2e-llm-inference-service] :func:`urllib3.encode_multipart_formdata` is used to encode [e2e-llm-inference-service] the payload with the appropriate content type. Otherwise [e2e-llm-inference-service] :func:`urllib.parse.urlencode` is used with the [e2e-llm-inference-service] 'application/x-www-form-urlencoded' content type. [e2e-llm-inference-service] [e2e-llm-inference-service] Multipart encoding must be used when posting files, and it's reasonably [e2e-llm-inference-service] safe to use it in other times too. However, it may break request [e2e-llm-inference-service] signing, such as with OAuth. [e2e-llm-inference-service] [e2e-llm-inference-service] Supports an optional ``fields`` parameter of key/value strings AND [e2e-llm-inference-service] key/filetuple. A filetuple is a (filename, data, MIME type) tuple where [e2e-llm-inference-service] the MIME type is optional. For example:: [e2e-llm-inference-service] [e2e-llm-inference-service] fields = { [e2e-llm-inference-service] 'foo': 'bar', [e2e-llm-inference-service] 'fakefile': ('foofile.txt', 'contents of foofile'), [e2e-llm-inference-service] 'realfile': ('barfile.txt', open('realfile').read()), [e2e-llm-inference-service] 'typedfile': ('bazfile.bin', open('bazfile').read(), [e2e-llm-inference-service] 'image/jpeg'), [e2e-llm-inference-service] 'nonamefile': 'contents of nonamefile field', [e2e-llm-inference-service] } [e2e-llm-inference-service] [e2e-llm-inference-service] When uploading a file, providing a filename (the first parameter of the [e2e-llm-inference-service] tuple) is optional but recommended to best mimic behavior of browsers. [e2e-llm-inference-service] [e2e-llm-inference-service] Note that if ``headers`` are supplied, the 'Content-Type' header will [e2e-llm-inference-service] be overwritten because it depends on the dynamic random boundary string [e2e-llm-inference-service] which is used to compose the body of the request. The random boundary [e2e-llm-inference-service] string can be explicitly set with the ``multipart_boundary`` parameter. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param fields: [e2e-llm-inference-service] Data to encode and send in the request body. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param encode_multipart: [e2e-llm-inference-service] If True, encode the ``fields`` using the multipart/form-data MIME [e2e-llm-inference-service] format. [e2e-llm-inference-service] [e2e-llm-inference-service] :param multipart_boundary: [e2e-llm-inference-service] If not specified, then a random boundary will be generated using [e2e-llm-inference-service] :func:`urllib3.filepost.choose_boundary`. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw: dict[str, typing.Any] = {"headers": HTTPHeaderDict(headers)} [e2e-llm-inference-service] body: bytes | str [e2e-llm-inference-service] [e2e-llm-inference-service] if fields: [e2e-llm-inference-service] if "body" in urlopen_kw: [e2e-llm-inference-service] raise TypeError( [e2e-llm-inference-service] "request got values for both 'fields' and 'body', can only specify one." [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if encode_multipart: [e2e-llm-inference-service] body, content_type = encode_multipart_formdata( [e2e-llm-inference-service] fields, boundary=multipart_boundary [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] body, content_type = ( [e2e-llm-inference-service] urlencode(fields), # type: ignore[arg-type] [e2e-llm-inference-service] "application/x-www-form-urlencoded", [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw["body"] = body [e2e-llm-inference-service] extra_kw["headers"].setdefault("Content-Type", content_type) [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw.update(urlopen_kw) [e2e-llm-inference-service] [e2e-llm-inference-service] > return self.urlopen(method, url, **extra_kw) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/_request_methods.py:278: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] redirect = True [e2e-llm-inference-service] kw = {'assert_same_host': False, 'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inf...', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}), 'preload_content': True, ...} [e2e-llm-inference-service] u = Url(scheme='https', auth=None, host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443, path='/api/v1/namespaces', query=None, fragment=None) [e2e-llm-inference-service] conn = [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, method: str, url: str, redirect: bool = True, **kw: typing.Any [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Same as :meth:`urllib3.HTTPConnectionPool.urlopen` [e2e-llm-inference-service] with custom cross-host redirect logic and only sends the request-uri [e2e-llm-inference-service] portion of the ``url``. [e2e-llm-inference-service] [e2e-llm-inference-service] The given ``url`` parameter must be absolute, such that an appropriate [e2e-llm-inference-service] :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. [e2e-llm-inference-service] """ [e2e-llm-inference-service] u = parse_url(url) [e2e-llm-inference-service] [e2e-llm-inference-service] if u.scheme is None: [e2e-llm-inference-service] warnings.warn( [e2e-llm-inference-service] "URLs without a scheme (ie 'https://') are deprecated and will raise an error " [e2e-llm-inference-service] "in urllib3 v3.0. To avoid this FutureWarning ensure all URLs " [e2e-llm-inference-service] "start with 'https://' or 'http://'. Read more in this issue: " [e2e-llm-inference-service] "https://github.com/urllib3/urllib3/issues/2920", [e2e-llm-inference-service] category=FutureWarning, [e2e-llm-inference-service] stacklevel=2, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) [e2e-llm-inference-service] [e2e-llm-inference-service] kw["assert_same_host"] = False [e2e-llm-inference-service] kw["redirect"] = False [e2e-llm-inference-service] [e2e-llm-inference-service] if "headers" not in kw: [e2e-llm-inference-service] kw["headers"] = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if self._proxy_requires_url_absolute_form(u): [e2e-llm-inference-service] response = conn.urlopen(method, url, **kw) [e2e-llm-inference-service] else: [e2e-llm-inference-service] > response = conn.urlopen(method, u.request_uri, **kw) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/poolmanager.py:457: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=2, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=1, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-62876e81"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False, err = None [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] > retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:842: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces', response = None [e2e-llm-inference-service] error = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] _pool = [e2e-llm-inference-service] _stacktrace = [e2e-llm-inference-service] [e2e-llm-inference-service] def increment( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str | None = None, [e2e-llm-inference-service] url: str | None = None, [e2e-llm-inference-service] response: BaseHTTPResponse | None = None, [e2e-llm-inference-service] error: Exception | None = None, [e2e-llm-inference-service] _pool: ConnectionPool | None = None, [e2e-llm-inference-service] _stacktrace: TracebackType | None = None, [e2e-llm-inference-service] ) -> Self: [e2e-llm-inference-service] """Return a new Retry object with incremented retry counters. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response: A response object, or None, if the server did not [e2e-llm-inference-service] return a response. [e2e-llm-inference-service] :type response: :class:`~urllib3.response.BaseHTTPResponse` [e2e-llm-inference-service] :param Exception error: An error encountered during the request, or [e2e-llm-inference-service] None if the response was received successfully. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: A new ``Retry`` object. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if self.total is False and error: [e2e-llm-inference-service] # Disabled, indicate to re-raise the error. [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] [e2e-llm-inference-service] total = self.total [e2e-llm-inference-service] if total is not None: [e2e-llm-inference-service] total -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] connect = self.connect [e2e-llm-inference-service] read = self.read [e2e-llm-inference-service] redirect = self.redirect [e2e-llm-inference-service] status_count = self.status [e2e-llm-inference-service] other = self.other [e2e-llm-inference-service] cause = "unknown" [e2e-llm-inference-service] status = None [e2e-llm-inference-service] redirect_location = None [e2e-llm-inference-service] [e2e-llm-inference-service] if error and self._is_connection_error(error): [e2e-llm-inference-service] # Connect retry? [e2e-llm-inference-service] if connect is False: [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] elif connect is not None: [e2e-llm-inference-service] connect -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif error and self._is_read_error(error): [e2e-llm-inference-service] # Read retry? [e2e-llm-inference-service] if read is False or method is None or not self._is_method_retryable(method): [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] elif read is not None: [e2e-llm-inference-service] read -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif error: [e2e-llm-inference-service] # Other retry? [e2e-llm-inference-service] if other is not None: [e2e-llm-inference-service] other -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif response and response.get_redirect_location(): [e2e-llm-inference-service] # Redirect retry? [e2e-llm-inference-service] if redirect is not None: [e2e-llm-inference-service] redirect -= 1 [e2e-llm-inference-service] cause = "too many redirects" [e2e-llm-inference-service] response_redirect_location = response.get_redirect_location() [e2e-llm-inference-service] if response_redirect_location: [e2e-llm-inference-service] redirect_location = response_redirect_location [e2e-llm-inference-service] status = response.status [e2e-llm-inference-service] [e2e-llm-inference-service] else: [e2e-llm-inference-service] # Incrementing because of a server error like a 500 in [e2e-llm-inference-service] # status_forcelist and the given method is in the allowed_methods [e2e-llm-inference-service] cause = ResponseError.GENERIC_ERROR [e2e-llm-inference-service] if response and response.status: [e2e-llm-inference-service] if status_count is not None: [e2e-llm-inference-service] status_count -= 1 [e2e-llm-inference-service] cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) [e2e-llm-inference-service] status = response.status [e2e-llm-inference-service] [e2e-llm-inference-service] history = self.history + ( [e2e-llm-inference-service] RequestHistory(method, url, error, status, redirect_location), [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] new_retry = self.new( [e2e-llm-inference-service] total=total, [e2e-llm-inference-service] connect=connect, [e2e-llm-inference-service] read=read, [e2e-llm-inference-service] redirect=redirect, [e2e-llm-inference-service] status=status_count, [e2e-llm-inference-service] other=other, [e2e-llm-inference-service] history=history, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if new_retry.is_exhausted(): [e2e-llm-inference-service] reason = error or ResponseError(cause) [e2e-llm-inference-service] > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] [e2e-llm-inference-service] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /api/v1/namespaces (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/util/retry.py:543: MaxRetryError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] _ ERROR at setup of test_llm_inference_service[router-custom-route-timeout-pd-scheduler-managed-workload-pd-cpu-model-fb-opt-125m] _ [e2e-llm-inference-service] [gw1] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def _new_conn(self) -> socket.socket: [e2e-llm-inference-service] """Establish a socket connection and set nodelay settings on it. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: New socket connection. [e2e-llm-inference-service] """ [e2e-llm-inference-service] try: [e2e-llm-inference-service] > sock = connection.create_connection( [e2e-llm-inference-service] (self._dns_host, self.port), [e2e-llm-inference-service] self.timeout, [e2e-llm-inference-service] source_address=self.source_address, [e2e-llm-inference-service] socket_options=self.socket_options, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:204: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] address = ('a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', 6443) [e2e-llm-inference-service] timeout = None, source_address = None, socket_options = [(6, 1, 1)] [e2e-llm-inference-service] [e2e-llm-inference-service] def create_connection( [e2e-llm-inference-service] address: tuple[str, int], [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] source_address: tuple[str, int] | None = None, [e2e-llm-inference-service] socket_options: _TYPE_SOCKET_OPTIONS | None = None, [e2e-llm-inference-service] ) -> socket.socket: [e2e-llm-inference-service] """Connect to *address* and return the socket object. [e2e-llm-inference-service] [e2e-llm-inference-service] Convenience function. Connect to *address* (a 2-tuple ``(host, [e2e-llm-inference-service] port)``) and return the socket object. Passing the optional [e2e-llm-inference-service] *timeout* parameter will set the timeout on the socket instance [e2e-llm-inference-service] before attempting to connect. If no *timeout* is supplied, the [e2e-llm-inference-service] global default timeout setting returned by :func:`socket.getdefaulttimeout` [e2e-llm-inference-service] is used. If *source_address* is set it must be a tuple of (host, port) [e2e-llm-inference-service] for the socket to bind as a source address before making the connection. [e2e-llm-inference-service] An host of '' or port 0 tells the OS to use the default. [e2e-llm-inference-service] """ [e2e-llm-inference-service] [e2e-llm-inference-service] host, port = address [e2e-llm-inference-service] if host.startswith("["): [e2e-llm-inference-service] host = host.strip("[]") [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Using the value from allowed_gai_family() in the context of getaddrinfo lets [e2e-llm-inference-service] # us select whether to work with IPv4 DNS records, IPv6 records, or both. [e2e-llm-inference-service] # The original create_connection function always returns all records. [e2e-llm-inference-service] family = allowed_gai_family() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] host.encode("idna") [e2e-llm-inference-service] except UnicodeError: [e2e-llm-inference-service] raise LocationParseError(f"'{host}', label empty or too long") from None [e2e-llm-inference-service] [e2e-llm-inference-service] > for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/util/connection.py:60: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] host = 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' [e2e-llm-inference-service] port = 6443, family = [e2e-llm-inference-service] type = , proto = 0, flags = 0 [e2e-llm-inference-service] [e2e-llm-inference-service] def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): [e2e-llm-inference-service] """Resolve host and port into list of address info entries. [e2e-llm-inference-service] [e2e-llm-inference-service] Translate the host/port argument into a sequence of 5-tuples that contain [e2e-llm-inference-service] all the necessary arguments for creating a socket connected to that service. [e2e-llm-inference-service] host is a domain name, a string representation of an IPv4/v6 address or [e2e-llm-inference-service] None. port is a string service name such as 'http', a numeric port number or [e2e-llm-inference-service] None. By passing None as the value of host and port, you can pass NULL to [e2e-llm-inference-service] the underlying C API. [e2e-llm-inference-service] [e2e-llm-inference-service] The family, type and proto arguments can be optionally specified in order to [e2e-llm-inference-service] narrow the list of addresses returned. Passing zero as a value for each of [e2e-llm-inference-service] these arguments selects the full range of results. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # We override this function since we want to translate the numeric family [e2e-llm-inference-service] # and socket type values to enum constants. [e2e-llm-inference-service] addrlist = [] [e2e-llm-inference-service] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): [e2e-llm-inference-service] E socket.gaierror: [Errno -2] Name or service not known [e2e-llm-inference-service] [e2e-llm-inference-service] /usr/lib64/python3.11/socket.py:974: gaierror [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False, err = None [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] > response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:788: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] timeout = Timeout(connect=None, read=None, total=None), chunked = False [e2e-llm-inference-service] response_conn = None, preload_content = True, decode_content = True [e2e-llm-inference-service] enforce_content_length = True [e2e-llm-inference-service] [e2e-llm-inference-service] def _make_request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] conn: BaseHTTPConnection, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | None = None, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] response_conn: BaseHTTPConnection | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] enforce_content_length: bool = True, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Perform a request on a given urllib connection object taken from our [e2e-llm-inference-service] pool. [e2e-llm-inference-service] [e2e-llm-inference-service] :param conn: [e2e-llm-inference-service] a connection from one of our connection pools [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] Pass ``None`` to retry until you receive a response. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response_conn: [e2e-llm-inference-service] Set this to ``None`` if you will handle releasing the connection or [e2e-llm-inference-service] set the connection to have the response release it. [e2e-llm-inference-service] [e2e-llm-inference-service] :param preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded during construction. [e2e-llm-inference-service] [e2e-llm-inference-service] :param decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param enforce_content_length: [e2e-llm-inference-service] Enforce content length checking. Body returned by server must match [e2e-llm-inference-service] value of Content-Length header, if present. Otherwise, raise error. [e2e-llm-inference-service] """ [e2e-llm-inference-service] self.num_requests += 1 [e2e-llm-inference-service] [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] timeout_obj.start_connect() [e2e-llm-inference-service] conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Trigger any extra validation we need to do. [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._validate_conn(conn) [e2e-llm-inference-service] except (SocketTimeout, BaseSSLError) as e: [e2e-llm-inference-service] self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # _validate_conn() starts the connection to an HTTPS proxy [e2e-llm-inference-service] # so we need to wrap errors with 'ProxyError' here too. [e2e-llm-inference-service] except ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] # If the connection didn't successfully connect to it's proxy [e2e-llm-inference-service] # then there [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, (OSError, NewConnectionError, TimeoutError, SSLError) [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] > raise new_e [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:488: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] timeout = Timeout(connect=None, read=None, total=None), chunked = False [e2e-llm-inference-service] response_conn = None, preload_content = True, decode_content = True [e2e-llm-inference-service] enforce_content_length = True [e2e-llm-inference-service] [e2e-llm-inference-service] def _make_request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] conn: BaseHTTPConnection, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | None = None, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] response_conn: BaseHTTPConnection | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] enforce_content_length: bool = True, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Perform a request on a given urllib connection object taken from our [e2e-llm-inference-service] pool. [e2e-llm-inference-service] [e2e-llm-inference-service] :param conn: [e2e-llm-inference-service] a connection from one of our connection pools [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] Pass ``None`` to retry until you receive a response. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response_conn: [e2e-llm-inference-service] Set this to ``None`` if you will handle releasing the connection or [e2e-llm-inference-service] set the connection to have the response release it. [e2e-llm-inference-service] [e2e-llm-inference-service] :param preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded during construction. [e2e-llm-inference-service] [e2e-llm-inference-service] :param decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param enforce_content_length: [e2e-llm-inference-service] Enforce content length checking. Body returned by server must match [e2e-llm-inference-service] value of Content-Length header, if present. Otherwise, raise error. [e2e-llm-inference-service] """ [e2e-llm-inference-service] self.num_requests += 1 [e2e-llm-inference-service] [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] timeout_obj.start_connect() [e2e-llm-inference-service] conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Trigger any extra validation we need to do. [e2e-llm-inference-service] try: [e2e-llm-inference-service] > self._validate_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:464: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] [e2e-llm-inference-service] def _validate_conn(self, conn: BaseHTTPConnection) -> None: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Called right before a request is made, after the socket is created. [e2e-llm-inference-service] """ [e2e-llm-inference-service] super()._validate_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] # Force connect early to allow us to validate the connection. [e2e-llm-inference-service] if conn.is_closed: [e2e-llm-inference-service] > conn.connect() [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:1106: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def connect(self) -> None: [e2e-llm-inference-service] # Today we don't need to be doing this step before the /actual/ socket [e2e-llm-inference-service] # connection, however in the future we'll need to decide whether to [e2e-llm-inference-service] # create a new socket or re-use an existing "shared" socket as a part [e2e-llm-inference-service] # of the HTTP/2 handshake dance. [e2e-llm-inference-service] if self._tunnel_host is not None and self._tunnel_port is not None: [e2e-llm-inference-service] probe_http2_host = self._tunnel_host [e2e-llm-inference-service] probe_http2_port = self._tunnel_port [e2e-llm-inference-service] else: [e2e-llm-inference-service] probe_http2_host = self.host [e2e-llm-inference-service] probe_http2_port = self.port [e2e-llm-inference-service] [e2e-llm-inference-service] # Check if the target origin supports HTTP/2. [e2e-llm-inference-service] # If the value comes back as 'None' it means that the current thread [e2e-llm-inference-service] # is probing for HTTP/2 support. Otherwise, we're waiting for another [e2e-llm-inference-service] # probe to complete, or we get a value right away. [e2e-llm-inference-service] target_supports_http2: bool | None [e2e-llm-inference-service] if "h2" in ssl_.ALPN_PROTOCOLS: [e2e-llm-inference-service] target_supports_http2 = http2_probe.acquire_and_get( [e2e-llm-inference-service] host=probe_http2_host, port=probe_http2_port [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] # If HTTP/2 isn't going to be offered it doesn't matter if [e2e-llm-inference-service] # the target supports HTTP/2. Don't want to make a probe. [e2e-llm-inference-service] target_supports_http2 = False [e2e-llm-inference-service] [e2e-llm-inference-service] if self._connect_callback is not None: [e2e-llm-inference-service] self._connect_callback( [e2e-llm-inference-service] "before connect", [e2e-llm-inference-service] thread_id=threading.get_ident(), [e2e-llm-inference-service] target_supports_http2=target_supports_http2, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] sock: socket.socket | ssl.SSLSocket [e2e-llm-inference-service] > self.sock = sock = self._new_conn() [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:759: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def _new_conn(self) -> socket.socket: [e2e-llm-inference-service] """Establish a socket connection and set nodelay settings on it. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: New socket connection. [e2e-llm-inference-service] """ [e2e-llm-inference-service] try: [e2e-llm-inference-service] sock = connection.create_connection( [e2e-llm-inference-service] (self._dns_host, self.port), [e2e-llm-inference-service] self.timeout, [e2e-llm-inference-service] source_address=self.source_address, [e2e-llm-inference-service] socket_options=self.socket_options, [e2e-llm-inference-service] ) [e2e-llm-inference-service] except socket.gaierror as e: [e2e-llm-inference-service] > raise NameResolutionError(self.host, self, e) from e [e2e-llm-inference-service] E urllib3.exceptions.NameResolutionError: HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:211: NameResolutionError [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] request = > [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.fixture(autouse=True) [e2e-llm-inference-service] def ensure_gateway_proxy_memory(request): [e2e-llm-inference-service] """After test setup creates gateways, patch them for proxy memory.""" [e2e-llm-inference-service] if not GATEWAY_PROXY_MEMORY: [e2e-llm-inference-service] return [e2e-llm-inference-service] [e2e-llm-inference-service] # Let test_case (llmisvc) create gateways first [e2e-llm-inference-service] [e2e-llm-inference-service] if "test_case" in request.fixturenames: [e2e-llm-inference-service] > request.getfixturevalue("test_case") [e2e-llm-inference-service] [e2e-llm-inference-service] common/gateway_proxy_istio.py:183: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] request = > [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.fixture(scope="function") [e2e-llm-inference-service] def test_namespace(request): [e2e-llm-inference-service] """Create a per-test namespace with secrets, clean up after the test.""" [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] ns = generate_namespace_name(request.node.name) [e2e-llm-inference-service] > create_test_namespace(ns) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/conftest.py:159: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] namespace = 'e2e-test-llm-inference-service-d73d44f4' [e2e-llm-inference-service] [e2e-llm-inference-service] def create_test_namespace(namespace: str) -> None: [e2e-llm-inference-service] """Create a labeled namespace for a single test.""" [e2e-llm-inference-service] core_v1 = client.CoreV1Api() [e2e-llm-inference-service] ns = client.V1Namespace( [e2e-llm-inference-service] metadata=client.V1ObjectMeta( [e2e-llm-inference-service] name=namespace, [e2e-llm-inference-service] labels={ [e2e-llm-inference-service] TEST_NAMESPACE_LABEL_KEY: TEST_NAMESPACE_LABEL_VALUE, [e2e-llm-inference-service] }, [e2e-llm-inference-service] ) [e2e-llm-inference-service] ) [e2e-llm-inference-service] try: [e2e-llm-inference-service] > core_v1.create_namespace(ns) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/namespace.py:81: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] kwargs = {'_return_http_data_only': True} [e2e-llm-inference-service] [e2e-llm-inference-service] def create_namespace(self, body, **kwargs): # noqa: E501 [e2e-llm-inference-service] """create_namespace # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] create a Namespace # noqa: E501 [e2e-llm-inference-service] This method makes a synchronous HTTP request by default. To make an [e2e-llm-inference-service] asynchronous HTTP request, please pass async_req=True [e2e-llm-inference-service] >>> thread = api.create_namespace(body, async_req=True) [e2e-llm-inference-service] >>> result = thread.get() [e2e-llm-inference-service] [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param V1Namespace body: (required) [e2e-llm-inference-service] :param str pretty: If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget). [e2e-llm-inference-service] :param str dry_run: When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed [e2e-llm-inference-service] :param str field_manager: fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. [e2e-llm-inference-service] :param str field_validation: fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: V1Namespace [e2e-llm-inference-service] If the method is called asynchronously, [e2e-llm-inference-service] returns the request thread. [e2e-llm-inference-service] """ [e2e-llm-inference-service] kwargs['_return_http_data_only'] = True [e2e-llm-inference-service] > return self.create_namespace_with_http_info(body, **kwargs) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api/core_v1_api.py:6363: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] kwargs = {'_return_http_data_only': True} [e2e-llm-inference-service] local_var_params = {'_return_http_data_only': True, 'all_params': ['body', 'pretty', 'dry_run', 'field_manager', 'field_validation', 'asy...urce_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None}, ...} [e2e-llm-inference-service] all_params = ['body', 'pretty', 'dry_run', 'field_manager', 'field_validation', 'async_req', ...] [e2e-llm-inference-service] key = '_return_http_data_only', val = True, collection_formats = {} [e2e-llm-inference-service] path_params = {}, query_params = [] [e2e-llm-inference-service] [e2e-llm-inference-service] def create_namespace_with_http_info(self, body, **kwargs): # noqa: E501 [e2e-llm-inference-service] """create_namespace # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] create a Namespace # noqa: E501 [e2e-llm-inference-service] This method makes a synchronous HTTP request by default. To make an [e2e-llm-inference-service] asynchronous HTTP request, please pass async_req=True [e2e-llm-inference-service] >>> thread = api.create_namespace_with_http_info(body, async_req=True) [e2e-llm-inference-service] >>> result = thread.get() [e2e-llm-inference-service] [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param V1Namespace body: (required) [e2e-llm-inference-service] :param str pretty: If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget). [e2e-llm-inference-service] :param str dry_run: When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed [e2e-llm-inference-service] :param str field_manager: fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. [e2e-llm-inference-service] :param str field_validation: fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. [e2e-llm-inference-service] :param _return_http_data_only: response data without head status code [e2e-llm-inference-service] and headers [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: tuple(V1Namespace, status_code(int), headers(HTTPHeaderDict)) [e2e-llm-inference-service] If the method is called asynchronously, [e2e-llm-inference-service] returns the request thread. [e2e-llm-inference-service] """ [e2e-llm-inference-service] [e2e-llm-inference-service] local_var_params = locals() [e2e-llm-inference-service] [e2e-llm-inference-service] all_params = [ [e2e-llm-inference-service] 'body', [e2e-llm-inference-service] 'pretty', [e2e-llm-inference-service] 'dry_run', [e2e-llm-inference-service] 'field_manager', [e2e-llm-inference-service] 'field_validation' [e2e-llm-inference-service] ] [e2e-llm-inference-service] all_params.extend( [e2e-llm-inference-service] [ [e2e-llm-inference-service] 'async_req', [e2e-llm-inference-service] '_return_http_data_only', [e2e-llm-inference-service] '_preload_content', [e2e-llm-inference-service] '_request_timeout' [e2e-llm-inference-service] ] [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] for key, val in six.iteritems(local_var_params['kwargs']): [e2e-llm-inference-service] if key not in all_params: [e2e-llm-inference-service] raise ApiTypeError( [e2e-llm-inference-service] "Got an unexpected keyword argument '%s'" [e2e-llm-inference-service] " to method create_namespace" % key [e2e-llm-inference-service] ) [e2e-llm-inference-service] local_var_params[key] = val [e2e-llm-inference-service] del local_var_params['kwargs'] [e2e-llm-inference-service] # verify the required parameter 'body' is set [e2e-llm-inference-service] if self.api_client.client_side_validation and ('body' not in local_var_params or # noqa: E501 [e2e-llm-inference-service] local_var_params['body'] is None): # noqa: E501 [e2e-llm-inference-service] raise ApiValueError("Missing the required parameter `body` when calling `create_namespace`") # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] collection_formats = {} [e2e-llm-inference-service] [e2e-llm-inference-service] path_params = {} [e2e-llm-inference-service] [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] if 'pretty' in local_var_params and local_var_params['pretty'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('pretty', local_var_params['pretty'])) # noqa: E501 [e2e-llm-inference-service] if 'dry_run' in local_var_params and local_var_params['dry_run'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('dryRun', local_var_params['dry_run'])) # noqa: E501 [e2e-llm-inference-service] if 'field_manager' in local_var_params and local_var_params['field_manager'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('fieldManager', local_var_params['field_manager'])) # noqa: E501 [e2e-llm-inference-service] if 'field_validation' in local_var_params and local_var_params['field_validation'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('fieldValidation', local_var_params['field_validation'])) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] header_params = {} [e2e-llm-inference-service] [e2e-llm-inference-service] form_params = [] [e2e-llm-inference-service] local_var_files = {} [e2e-llm-inference-service] [e2e-llm-inference-service] body_params = None [e2e-llm-inference-service] if 'body' in local_var_params: [e2e-llm-inference-service] body_params = local_var_params['body'] [e2e-llm-inference-service] # HTTP header `Accept` [e2e-llm-inference-service] header_params['Accept'] = self.api_client.select_header_accept( [e2e-llm-inference-service] ['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/cbor']) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] # Authentication setting [e2e-llm-inference-service] auth_settings = ['BearerToken'] # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] > return self.api_client.call_api( [e2e-llm-inference-service] '/api/v1/namespaces', 'POST', [e2e-llm-inference-service] path_params, [e2e-llm-inference-service] query_params, [e2e-llm-inference-service] header_params, [e2e-llm-inference-service] body=body_params, [e2e-llm-inference-service] post_params=form_params, [e2e-llm-inference-service] files=local_var_files, [e2e-llm-inference-service] response_type='V1Namespace', # noqa: E501 [e2e-llm-inference-service] auth_settings=auth_settings, [e2e-llm-inference-service] async_req=local_var_params.get('async_req'), [e2e-llm-inference-service] _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 [e2e-llm-inference-service] _preload_content=local_var_params.get('_preload_content', True), [e2e-llm-inference-service] _request_timeout=local_var_params.get('_request_timeout'), [e2e-llm-inference-service] collection_formats=collection_formats) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api/core_v1_api.py:6454: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] resource_path = '/api/v1/namespaces', method = 'POST', path_params = {} [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] header_params = {'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] post_params = [], files = {}, response_type = 'V1Namespace' [e2e-llm-inference-service] auth_settings = ['BearerToken'], async_req = None, _return_http_data_only = True [e2e-llm-inference-service] collection_formats = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] _host = None [e2e-llm-inference-service] [e2e-llm-inference-service] def call_api(self, resource_path, method, [e2e-llm-inference-service] path_params=None, query_params=None, header_params=None, [e2e-llm-inference-service] body=None, post_params=None, files=None, [e2e-llm-inference-service] response_type=None, auth_settings=None, async_req=None, [e2e-llm-inference-service] _return_http_data_only=None, collection_formats=None, [e2e-llm-inference-service] _preload_content=True, _request_timeout=None, _host=None): [e2e-llm-inference-service] """Makes the HTTP request (synchronous) and returns deserialized data. [e2e-llm-inference-service] [e2e-llm-inference-service] To make an async_req request, set the async_req parameter. [e2e-llm-inference-service] [e2e-llm-inference-service] :param resource_path: Path to method endpoint. [e2e-llm-inference-service] :param method: Method to call. [e2e-llm-inference-service] :param path_params: Path parameters in the url. [e2e-llm-inference-service] :param query_params: Query parameters in the url. [e2e-llm-inference-service] :param header_params: Header parameters to be [e2e-llm-inference-service] placed in the request header. [e2e-llm-inference-service] :param body: Request body. [e2e-llm-inference-service] :param post_params dict: Request post form parameters, [e2e-llm-inference-service] for `application/x-www-form-urlencoded`, `multipart/form-data`. [e2e-llm-inference-service] :param auth_settings list: Auth Settings names for the request. [e2e-llm-inference-service] :param response: Response data type. [e2e-llm-inference-service] :param files dict: key -> filename, value -> filepath, [e2e-llm-inference-service] for `multipart/form-data`. [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param _return_http_data_only: response data without head status code [e2e-llm-inference-service] and headers [e2e-llm-inference-service] :param collection_formats: dict of collection formats for path, query, [e2e-llm-inference-service] header, and post parameters. [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: [e2e-llm-inference-service] If async_req parameter is True, [e2e-llm-inference-service] the request will be called asynchronously. [e2e-llm-inference-service] The method will return the request thread. [e2e-llm-inference-service] If parameter async_req is False or missing, [e2e-llm-inference-service] then the method will return the response directly. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if not async_req: [e2e-llm-inference-service] > return self.__call_api(resource_path, method, [e2e-llm-inference-service] path_params, query_params, header_params, [e2e-llm-inference-service] body, post_params, files, [e2e-llm-inference-service] response_type, auth_settings, [e2e-llm-inference-service] _return_http_data_only, collection_formats, [e2e-llm-inference-service] _preload_content, _request_timeout, _host) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:348: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] resource_path = '/api/v1/namespaces', method = 'POST', path_params = {} [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] header_params = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-d73d44f4'}} [e2e-llm-inference-service] post_params = [], files = {}, response_type = 'V1Namespace' [e2e-llm-inference-service] auth_settings = ['BearerToken'], _return_http_data_only = True [e2e-llm-inference-service] collection_formats = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] _host = None [e2e-llm-inference-service] [e2e-llm-inference-service] def __call_api( [e2e-llm-inference-service] self, resource_path, method, path_params=None, [e2e-llm-inference-service] query_params=None, header_params=None, body=None, post_params=None, [e2e-llm-inference-service] files=None, response_type=None, auth_settings=None, [e2e-llm-inference-service] _return_http_data_only=None, collection_formats=None, [e2e-llm-inference-service] _preload_content=True, _request_timeout=None, _host=None): [e2e-llm-inference-service] [e2e-llm-inference-service] config = self.configuration [e2e-llm-inference-service] [e2e-llm-inference-service] # header parameters [e2e-llm-inference-service] header_params = header_params or {} [e2e-llm-inference-service] header_params.update(self.default_headers) [e2e-llm-inference-service] if self.cookie: [e2e-llm-inference-service] header_params['Cookie'] = self.cookie [e2e-llm-inference-service] if header_params: [e2e-llm-inference-service] header_params = self.sanitize_for_serialization(header_params) [e2e-llm-inference-service] header_params = dict(self.parameters_to_tuples(header_params, [e2e-llm-inference-service] collection_formats)) [e2e-llm-inference-service] [e2e-llm-inference-service] # path parameters [e2e-llm-inference-service] if path_params: [e2e-llm-inference-service] path_params = self.sanitize_for_serialization(path_params) [e2e-llm-inference-service] path_params = self.parameters_to_tuples(path_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] for k, v in path_params: [e2e-llm-inference-service] # specified safe chars, encode everything [e2e-llm-inference-service] resource_path = resource_path.replace( [e2e-llm-inference-service] '{%s}' % k, [e2e-llm-inference-service] quote(str(v), safe=config.safe_chars_for_path_param) [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # query parameters [e2e-llm-inference-service] if query_params: [e2e-llm-inference-service] query_params = self.sanitize_for_serialization(query_params) [e2e-llm-inference-service] query_params = self.parameters_to_tuples(query_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] [e2e-llm-inference-service] # post parameters [e2e-llm-inference-service] if post_params or files: [e2e-llm-inference-service] post_params = post_params if post_params else [] [e2e-llm-inference-service] post_params = self.sanitize_for_serialization(post_params) [e2e-llm-inference-service] post_params = self.parameters_to_tuples(post_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] post_params.extend(self.files_parameters(files)) [e2e-llm-inference-service] [e2e-llm-inference-service] # auth setting [e2e-llm-inference-service] self.update_params_for_auth(header_params, query_params, auth_settings) [e2e-llm-inference-service] [e2e-llm-inference-service] # body [e2e-llm-inference-service] if body: [e2e-llm-inference-service] body = self.sanitize_for_serialization(body) [e2e-llm-inference-service] [e2e-llm-inference-service] # request url [e2e-llm-inference-service] if _host is None: [e2e-llm-inference-service] url = self.configuration.host + resource_path [e2e-llm-inference-service] else: [e2e-llm-inference-service] # use server/host defined in path or operation instead [e2e-llm-inference-service] url = _host + resource_path [e2e-llm-inference-service] [e2e-llm-inference-service] # perform request and return response [e2e-llm-inference-service] > response_data = self.request( [e2e-llm-inference-service] method, url, query_params=query_params, headers=header_params, [e2e-llm-inference-service] post_params=post_params, body=body, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:180: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] post_params = [] [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-d73d44f4'}} [e2e-llm-inference-service] _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def request(self, method, url, query_params=None, headers=None, [e2e-llm-inference-service] post_params=None, body=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] """Makes the HTTP request using RESTClient.""" [e2e-llm-inference-service] if method == "GET": [e2e-llm-inference-service] return self.rest_client.GET(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] elif method == "HEAD": [e2e-llm-inference-service] return self.rest_client.HEAD(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] elif method == "OPTIONS": [e2e-llm-inference-service] return self.rest_client.OPTIONS(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout) [e2e-llm-inference-service] elif method == "POST": [e2e-llm-inference-service] > return self.rest_client.POST(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] post_params=post_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:391: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] query_params = [], post_params = [] [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-d73d44f4'}} [e2e-llm-inference-service] _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def POST(self, url, headers=None, query_params=None, post_params=None, [e2e-llm-inference-service] body=None, _preload_content=True, _request_timeout=None): [e2e-llm-inference-service] > return self.request("POST", url, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] post_params=post_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] body=body) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/rest.py:279: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-d73d44f4'}} [e2e-llm-inference-service] post_params = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def request(self, method, url, query_params=None, headers=None, [e2e-llm-inference-service] body=None, post_params=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] """Perform requests. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: http request method [e2e-llm-inference-service] :param url: http request url [e2e-llm-inference-service] :param query_params: query parameters in the url [e2e-llm-inference-service] :param headers: http request headers [e2e-llm-inference-service] :param body: request json body, for `application/json` [e2e-llm-inference-service] :param post_params: request post parameters, [e2e-llm-inference-service] `application/x-www-form-urlencoded` [e2e-llm-inference-service] and `multipart/form-data` [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] """ [e2e-llm-inference-service] method = method.upper() [e2e-llm-inference-service] assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', [e2e-llm-inference-service] 'PATCH', 'OPTIONS'] [e2e-llm-inference-service] [e2e-llm-inference-service] if post_params and body: [e2e-llm-inference-service] raise ApiValueError( [e2e-llm-inference-service] "body parameter cannot be used with post_params parameter." [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] post_params = post_params or {} [e2e-llm-inference-service] headers = headers or {} [e2e-llm-inference-service] [e2e-llm-inference-service] timeout = None [e2e-llm-inference-service] if _request_timeout: [e2e-llm-inference-service] if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): # noqa: E501,F821 [e2e-llm-inference-service] timeout = urllib3.Timeout(total=_request_timeout) [e2e-llm-inference-service] elif (isinstance(_request_timeout, tuple) and [e2e-llm-inference-service] len(_request_timeout) == 2): [e2e-llm-inference-service] timeout = urllib3.Timeout( [e2e-llm-inference-service] connect=_request_timeout[0], read=_request_timeout[1]) [e2e-llm-inference-service] [e2e-llm-inference-service] if 'Content-Type' not in headers: [e2e-llm-inference-service] headers['Content-Type'] = 'application/json' [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` [e2e-llm-inference-service] if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: [e2e-llm-inference-service] if query_params: [e2e-llm-inference-service] url += '?' + urlencode(query_params) [e2e-llm-inference-service] if (re.search('json', headers['Content-Type'], re.IGNORECASE) or [e2e-llm-inference-service] headers['Content-Type'] == 'application/apply-patch+yaml'): [e2e-llm-inference-service] if headers['Content-Type'] == 'application/json-patch+json': [e2e-llm-inference-service] if not isinstance(body, list): [e2e-llm-inference-service] headers['Content-Type'] = \ [e2e-llm-inference-service] 'application/strategic-merge-patch+json' [e2e-llm-inference-service] request_body = None [e2e-llm-inference-service] if body is not None: [e2e-llm-inference-service] request_body = json.dumps(body) [e2e-llm-inference-service] > r = self.pool_manager.request( [e2e-llm-inference-service] method, url, [e2e-llm-inference-service] body=request_body, [e2e-llm-inference-service] preload_content=_preload_content, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/rest.py:172: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}' [e2e-llm-inference-service] fields = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] json = None [e2e-llm-inference-service] urlopen_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}', 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] [e2e-llm-inference-service] def request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] fields: _TYPE_FIELDS | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] json: typing.Any | None = None, [e2e-llm-inference-service] **urlopen_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Make a request using :meth:`urlopen` with the appropriate encoding of [e2e-llm-inference-service] ``fields`` based on the ``method`` used. [e2e-llm-inference-service] [e2e-llm-inference-service] This is a convenience method that requires the least amount of manual [e2e-llm-inference-service] effort. It can be used in most situations, while still having the [e2e-llm-inference-service] option to drop down to more specific methods when necessary, such as [e2e-llm-inference-service] :meth:`request_encode_url`, :meth:`request_encode_body`, [e2e-llm-inference-service] or even the lowest level :meth:`urlopen`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param fields: [e2e-llm-inference-service] Data to encode and send in the URL or request body, depending on ``method``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param json: [e2e-llm-inference-service] Data to encode and send as JSON with UTF-encoded in the request body. [e2e-llm-inference-service] The ``"Content-Type"`` header will be set to ``"application/json"`` [e2e-llm-inference-service] unless specified otherwise. [e2e-llm-inference-service] """ [e2e-llm-inference-service] method = method.upper() [e2e-llm-inference-service] [e2e-llm-inference-service] if json is not None and body is not None: [e2e-llm-inference-service] raise TypeError( [e2e-llm-inference-service] "request got values for both 'body' and 'json' parameters which are mutually exclusive" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if json is not None: [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not ("content-type" in map(str.lower, headers.keys())): [e2e-llm-inference-service] headers = HTTPHeaderDict(headers) [e2e-llm-inference-service] headers["Content-Type"] = "application/json" [e2e-llm-inference-service] [e2e-llm-inference-service] body = _json.dumps(json, separators=(",", ":"), ensure_ascii=False).encode( [e2e-llm-inference-service] "utf-8" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if body is not None: [e2e-llm-inference-service] urlopen_kw["body"] = body [e2e-llm-inference-service] [e2e-llm-inference-service] if method in self._encode_url_methods: [e2e-llm-inference-service] return self.request_encode_url( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] fields=fields, # type: ignore[arg-type] [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] **urlopen_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] > return self.request_encode_body( [e2e-llm-inference-service] method, url, fields=fields, headers=headers, **urlopen_kw [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/_request_methods.py:143: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] fields = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] encode_multipart = True, multipart_boundary = None [e2e-llm-inference-service] urlopen_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}', 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] extra_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}'...nt': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}), 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] [e2e-llm-inference-service] def request_encode_body( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] fields: _TYPE_FIELDS | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] encode_multipart: bool = True, [e2e-llm-inference-service] multipart_boundary: str | None = None, [e2e-llm-inference-service] **urlopen_kw: str, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Make a request using :meth:`urlopen` with the ``fields`` encoded in [e2e-llm-inference-service] the body. This is useful for request methods like POST, PUT, PATCH, etc. [e2e-llm-inference-service] [e2e-llm-inference-service] When ``encode_multipart=True`` (default), then [e2e-llm-inference-service] :func:`urllib3.encode_multipart_formdata` is used to encode [e2e-llm-inference-service] the payload with the appropriate content type. Otherwise [e2e-llm-inference-service] :func:`urllib.parse.urlencode` is used with the [e2e-llm-inference-service] 'application/x-www-form-urlencoded' content type. [e2e-llm-inference-service] [e2e-llm-inference-service] Multipart encoding must be used when posting files, and it's reasonably [e2e-llm-inference-service] safe to use it in other times too. However, it may break request [e2e-llm-inference-service] signing, such as with OAuth. [e2e-llm-inference-service] [e2e-llm-inference-service] Supports an optional ``fields`` parameter of key/value strings AND [e2e-llm-inference-service] key/filetuple. A filetuple is a (filename, data, MIME type) tuple where [e2e-llm-inference-service] the MIME type is optional. For example:: [e2e-llm-inference-service] [e2e-llm-inference-service] fields = { [e2e-llm-inference-service] 'foo': 'bar', [e2e-llm-inference-service] 'fakefile': ('foofile.txt', 'contents of foofile'), [e2e-llm-inference-service] 'realfile': ('barfile.txt', open('realfile').read()), [e2e-llm-inference-service] 'typedfile': ('bazfile.bin', open('bazfile').read(), [e2e-llm-inference-service] 'image/jpeg'), [e2e-llm-inference-service] 'nonamefile': 'contents of nonamefile field', [e2e-llm-inference-service] } [e2e-llm-inference-service] [e2e-llm-inference-service] When uploading a file, providing a filename (the first parameter of the [e2e-llm-inference-service] tuple) is optional but recommended to best mimic behavior of browsers. [e2e-llm-inference-service] [e2e-llm-inference-service] Note that if ``headers`` are supplied, the 'Content-Type' header will [e2e-llm-inference-service] be overwritten because it depends on the dynamic random boundary string [e2e-llm-inference-service] which is used to compose the body of the request. The random boundary [e2e-llm-inference-service] string can be explicitly set with the ``multipart_boundary`` parameter. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param fields: [e2e-llm-inference-service] Data to encode and send in the request body. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param encode_multipart: [e2e-llm-inference-service] If True, encode the ``fields`` using the multipart/form-data MIME [e2e-llm-inference-service] format. [e2e-llm-inference-service] [e2e-llm-inference-service] :param multipart_boundary: [e2e-llm-inference-service] If not specified, then a random boundary will be generated using [e2e-llm-inference-service] :func:`urllib3.filepost.choose_boundary`. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw: dict[str, typing.Any] = {"headers": HTTPHeaderDict(headers)} [e2e-llm-inference-service] body: bytes | str [e2e-llm-inference-service] [e2e-llm-inference-service] if fields: [e2e-llm-inference-service] if "body" in urlopen_kw: [e2e-llm-inference-service] raise TypeError( [e2e-llm-inference-service] "request got values for both 'fields' and 'body', can only specify one." [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if encode_multipart: [e2e-llm-inference-service] body, content_type = encode_multipart_formdata( [e2e-llm-inference-service] fields, boundary=multipart_boundary [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] body, content_type = ( [e2e-llm-inference-service] urlencode(fields), # type: ignore[arg-type] [e2e-llm-inference-service] "application/x-www-form-urlencoded", [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw["body"] = body [e2e-llm-inference-service] extra_kw["headers"].setdefault("Content-Type", content_type) [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw.update(urlopen_kw) [e2e-llm-inference-service] [e2e-llm-inference-service] > return self.urlopen(method, url, **extra_kw) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/_request_methods.py:278: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] redirect = True [e2e-llm-inference-service] kw = {'assert_same_host': False, 'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inf...', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}), 'preload_content': True, ...} [e2e-llm-inference-service] u = Url(scheme='https', auth=None, host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443, path='/api/v1/namespaces', query=None, fragment=None) [e2e-llm-inference-service] conn = [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, method: str, url: str, redirect: bool = True, **kw: typing.Any [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Same as :meth:`urllib3.HTTPConnectionPool.urlopen` [e2e-llm-inference-service] with custom cross-host redirect logic and only sends the request-uri [e2e-llm-inference-service] portion of the ``url``. [e2e-llm-inference-service] [e2e-llm-inference-service] The given ``url`` parameter must be absolute, such that an appropriate [e2e-llm-inference-service] :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. [e2e-llm-inference-service] """ [e2e-llm-inference-service] u = parse_url(url) [e2e-llm-inference-service] [e2e-llm-inference-service] if u.scheme is None: [e2e-llm-inference-service] warnings.warn( [e2e-llm-inference-service] "URLs without a scheme (ie 'https://') are deprecated and will raise an error " [e2e-llm-inference-service] "in urllib3 v3.0. To avoid this FutureWarning ensure all URLs " [e2e-llm-inference-service] "start with 'https://' or 'http://'. Read more in this issue: " [e2e-llm-inference-service] "https://github.com/urllib3/urllib3/issues/2920", [e2e-llm-inference-service] category=FutureWarning, [e2e-llm-inference-service] stacklevel=2, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) [e2e-llm-inference-service] [e2e-llm-inference-service] kw["assert_same_host"] = False [e2e-llm-inference-service] kw["redirect"] = False [e2e-llm-inference-service] [e2e-llm-inference-service] if "headers" not in kw: [e2e-llm-inference-service] kw["headers"] = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if self._proxy_requires_url_absolute_form(u): [e2e-llm-inference-service] response = conn.urlopen(method, url, **kw) [e2e-llm-inference-service] else: [e2e-llm-inference-service] > response = conn.urlopen(method, u.request_uri, **kw) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/poolmanager.py:457: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=2, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=1, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-d73d44f4"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False, err = None [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] > retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:842: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces', response = None [e2e-llm-inference-service] error = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] _pool = [e2e-llm-inference-service] _stacktrace = [e2e-llm-inference-service] [e2e-llm-inference-service] def increment( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str | None = None, [e2e-llm-inference-service] url: str | None = None, [e2e-llm-inference-service] response: BaseHTTPResponse | None = None, [e2e-llm-inference-service] error: Exception | None = None, [e2e-llm-inference-service] _pool: ConnectionPool | None = None, [e2e-llm-inference-service] _stacktrace: TracebackType | None = None, [e2e-llm-inference-service] ) -> Self: [e2e-llm-inference-service] """Return a new Retry object with incremented retry counters. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response: A response object, or None, if the server did not [e2e-llm-inference-service] return a response. [e2e-llm-inference-service] :type response: :class:`~urllib3.response.BaseHTTPResponse` [e2e-llm-inference-service] :param Exception error: An error encountered during the request, or [e2e-llm-inference-service] None if the response was received successfully. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: A new ``Retry`` object. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if self.total is False and error: [e2e-llm-inference-service] # Disabled, indicate to re-raise the error. [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] [e2e-llm-inference-service] total = self.total [e2e-llm-inference-service] if total is not None: [e2e-llm-inference-service] total -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] connect = self.connect [e2e-llm-inference-service] read = self.read [e2e-llm-inference-service] redirect = self.redirect [e2e-llm-inference-service] status_count = self.status [e2e-llm-inference-service] other = self.other [e2e-llm-inference-service] cause = "unknown" [e2e-llm-inference-service] status = None [e2e-llm-inference-service] redirect_location = None [e2e-llm-inference-service] [e2e-llm-inference-service] if error and self._is_connection_error(error): [e2e-llm-inference-service] # Connect retry? [e2e-llm-inference-service] if connect is False: [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] elif connect is not None: [e2e-llm-inference-service] connect -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif error and self._is_read_error(error): [e2e-llm-inference-service] # Read retry? [e2e-llm-inference-service] if read is False or method is None or not self._is_method_retryable(method): [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] elif read is not None: [e2e-llm-inference-service] read -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif error: [e2e-llm-inference-service] # Other retry? [e2e-llm-inference-service] if other is not None: [e2e-llm-inference-service] other -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif response and response.get_redirect_location(): [e2e-llm-inference-service] # Redirect retry? [e2e-llm-inference-service] if redirect is not None: [e2e-llm-inference-service] redirect -= 1 [e2e-llm-inference-service] cause = "too many redirects" [e2e-llm-inference-service] response_redirect_location = response.get_redirect_location() [e2e-llm-inference-service] if response_redirect_location: [e2e-llm-inference-service] redirect_location = response_redirect_location [e2e-llm-inference-service] status = response.status [e2e-llm-inference-service] [e2e-llm-inference-service] else: [e2e-llm-inference-service] # Incrementing because of a server error like a 500 in [e2e-llm-inference-service] # status_forcelist and the given method is in the allowed_methods [e2e-llm-inference-service] cause = ResponseError.GENERIC_ERROR [e2e-llm-inference-service] if response and response.status: [e2e-llm-inference-service] if status_count is not None: [e2e-llm-inference-service] status_count -= 1 [e2e-llm-inference-service] cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) [e2e-llm-inference-service] status = response.status [e2e-llm-inference-service] [e2e-llm-inference-service] history = self.history + ( [e2e-llm-inference-service] RequestHistory(method, url, error, status, redirect_location), [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] new_retry = self.new( [e2e-llm-inference-service] total=total, [e2e-llm-inference-service] connect=connect, [e2e-llm-inference-service] read=read, [e2e-llm-inference-service] redirect=redirect, [e2e-llm-inference-service] status=status_count, [e2e-llm-inference-service] other=other, [e2e-llm-inference-service] history=history, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if new_retry.is_exhausted(): [e2e-llm-inference-service] reason = error or ResponseError(cause) [e2e-llm-inference-service] > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] [e2e-llm-inference-service] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /api/v1/namespaces (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/util/retry.py:543: MaxRetryError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] _ ERROR at setup of test_llm_inference_service[router-with-refs-pd-scheduler-managed-workload-pd-cpu-model-fb-opt-125m] _ [e2e-llm-inference-service] [gw1] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def _new_conn(self) -> socket.socket: [e2e-llm-inference-service] """Establish a socket connection and set nodelay settings on it. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: New socket connection. [e2e-llm-inference-service] """ [e2e-llm-inference-service] try: [e2e-llm-inference-service] > sock = connection.create_connection( [e2e-llm-inference-service] (self._dns_host, self.port), [e2e-llm-inference-service] self.timeout, [e2e-llm-inference-service] source_address=self.source_address, [e2e-llm-inference-service] socket_options=self.socket_options, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:204: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] address = ('a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', 6443) [e2e-llm-inference-service] timeout = None, source_address = None, socket_options = [(6, 1, 1)] [e2e-llm-inference-service] [e2e-llm-inference-service] def create_connection( [e2e-llm-inference-service] address: tuple[str, int], [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] source_address: tuple[str, int] | None = None, [e2e-llm-inference-service] socket_options: _TYPE_SOCKET_OPTIONS | None = None, [e2e-llm-inference-service] ) -> socket.socket: [e2e-llm-inference-service] """Connect to *address* and return the socket object. [e2e-llm-inference-service] [e2e-llm-inference-service] Convenience function. Connect to *address* (a 2-tuple ``(host, [e2e-llm-inference-service] port)``) and return the socket object. Passing the optional [e2e-llm-inference-service] *timeout* parameter will set the timeout on the socket instance [e2e-llm-inference-service] before attempting to connect. If no *timeout* is supplied, the [e2e-llm-inference-service] global default timeout setting returned by :func:`socket.getdefaulttimeout` [e2e-llm-inference-service] is used. If *source_address* is set it must be a tuple of (host, port) [e2e-llm-inference-service] for the socket to bind as a source address before making the connection. [e2e-llm-inference-service] An host of '' or port 0 tells the OS to use the default. [e2e-llm-inference-service] """ [e2e-llm-inference-service] [e2e-llm-inference-service] host, port = address [e2e-llm-inference-service] if host.startswith("["): [e2e-llm-inference-service] host = host.strip("[]") [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Using the value from allowed_gai_family() in the context of getaddrinfo lets [e2e-llm-inference-service] # us select whether to work with IPv4 DNS records, IPv6 records, or both. [e2e-llm-inference-service] # The original create_connection function always returns all records. [e2e-llm-inference-service] family = allowed_gai_family() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] host.encode("idna") [e2e-llm-inference-service] except UnicodeError: [e2e-llm-inference-service] raise LocationParseError(f"'{host}', label empty or too long") from None [e2e-llm-inference-service] [e2e-llm-inference-service] > for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/util/connection.py:60: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] host = 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' [e2e-llm-inference-service] port = 6443, family = [e2e-llm-inference-service] type = , proto = 0, flags = 0 [e2e-llm-inference-service] [e2e-llm-inference-service] def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): [e2e-llm-inference-service] """Resolve host and port into list of address info entries. [e2e-llm-inference-service] [e2e-llm-inference-service] Translate the host/port argument into a sequence of 5-tuples that contain [e2e-llm-inference-service] all the necessary arguments for creating a socket connected to that service. [e2e-llm-inference-service] host is a domain name, a string representation of an IPv4/v6 address or [e2e-llm-inference-service] None. port is a string service name such as 'http', a numeric port number or [e2e-llm-inference-service] None. By passing None as the value of host and port, you can pass NULL to [e2e-llm-inference-service] the underlying C API. [e2e-llm-inference-service] [e2e-llm-inference-service] The family, type and proto arguments can be optionally specified in order to [e2e-llm-inference-service] narrow the list of addresses returned. Passing zero as a value for each of [e2e-llm-inference-service] these arguments selects the full range of results. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # We override this function since we want to translate the numeric family [e2e-llm-inference-service] # and socket type values to enum constants. [e2e-llm-inference-service] addrlist = [] [e2e-llm-inference-service] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): [e2e-llm-inference-service] E socket.gaierror: [Errno -2] Name or service not known [e2e-llm-inference-service] [e2e-llm-inference-service] /usr/lib64/python3.11/socket.py:974: gaierror [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False, err = None [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] > response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:788: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] timeout = Timeout(connect=None, read=None, total=None), chunked = False [e2e-llm-inference-service] response_conn = None, preload_content = True, decode_content = True [e2e-llm-inference-service] enforce_content_length = True [e2e-llm-inference-service] [e2e-llm-inference-service] def _make_request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] conn: BaseHTTPConnection, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | None = None, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] response_conn: BaseHTTPConnection | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] enforce_content_length: bool = True, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Perform a request on a given urllib connection object taken from our [e2e-llm-inference-service] pool. [e2e-llm-inference-service] [e2e-llm-inference-service] :param conn: [e2e-llm-inference-service] a connection from one of our connection pools [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] Pass ``None`` to retry until you receive a response. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response_conn: [e2e-llm-inference-service] Set this to ``None`` if you will handle releasing the connection or [e2e-llm-inference-service] set the connection to have the response release it. [e2e-llm-inference-service] [e2e-llm-inference-service] :param preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded during construction. [e2e-llm-inference-service] [e2e-llm-inference-service] :param decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param enforce_content_length: [e2e-llm-inference-service] Enforce content length checking. Body returned by server must match [e2e-llm-inference-service] value of Content-Length header, if present. Otherwise, raise error. [e2e-llm-inference-service] """ [e2e-llm-inference-service] self.num_requests += 1 [e2e-llm-inference-service] [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] timeout_obj.start_connect() [e2e-llm-inference-service] conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Trigger any extra validation we need to do. [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._validate_conn(conn) [e2e-llm-inference-service] except (SocketTimeout, BaseSSLError) as e: [e2e-llm-inference-service] self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # _validate_conn() starts the connection to an HTTPS proxy [e2e-llm-inference-service] # so we need to wrap errors with 'ProxyError' here too. [e2e-llm-inference-service] except ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] # If the connection didn't successfully connect to it's proxy [e2e-llm-inference-service] # then there [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, (OSError, NewConnectionError, TimeoutError, SSLError) [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] > raise new_e [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:488: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] timeout = Timeout(connect=None, read=None, total=None), chunked = False [e2e-llm-inference-service] response_conn = None, preload_content = True, decode_content = True [e2e-llm-inference-service] enforce_content_length = True [e2e-llm-inference-service] [e2e-llm-inference-service] def _make_request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] conn: BaseHTTPConnection, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | None = None, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] response_conn: BaseHTTPConnection | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] enforce_content_length: bool = True, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Perform a request on a given urllib connection object taken from our [e2e-llm-inference-service] pool. [e2e-llm-inference-service] [e2e-llm-inference-service] :param conn: [e2e-llm-inference-service] a connection from one of our connection pools [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] Pass ``None`` to retry until you receive a response. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response_conn: [e2e-llm-inference-service] Set this to ``None`` if you will handle releasing the connection or [e2e-llm-inference-service] set the connection to have the response release it. [e2e-llm-inference-service] [e2e-llm-inference-service] :param preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded during construction. [e2e-llm-inference-service] [e2e-llm-inference-service] :param decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param enforce_content_length: [e2e-llm-inference-service] Enforce content length checking. Body returned by server must match [e2e-llm-inference-service] value of Content-Length header, if present. Otherwise, raise error. [e2e-llm-inference-service] """ [e2e-llm-inference-service] self.num_requests += 1 [e2e-llm-inference-service] [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] timeout_obj.start_connect() [e2e-llm-inference-service] conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Trigger any extra validation we need to do. [e2e-llm-inference-service] try: [e2e-llm-inference-service] > self._validate_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:464: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] [e2e-llm-inference-service] def _validate_conn(self, conn: BaseHTTPConnection) -> None: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Called right before a request is made, after the socket is created. [e2e-llm-inference-service] """ [e2e-llm-inference-service] super()._validate_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] # Force connect early to allow us to validate the connection. [e2e-llm-inference-service] if conn.is_closed: [e2e-llm-inference-service] > conn.connect() [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:1106: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def connect(self) -> None: [e2e-llm-inference-service] # Today we don't need to be doing this step before the /actual/ socket [e2e-llm-inference-service] # connection, however in the future we'll need to decide whether to [e2e-llm-inference-service] # create a new socket or re-use an existing "shared" socket as a part [e2e-llm-inference-service] # of the HTTP/2 handshake dance. [e2e-llm-inference-service] if self._tunnel_host is not None and self._tunnel_port is not None: [e2e-llm-inference-service] probe_http2_host = self._tunnel_host [e2e-llm-inference-service] probe_http2_port = self._tunnel_port [e2e-llm-inference-service] else: [e2e-llm-inference-service] probe_http2_host = self.host [e2e-llm-inference-service] probe_http2_port = self.port [e2e-llm-inference-service] [e2e-llm-inference-service] # Check if the target origin supports HTTP/2. [e2e-llm-inference-service] # If the value comes back as 'None' it means that the current thread [e2e-llm-inference-service] # is probing for HTTP/2 support. Otherwise, we're waiting for another [e2e-llm-inference-service] # probe to complete, or we get a value right away. [e2e-llm-inference-service] target_supports_http2: bool | None [e2e-llm-inference-service] if "h2" in ssl_.ALPN_PROTOCOLS: [e2e-llm-inference-service] target_supports_http2 = http2_probe.acquire_and_get( [e2e-llm-inference-service] host=probe_http2_host, port=probe_http2_port [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] # If HTTP/2 isn't going to be offered it doesn't matter if [e2e-llm-inference-service] # the target supports HTTP/2. Don't want to make a probe. [e2e-llm-inference-service] target_supports_http2 = False [e2e-llm-inference-service] [e2e-llm-inference-service] if self._connect_callback is not None: [e2e-llm-inference-service] self._connect_callback( [e2e-llm-inference-service] "before connect", [e2e-llm-inference-service] thread_id=threading.get_ident(), [e2e-llm-inference-service] target_supports_http2=target_supports_http2, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] sock: socket.socket | ssl.SSLSocket [e2e-llm-inference-service] > self.sock = sock = self._new_conn() [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:759: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def _new_conn(self) -> socket.socket: [e2e-llm-inference-service] """Establish a socket connection and set nodelay settings on it. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: New socket connection. [e2e-llm-inference-service] """ [e2e-llm-inference-service] try: [e2e-llm-inference-service] sock = connection.create_connection( [e2e-llm-inference-service] (self._dns_host, self.port), [e2e-llm-inference-service] self.timeout, [e2e-llm-inference-service] source_address=self.source_address, [e2e-llm-inference-service] socket_options=self.socket_options, [e2e-llm-inference-service] ) [e2e-llm-inference-service] except socket.gaierror as e: [e2e-llm-inference-service] > raise NameResolutionError(self.host, self, e) from e [e2e-llm-inference-service] E urllib3.exceptions.NameResolutionError: HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:211: NameResolutionError [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] request = > [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.fixture(autouse=True) [e2e-llm-inference-service] def ensure_gateway_proxy_memory(request): [e2e-llm-inference-service] """After test setup creates gateways, patch them for proxy memory.""" [e2e-llm-inference-service] if not GATEWAY_PROXY_MEMORY: [e2e-llm-inference-service] return [e2e-llm-inference-service] [e2e-llm-inference-service] # Let test_case (llmisvc) create gateways first [e2e-llm-inference-service] [e2e-llm-inference-service] if "test_case" in request.fixturenames: [e2e-llm-inference-service] > request.getfixturevalue("test_case") [e2e-llm-inference-service] [e2e-llm-inference-service] common/gateway_proxy_istio.py:183: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] request = > [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.fixture(scope="function") [e2e-llm-inference-service] def test_namespace(request): [e2e-llm-inference-service] """Create a per-test namespace with secrets, clean up after the test.""" [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] ns = generate_namespace_name(request.node.name) [e2e-llm-inference-service] > create_test_namespace(ns) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/conftest.py:159: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] namespace = 'e2e-test-llm-inference-service-b5dd93e6' [e2e-llm-inference-service] [e2e-llm-inference-service] def create_test_namespace(namespace: str) -> None: [e2e-llm-inference-service] """Create a labeled namespace for a single test.""" [e2e-llm-inference-service] core_v1 = client.CoreV1Api() [e2e-llm-inference-service] ns = client.V1Namespace( [e2e-llm-inference-service] metadata=client.V1ObjectMeta( [e2e-llm-inference-service] name=namespace, [e2e-llm-inference-service] labels={ [e2e-llm-inference-service] TEST_NAMESPACE_LABEL_KEY: TEST_NAMESPACE_LABEL_VALUE, [e2e-llm-inference-service] }, [e2e-llm-inference-service] ) [e2e-llm-inference-service] ) [e2e-llm-inference-service] try: [e2e-llm-inference-service] > core_v1.create_namespace(ns) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/namespace.py:81: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] kwargs = {'_return_http_data_only': True} [e2e-llm-inference-service] [e2e-llm-inference-service] def create_namespace(self, body, **kwargs): # noqa: E501 [e2e-llm-inference-service] """create_namespace # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] create a Namespace # noqa: E501 [e2e-llm-inference-service] This method makes a synchronous HTTP request by default. To make an [e2e-llm-inference-service] asynchronous HTTP request, please pass async_req=True [e2e-llm-inference-service] >>> thread = api.create_namespace(body, async_req=True) [e2e-llm-inference-service] >>> result = thread.get() [e2e-llm-inference-service] [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param V1Namespace body: (required) [e2e-llm-inference-service] :param str pretty: If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget). [e2e-llm-inference-service] :param str dry_run: When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed [e2e-llm-inference-service] :param str field_manager: fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. [e2e-llm-inference-service] :param str field_validation: fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: V1Namespace [e2e-llm-inference-service] If the method is called asynchronously, [e2e-llm-inference-service] returns the request thread. [e2e-llm-inference-service] """ [e2e-llm-inference-service] kwargs['_return_http_data_only'] = True [e2e-llm-inference-service] > return self.create_namespace_with_http_info(body, **kwargs) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api/core_v1_api.py:6363: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] kwargs = {'_return_http_data_only': True} [e2e-llm-inference-service] local_var_params = {'_return_http_data_only': True, 'all_params': ['body', 'pretty', 'dry_run', 'field_manager', 'field_validation', 'asy...urce_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None}, ...} [e2e-llm-inference-service] all_params = ['body', 'pretty', 'dry_run', 'field_manager', 'field_validation', 'async_req', ...] [e2e-llm-inference-service] key = '_return_http_data_only', val = True, collection_formats = {} [e2e-llm-inference-service] path_params = {}, query_params = [] [e2e-llm-inference-service] [e2e-llm-inference-service] def create_namespace_with_http_info(self, body, **kwargs): # noqa: E501 [e2e-llm-inference-service] """create_namespace # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] create a Namespace # noqa: E501 [e2e-llm-inference-service] This method makes a synchronous HTTP request by default. To make an [e2e-llm-inference-service] asynchronous HTTP request, please pass async_req=True [e2e-llm-inference-service] >>> thread = api.create_namespace_with_http_info(body, async_req=True) [e2e-llm-inference-service] >>> result = thread.get() [e2e-llm-inference-service] [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param V1Namespace body: (required) [e2e-llm-inference-service] :param str pretty: If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget). [e2e-llm-inference-service] :param str dry_run: When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed [e2e-llm-inference-service] :param str field_manager: fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. [e2e-llm-inference-service] :param str field_validation: fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered. [e2e-llm-inference-service] :param _return_http_data_only: response data without head status code [e2e-llm-inference-service] and headers [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: tuple(V1Namespace, status_code(int), headers(HTTPHeaderDict)) [e2e-llm-inference-service] If the method is called asynchronously, [e2e-llm-inference-service] returns the request thread. [e2e-llm-inference-service] """ [e2e-llm-inference-service] [e2e-llm-inference-service] local_var_params = locals() [e2e-llm-inference-service] [e2e-llm-inference-service] all_params = [ [e2e-llm-inference-service] 'body', [e2e-llm-inference-service] 'pretty', [e2e-llm-inference-service] 'dry_run', [e2e-llm-inference-service] 'field_manager', [e2e-llm-inference-service] 'field_validation' [e2e-llm-inference-service] ] [e2e-llm-inference-service] all_params.extend( [e2e-llm-inference-service] [ [e2e-llm-inference-service] 'async_req', [e2e-llm-inference-service] '_return_http_data_only', [e2e-llm-inference-service] '_preload_content', [e2e-llm-inference-service] '_request_timeout' [e2e-llm-inference-service] ] [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] for key, val in six.iteritems(local_var_params['kwargs']): [e2e-llm-inference-service] if key not in all_params: [e2e-llm-inference-service] raise ApiTypeError( [e2e-llm-inference-service] "Got an unexpected keyword argument '%s'" [e2e-llm-inference-service] " to method create_namespace" % key [e2e-llm-inference-service] ) [e2e-llm-inference-service] local_var_params[key] = val [e2e-llm-inference-service] del local_var_params['kwargs'] [e2e-llm-inference-service] # verify the required parameter 'body' is set [e2e-llm-inference-service] if self.api_client.client_side_validation and ('body' not in local_var_params or # noqa: E501 [e2e-llm-inference-service] local_var_params['body'] is None): # noqa: E501 [e2e-llm-inference-service] raise ApiValueError("Missing the required parameter `body` when calling `create_namespace`") # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] collection_formats = {} [e2e-llm-inference-service] [e2e-llm-inference-service] path_params = {} [e2e-llm-inference-service] [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] if 'pretty' in local_var_params and local_var_params['pretty'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('pretty', local_var_params['pretty'])) # noqa: E501 [e2e-llm-inference-service] if 'dry_run' in local_var_params and local_var_params['dry_run'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('dryRun', local_var_params['dry_run'])) # noqa: E501 [e2e-llm-inference-service] if 'field_manager' in local_var_params and local_var_params['field_manager'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('fieldManager', local_var_params['field_manager'])) # noqa: E501 [e2e-llm-inference-service] if 'field_validation' in local_var_params and local_var_params['field_validation'] is not None: # noqa: E501 [e2e-llm-inference-service] query_params.append(('fieldValidation', local_var_params['field_validation'])) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] header_params = {} [e2e-llm-inference-service] [e2e-llm-inference-service] form_params = [] [e2e-llm-inference-service] local_var_files = {} [e2e-llm-inference-service] [e2e-llm-inference-service] body_params = None [e2e-llm-inference-service] if 'body' in local_var_params: [e2e-llm-inference-service] body_params = local_var_params['body'] [e2e-llm-inference-service] # HTTP header `Accept` [e2e-llm-inference-service] header_params['Accept'] = self.api_client.select_header_accept( [e2e-llm-inference-service] ['application/json', 'application/yaml', 'application/vnd.kubernetes.protobuf', 'application/cbor']) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] # Authentication setting [e2e-llm-inference-service] auth_settings = ['BearerToken'] # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] > return self.api_client.call_api( [e2e-llm-inference-service] '/api/v1/namespaces', 'POST', [e2e-llm-inference-service] path_params, [e2e-llm-inference-service] query_params, [e2e-llm-inference-service] header_params, [e2e-llm-inference-service] body=body_params, [e2e-llm-inference-service] post_params=form_params, [e2e-llm-inference-service] files=local_var_files, [e2e-llm-inference-service] response_type='V1Namespace', # noqa: E501 [e2e-llm-inference-service] auth_settings=auth_settings, [e2e-llm-inference-service] async_req=local_var_params.get('async_req'), [e2e-llm-inference-service] _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 [e2e-llm-inference-service] _preload_content=local_var_params.get('_preload_content', True), [e2e-llm-inference-service] _request_timeout=local_var_params.get('_request_timeout'), [e2e-llm-inference-service] collection_formats=collection_formats) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api/core_v1_api.py:6454: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] resource_path = '/api/v1/namespaces', method = 'POST', path_params = {} [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] header_params = {'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'api_version': None, [e2e-llm-inference-service] 'kind': None, [e2e-llm-inference-service] 'metadata': {'annotations': None, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] ... 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': None, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] post_params = [], files = {}, response_type = 'V1Namespace' [e2e-llm-inference-service] auth_settings = ['BearerToken'], async_req = None, _return_http_data_only = True [e2e-llm-inference-service] collection_formats = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] _host = None [e2e-llm-inference-service] [e2e-llm-inference-service] def call_api(self, resource_path, method, [e2e-llm-inference-service] path_params=None, query_params=None, header_params=None, [e2e-llm-inference-service] body=None, post_params=None, files=None, [e2e-llm-inference-service] response_type=None, auth_settings=None, async_req=None, [e2e-llm-inference-service] _return_http_data_only=None, collection_formats=None, [e2e-llm-inference-service] _preload_content=True, _request_timeout=None, _host=None): [e2e-llm-inference-service] """Makes the HTTP request (synchronous) and returns deserialized data. [e2e-llm-inference-service] [e2e-llm-inference-service] To make an async_req request, set the async_req parameter. [e2e-llm-inference-service] [e2e-llm-inference-service] :param resource_path: Path to method endpoint. [e2e-llm-inference-service] :param method: Method to call. [e2e-llm-inference-service] :param path_params: Path parameters in the url. [e2e-llm-inference-service] :param query_params: Query parameters in the url. [e2e-llm-inference-service] :param header_params: Header parameters to be [e2e-llm-inference-service] placed in the request header. [e2e-llm-inference-service] :param body: Request body. [e2e-llm-inference-service] :param post_params dict: Request post form parameters, [e2e-llm-inference-service] for `application/x-www-form-urlencoded`, `multipart/form-data`. [e2e-llm-inference-service] :param auth_settings list: Auth Settings names for the request. [e2e-llm-inference-service] :param response: Response data type. [e2e-llm-inference-service] :param files dict: key -> filename, value -> filepath, [e2e-llm-inference-service] for `multipart/form-data`. [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param _return_http_data_only: response data without head status code [e2e-llm-inference-service] and headers [e2e-llm-inference-service] :param collection_formats: dict of collection formats for path, query, [e2e-llm-inference-service] header, and post parameters. [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: [e2e-llm-inference-service] If async_req parameter is True, [e2e-llm-inference-service] the request will be called asynchronously. [e2e-llm-inference-service] The method will return the request thread. [e2e-llm-inference-service] If parameter async_req is False or missing, [e2e-llm-inference-service] then the method will return the response directly. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if not async_req: [e2e-llm-inference-service] > return self.__call_api(resource_path, method, [e2e-llm-inference-service] path_params, query_params, header_params, [e2e-llm-inference-service] body, post_params, files, [e2e-llm-inference-service] response_type, auth_settings, [e2e-llm-inference-service] _return_http_data_only, collection_formats, [e2e-llm-inference-service] _preload_content, _request_timeout, _host) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:348: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] resource_path = '/api/v1/namespaces', method = 'POST', path_params = {} [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] header_params = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-b5dd93e6'}} [e2e-llm-inference-service] post_params = [], files = {}, response_type = 'V1Namespace' [e2e-llm-inference-service] auth_settings = ['BearerToken'], _return_http_data_only = True [e2e-llm-inference-service] collection_formats = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] _host = None [e2e-llm-inference-service] [e2e-llm-inference-service] def __call_api( [e2e-llm-inference-service] self, resource_path, method, path_params=None, [e2e-llm-inference-service] query_params=None, header_params=None, body=None, post_params=None, [e2e-llm-inference-service] files=None, response_type=None, auth_settings=None, [e2e-llm-inference-service] _return_http_data_only=None, collection_formats=None, [e2e-llm-inference-service] _preload_content=True, _request_timeout=None, _host=None): [e2e-llm-inference-service] [e2e-llm-inference-service] config = self.configuration [e2e-llm-inference-service] [e2e-llm-inference-service] # header parameters [e2e-llm-inference-service] header_params = header_params or {} [e2e-llm-inference-service] header_params.update(self.default_headers) [e2e-llm-inference-service] if self.cookie: [e2e-llm-inference-service] header_params['Cookie'] = self.cookie [e2e-llm-inference-service] if header_params: [e2e-llm-inference-service] header_params = self.sanitize_for_serialization(header_params) [e2e-llm-inference-service] header_params = dict(self.parameters_to_tuples(header_params, [e2e-llm-inference-service] collection_formats)) [e2e-llm-inference-service] [e2e-llm-inference-service] # path parameters [e2e-llm-inference-service] if path_params: [e2e-llm-inference-service] path_params = self.sanitize_for_serialization(path_params) [e2e-llm-inference-service] path_params = self.parameters_to_tuples(path_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] for k, v in path_params: [e2e-llm-inference-service] # specified safe chars, encode everything [e2e-llm-inference-service] resource_path = resource_path.replace( [e2e-llm-inference-service] '{%s}' % k, [e2e-llm-inference-service] quote(str(v), safe=config.safe_chars_for_path_param) [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # query parameters [e2e-llm-inference-service] if query_params: [e2e-llm-inference-service] query_params = self.sanitize_for_serialization(query_params) [e2e-llm-inference-service] query_params = self.parameters_to_tuples(query_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] [e2e-llm-inference-service] # post parameters [e2e-llm-inference-service] if post_params or files: [e2e-llm-inference-service] post_params = post_params if post_params else [] [e2e-llm-inference-service] post_params = self.sanitize_for_serialization(post_params) [e2e-llm-inference-service] post_params = self.parameters_to_tuples(post_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] post_params.extend(self.files_parameters(files)) [e2e-llm-inference-service] [e2e-llm-inference-service] # auth setting [e2e-llm-inference-service] self.update_params_for_auth(header_params, query_params, auth_settings) [e2e-llm-inference-service] [e2e-llm-inference-service] # body [e2e-llm-inference-service] if body: [e2e-llm-inference-service] body = self.sanitize_for_serialization(body) [e2e-llm-inference-service] [e2e-llm-inference-service] # request url [e2e-llm-inference-service] if _host is None: [e2e-llm-inference-service] url = self.configuration.host + resource_path [e2e-llm-inference-service] else: [e2e-llm-inference-service] # use server/host defined in path or operation instead [e2e-llm-inference-service] url = _host + resource_path [e2e-llm-inference-service] [e2e-llm-inference-service] # perform request and return response [e2e-llm-inference-service] > response_data = self.request( [e2e-llm-inference-service] method, url, query_params=query_params, headers=header_params, [e2e-llm-inference-service] post_params=post_params, body=body, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:180: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] post_params = [] [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-b5dd93e6'}} [e2e-llm-inference-service] _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def request(self, method, url, query_params=None, headers=None, [e2e-llm-inference-service] post_params=None, body=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] """Makes the HTTP request using RESTClient.""" [e2e-llm-inference-service] if method == "GET": [e2e-llm-inference-service] return self.rest_client.GET(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] elif method == "HEAD": [e2e-llm-inference-service] return self.rest_client.HEAD(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] elif method == "OPTIONS": [e2e-llm-inference-service] return self.rest_client.OPTIONS(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout) [e2e-llm-inference-service] elif method == "POST": [e2e-llm-inference-service] > return self.rest_client.POST(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] post_params=post_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:391: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] query_params = [], post_params = [] [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-b5dd93e6'}} [e2e-llm-inference-service] _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def POST(self, url, headers=None, query_params=None, post_params=None, [e2e-llm-inference-service] body=None, _preload_content=True, _request_timeout=None): [e2e-llm-inference-service] > return self.request("POST", url, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] post_params=post_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] body=body) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/rest.py:279: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = {'metadata': {'labels': {'kserve.io/e2e-test': 'true'}, 'name': 'e2e-test-llm-inference-service-b5dd93e6'}} [e2e-llm-inference-service] post_params = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def request(self, method, url, query_params=None, headers=None, [e2e-llm-inference-service] body=None, post_params=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] """Perform requests. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: http request method [e2e-llm-inference-service] :param url: http request url [e2e-llm-inference-service] :param query_params: query parameters in the url [e2e-llm-inference-service] :param headers: http request headers [e2e-llm-inference-service] :param body: request json body, for `application/json` [e2e-llm-inference-service] :param post_params: request post parameters, [e2e-llm-inference-service] `application/x-www-form-urlencoded` [e2e-llm-inference-service] and `multipart/form-data` [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] """ [e2e-llm-inference-service] method = method.upper() [e2e-llm-inference-service] assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', [e2e-llm-inference-service] 'PATCH', 'OPTIONS'] [e2e-llm-inference-service] [e2e-llm-inference-service] if post_params and body: [e2e-llm-inference-service] raise ApiValueError( [e2e-llm-inference-service] "body parameter cannot be used with post_params parameter." [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] post_params = post_params or {} [e2e-llm-inference-service] headers = headers or {} [e2e-llm-inference-service] [e2e-llm-inference-service] timeout = None [e2e-llm-inference-service] if _request_timeout: [e2e-llm-inference-service] if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): # noqa: E501,F821 [e2e-llm-inference-service] timeout = urllib3.Timeout(total=_request_timeout) [e2e-llm-inference-service] elif (isinstance(_request_timeout, tuple) and [e2e-llm-inference-service] len(_request_timeout) == 2): [e2e-llm-inference-service] timeout = urllib3.Timeout( [e2e-llm-inference-service] connect=_request_timeout[0], read=_request_timeout[1]) [e2e-llm-inference-service] [e2e-llm-inference-service] if 'Content-Type' not in headers: [e2e-llm-inference-service] headers['Content-Type'] = 'application/json' [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` [e2e-llm-inference-service] if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: [e2e-llm-inference-service] if query_params: [e2e-llm-inference-service] url += '?' + urlencode(query_params) [e2e-llm-inference-service] if (re.search('json', headers['Content-Type'], re.IGNORECASE) or [e2e-llm-inference-service] headers['Content-Type'] == 'application/apply-patch+yaml'): [e2e-llm-inference-service] if headers['Content-Type'] == 'application/json-patch+json': [e2e-llm-inference-service] if not isinstance(body, list): [e2e-llm-inference-service] headers['Content-Type'] = \ [e2e-llm-inference-service] 'application/strategic-merge-patch+json' [e2e-llm-inference-service] request_body = None [e2e-llm-inference-service] if body is not None: [e2e-llm-inference-service] request_body = json.dumps(body) [e2e-llm-inference-service] > r = self.pool_manager.request( [e2e-llm-inference-service] method, url, [e2e-llm-inference-service] body=request_body, [e2e-llm-inference-service] preload_content=_preload_content, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/rest.py:172: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}' [e2e-llm-inference-service] fields = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] json = None [e2e-llm-inference-service] urlopen_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}', 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] [e2e-llm-inference-service] def request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] fields: _TYPE_FIELDS | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] json: typing.Any | None = None, [e2e-llm-inference-service] **urlopen_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Make a request using :meth:`urlopen` with the appropriate encoding of [e2e-llm-inference-service] ``fields`` based on the ``method`` used. [e2e-llm-inference-service] [e2e-llm-inference-service] This is a convenience method that requires the least amount of manual [e2e-llm-inference-service] effort. It can be used in most situations, while still having the [e2e-llm-inference-service] option to drop down to more specific methods when necessary, such as [e2e-llm-inference-service] :meth:`request_encode_url`, :meth:`request_encode_body`, [e2e-llm-inference-service] or even the lowest level :meth:`urlopen`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param fields: [e2e-llm-inference-service] Data to encode and send in the URL or request body, depending on ``method``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param json: [e2e-llm-inference-service] Data to encode and send as JSON with UTF-encoded in the request body. [e2e-llm-inference-service] The ``"Content-Type"`` header will be set to ``"application/json"`` [e2e-llm-inference-service] unless specified otherwise. [e2e-llm-inference-service] """ [e2e-llm-inference-service] method = method.upper() [e2e-llm-inference-service] [e2e-llm-inference-service] if json is not None and body is not None: [e2e-llm-inference-service] raise TypeError( [e2e-llm-inference-service] "request got values for both 'body' and 'json' parameters which are mutually exclusive" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if json is not None: [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not ("content-type" in map(str.lower, headers.keys())): [e2e-llm-inference-service] headers = HTTPHeaderDict(headers) [e2e-llm-inference-service] headers["Content-Type"] = "application/json" [e2e-llm-inference-service] [e2e-llm-inference-service] body = _json.dumps(json, separators=(",", ":"), ensure_ascii=False).encode( [e2e-llm-inference-service] "utf-8" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if body is not None: [e2e-llm-inference-service] urlopen_kw["body"] = body [e2e-llm-inference-service] [e2e-llm-inference-service] if method in self._encode_url_methods: [e2e-llm-inference-service] return self.request_encode_url( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] fields=fields, # type: ignore[arg-type] [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] **urlopen_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] > return self.request_encode_body( [e2e-llm-inference-service] method, url, fields=fields, headers=headers, **urlopen_kw [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/_request_methods.py:143: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] fields = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] encode_multipart = True, multipart_boundary = None [e2e-llm-inference-service] urlopen_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}', 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] extra_kw = {'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}'...nt': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}), 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] [e2e-llm-inference-service] def request_encode_body( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] fields: _TYPE_FIELDS | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] encode_multipart: bool = True, [e2e-llm-inference-service] multipart_boundary: str | None = None, [e2e-llm-inference-service] **urlopen_kw: str, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Make a request using :meth:`urlopen` with the ``fields`` encoded in [e2e-llm-inference-service] the body. This is useful for request methods like POST, PUT, PATCH, etc. [e2e-llm-inference-service] [e2e-llm-inference-service] When ``encode_multipart=True`` (default), then [e2e-llm-inference-service] :func:`urllib3.encode_multipart_formdata` is used to encode [e2e-llm-inference-service] the payload with the appropriate content type. Otherwise [e2e-llm-inference-service] :func:`urllib.parse.urlencode` is used with the [e2e-llm-inference-service] 'application/x-www-form-urlencoded' content type. [e2e-llm-inference-service] [e2e-llm-inference-service] Multipart encoding must be used when posting files, and it's reasonably [e2e-llm-inference-service] safe to use it in other times too. However, it may break request [e2e-llm-inference-service] signing, such as with OAuth. [e2e-llm-inference-service] [e2e-llm-inference-service] Supports an optional ``fields`` parameter of key/value strings AND [e2e-llm-inference-service] key/filetuple. A filetuple is a (filename, data, MIME type) tuple where [e2e-llm-inference-service] the MIME type is optional. For example:: [e2e-llm-inference-service] [e2e-llm-inference-service] fields = { [e2e-llm-inference-service] 'foo': 'bar', [e2e-llm-inference-service] 'fakefile': ('foofile.txt', 'contents of foofile'), [e2e-llm-inference-service] 'realfile': ('barfile.txt', open('realfile').read()), [e2e-llm-inference-service] 'typedfile': ('bazfile.bin', open('bazfile').read(), [e2e-llm-inference-service] 'image/jpeg'), [e2e-llm-inference-service] 'nonamefile': 'contents of nonamefile field', [e2e-llm-inference-service] } [e2e-llm-inference-service] [e2e-llm-inference-service] When uploading a file, providing a filename (the first parameter of the [e2e-llm-inference-service] tuple) is optional but recommended to best mimic behavior of browsers. [e2e-llm-inference-service] [e2e-llm-inference-service] Note that if ``headers`` are supplied, the 'Content-Type' header will [e2e-llm-inference-service] be overwritten because it depends on the dynamic random boundary string [e2e-llm-inference-service] which is used to compose the body of the request. The random boundary [e2e-llm-inference-service] string can be explicitly set with the ``multipart_boundary`` parameter. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param fields: [e2e-llm-inference-service] Data to encode and send in the request body. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param encode_multipart: [e2e-llm-inference-service] If True, encode the ``fields`` using the multipart/form-data MIME [e2e-llm-inference-service] format. [e2e-llm-inference-service] [e2e-llm-inference-service] :param multipart_boundary: [e2e-llm-inference-service] If not specified, then a random boundary will be generated using [e2e-llm-inference-service] :func:`urllib3.filepost.choose_boundary`. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw: dict[str, typing.Any] = {"headers": HTTPHeaderDict(headers)} [e2e-llm-inference-service] body: bytes | str [e2e-llm-inference-service] [e2e-llm-inference-service] if fields: [e2e-llm-inference-service] if "body" in urlopen_kw: [e2e-llm-inference-service] raise TypeError( [e2e-llm-inference-service] "request got values for both 'fields' and 'body', can only specify one." [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if encode_multipart: [e2e-llm-inference-service] body, content_type = encode_multipart_formdata( [e2e-llm-inference-service] fields, boundary=multipart_boundary [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] body, content_type = ( [e2e-llm-inference-service] urlencode(fields), # type: ignore[arg-type] [e2e-llm-inference-service] "application/x-www-form-urlencoded", [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw["body"] = body [e2e-llm-inference-service] extra_kw["headers"].setdefault("Content-Type", content_type) [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw.update(urlopen_kw) [e2e-llm-inference-service] [e2e-llm-inference-service] > return self.urlopen(method, url, **extra_kw) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/_request_methods.py:278: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces' [e2e-llm-inference-service] redirect = True [e2e-llm-inference-service] kw = {'assert_same_host': False, 'body': '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inf...', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}), 'preload_content': True, ...} [e2e-llm-inference-service] u = Url(scheme='https', auth=None, host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443, path='/api/v1/namespaces', query=None, fragment=None) [e2e-llm-inference-service] conn = [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, method: str, url: str, redirect: bool = True, **kw: typing.Any [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Same as :meth:`urllib3.HTTPConnectionPool.urlopen` [e2e-llm-inference-service] with custom cross-host redirect logic and only sends the request-uri [e2e-llm-inference-service] portion of the ``url``. [e2e-llm-inference-service] [e2e-llm-inference-service] The given ``url`` parameter must be absolute, such that an appropriate [e2e-llm-inference-service] :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. [e2e-llm-inference-service] """ [e2e-llm-inference-service] u = parse_url(url) [e2e-llm-inference-service] [e2e-llm-inference-service] if u.scheme is None: [e2e-llm-inference-service] warnings.warn( [e2e-llm-inference-service] "URLs without a scheme (ie 'https://') are deprecated and will raise an error " [e2e-llm-inference-service] "in urllib3 v3.0. To avoid this FutureWarning ensure all URLs " [e2e-llm-inference-service] "start with 'https://' or 'http://'. Read more in this issue: " [e2e-llm-inference-service] "https://github.com/urllib3/urllib3/issues/2920", [e2e-llm-inference-service] category=FutureWarning, [e2e-llm-inference-service] stacklevel=2, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) [e2e-llm-inference-service] [e2e-llm-inference-service] kw["assert_same_host"] = False [e2e-llm-inference-service] kw["redirect"] = False [e2e-llm-inference-service] [e2e-llm-inference-service] if "headers" not in kw: [e2e-llm-inference-service] kw["headers"] = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if self._proxy_requires_url_absolute_form(u): [e2e-llm-inference-service] response = conn.urlopen(method, url, **kw) [e2e-llm-inference-service] else: [e2e-llm-inference-service] > response = conn.urlopen(method, u.request_uri, **kw) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/poolmanager.py:457: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=2, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=1, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces' [e2e-llm-inference-service] body = '{"metadata": {"labels": {"kserve.io/e2e-test": "true"}, "name": "e2e-test-llm-inference-service-b5dd93e6"}}' [e2e-llm-inference-service] headers = HTTPHeaderDict({'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python', 'Content-Type': 'application/json'}) [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False, err = None [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] > retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:842: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] method = 'POST', url = '/api/v1/namespaces', response = None [e2e-llm-inference-service] error = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] _pool = [e2e-llm-inference-service] _stacktrace = [e2e-llm-inference-service] [e2e-llm-inference-service] def increment( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str | None = None, [e2e-llm-inference-service] url: str | None = None, [e2e-llm-inference-service] response: BaseHTTPResponse | None = None, [e2e-llm-inference-service] error: Exception | None = None, [e2e-llm-inference-service] _pool: ConnectionPool | None = None, [e2e-llm-inference-service] _stacktrace: TracebackType | None = None, [e2e-llm-inference-service] ) -> Self: [e2e-llm-inference-service] """Return a new Retry object with incremented retry counters. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response: A response object, or None, if the server did not [e2e-llm-inference-service] return a response. [e2e-llm-inference-service] :type response: :class:`~urllib3.response.BaseHTTPResponse` [e2e-llm-inference-service] :param Exception error: An error encountered during the request, or [e2e-llm-inference-service] None if the response was received successfully. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: A new ``Retry`` object. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if self.total is False and error: [e2e-llm-inference-service] # Disabled, indicate to re-raise the error. [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] [e2e-llm-inference-service] total = self.total [e2e-llm-inference-service] if total is not None: [e2e-llm-inference-service] total -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] connect = self.connect [e2e-llm-inference-service] read = self.read [e2e-llm-inference-service] redirect = self.redirect [e2e-llm-inference-service] status_count = self.status [e2e-llm-inference-service] other = self.other [e2e-llm-inference-service] cause = "unknown" [e2e-llm-inference-service] status = None [e2e-llm-inference-service] redirect_location = None [e2e-llm-inference-service] [e2e-llm-inference-service] if error and self._is_connection_error(error): [e2e-llm-inference-service] # Connect retry? [e2e-llm-inference-service] if connect is False: [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] elif connect is not None: [e2e-llm-inference-service] connect -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif error and self._is_read_error(error): [e2e-llm-inference-service] # Read retry? [e2e-llm-inference-service] if read is False or method is None or not self._is_method_retryable(method): [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] elif read is not None: [e2e-llm-inference-service] read -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif error: [e2e-llm-inference-service] # Other retry? [e2e-llm-inference-service] if other is not None: [e2e-llm-inference-service] other -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif response and response.get_redirect_location(): [e2e-llm-inference-service] # Redirect retry? [e2e-llm-inference-service] if redirect is not None: [e2e-llm-inference-service] redirect -= 1 [e2e-llm-inference-service] cause = "too many redirects" [e2e-llm-inference-service] response_redirect_location = response.get_redirect_location() [e2e-llm-inference-service] if response_redirect_location: [e2e-llm-inference-service] redirect_location = response_redirect_location [e2e-llm-inference-service] status = response.status [e2e-llm-inference-service] [e2e-llm-inference-service] else: [e2e-llm-inference-service] # Incrementing because of a server error like a 500 in [e2e-llm-inference-service] # status_forcelist and the given method is in the allowed_methods [e2e-llm-inference-service] cause = ResponseError.GENERIC_ERROR [e2e-llm-inference-service] if response and response.status: [e2e-llm-inference-service] if status_count is not None: [e2e-llm-inference-service] status_count -= 1 [e2e-llm-inference-service] cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) [e2e-llm-inference-service] status = response.status [e2e-llm-inference-service] [e2e-llm-inference-service] history = self.history + ( [e2e-llm-inference-service] RequestHistory(method, url, error, status, redirect_location), [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] new_retry = self.new( [e2e-llm-inference-service] total=total, [e2e-llm-inference-service] connect=connect, [e2e-llm-inference-service] read=read, [e2e-llm-inference-service] redirect=redirect, [e2e-llm-inference-service] status=status_count, [e2e-llm-inference-service] other=other, [e2e-llm-inference-service] history=history, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if new_retry.is_exhausted(): [e2e-llm-inference-service] reason = error or ResponseError(cause) [e2e-llm-inference-service] > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] [e2e-llm-inference-service] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /api/v1/namespaces (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/util/retry.py:543: MaxRetryError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces [e2e-llm-inference-service] =================================== FAILURES =================================== [e2e-llm-inference-service] _ test_llm_autoscaling_hpa_deployment[router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-hpa] _ [e2e-llm-inference-service] [gw0] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-hpa'], prom... {'name': 'scaling-hpa-autoscale-hpa-deplo-347a3180'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.mark.autoscaling_hpa [e2e-llm-inference-service] @pytest.mark.parametrize( [e2e-llm-inference-service] "test_case", [e2e-llm-inference-service] [ [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator-no-replicas", [e2e-llm-inference-service] "prometheus-scrape", [e2e-llm-inference-service] "scaling-hpa", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="autoscale-hpa-deploy", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] indirect=["test_case"], [e2e-llm-inference-service] ids=generate_test_id, [e2e-llm-inference-service] ) [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def test_llm_autoscaling_hpa_deployment(test_case: TestCase): [e2e-llm-inference-service] """HPA + Deployment: HPA exists with WVA annotations; pods scale up under load.""" [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] kserve_client = _new_kserve_client() [e2e-llm-inference-service] service_name = test_case.llm_service.metadata.name [e2e-llm-inference-service] ns = test_case.namespace [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > _create_and_wait(kserve_client, test_case) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:542: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-hpa'], prom... {'name': 'scaling-hpa-autoscale-hpa-deplo-347a3180'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] def _create_and_wait(kserve_client, test_case): [e2e-llm-inference-service] """Create LLMISVC and wait for it to be ready.""" [e2e-llm-inference-service] create_llmisvc(kserve_client, test_case.llm_service) [e2e-llm-inference-service] > wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client, test_case.llm_service, test_case.wait_timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:482: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] args = (, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kin...e-hpa-4c186bcf'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-deplo-347a3180'}]}, [e2e-llm-inference-service] 'status': None}, 900) [e2e-llm-inference-service] kwargs = {}, func_name = 'wait_for_llm_isvc_ready' [e2e-llm-inference-service] timestamp_start = '2026-07-30T17:24:56.360388', start_time = 1785432296.3606734 [e2e-llm-inference-service] duration = 900.5952887535095, timestamp_end = '2026-07-30T17:39:56.955973' [e2e-llm-inference-service] [e2e-llm-inference-service] @functools.wraps(func) [e2e-llm-inference-service] def wrapper(*args, **kwargs): [e2e-llm-inference-service] func_name = func.__name__ [e2e-llm-inference-service] [e2e-llm-inference-service] timestamp_start = datetime.now().isoformat() [e2e-llm-inference-service] logger.info( [e2e-llm-inference-service] f"[{func_name}] [{timestamp_start}] start - args={args}, kwargs={kwargs}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] start_time = time.time() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > result = func(*args, **kwargs) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/logging.py:40: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] given = {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security....toscale-hpa-4c186bcf'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-deplo-347a3180'}]}, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] timeout_seconds = 900 [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client: KServeClient, [e2e-llm-inference-service] given: V1alpha1LLMInferenceService, [e2e-llm-inference-service] timeout_seconds: int = 900, [e2e-llm-inference-service] ) -> str: [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] return True [e2e-llm-inference-service] [e2e-llm-inference-service] > return wait_for(assert_llm_isvc_ready, timeout=timeout_seconds, interval=1.0) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1376: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] assertion_fn = .assert_llm_isvc_ready at 0x7f24da72e3e0> [e2e-llm-inference-service] timeout = 900, interval = 1.0 [e2e-llm-inference-service] [e2e-llm-inference-service] def wait_for( [e2e-llm-inference-service] assertion_fn: Callable[[], Any], timeout: float = 5.0, interval: float = 0.1 [e2e-llm-inference-service] ) -> Any: [e2e-llm-inference-service] """Wait for the assertion to succeed within timeout.""" [e2e-llm-inference-service] deadline = time.time() + timeout [e2e-llm-inference-service] last_msg = None [e2e-llm-inference-service] while True: [e2e-llm-inference-service] try: [e2e-llm-inference-service] > return assertion_fn() [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1387: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] > raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] E AssertionError: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1371: AssertionError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:82 Created test namespace e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret seaweedfs-s3-creds from kserve-ci-e2e-test to e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret storage-config from kserve-ci-e2e-test to e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:178 Patched default SA in e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 with secret seaweedfs-s3-creds [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:162 ConfigMap odh-kserve-custom-ca-bundle already exists in e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:159 Copied ConfigMap odh-trusted-ca-bundle from kserve-ci-e2e-test to e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig router-managed-autoscale-hpa-de-ec1dce8b in namespace e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig router-managed-autoscale-hpa-de-ec1dce8b [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig router-managed-autoscale-hpa-de-ec1dce8b [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig workload-llmd-simulator-no-repl-38916baa in namespace e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig workload-llmd-simulator-no-repl-38916baa [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig workload-llmd-simulator-no-repl-38916baa [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig prometheus-scrape-autoscale-hpa-4c186bcf in namespace e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig prometheus-scrape-autoscale-hpa-4c186bcf [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig prometheus-scrape-autoscale-hpa-4c186bcf [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig scaling-hpa-autoscale-hpa-deplo-347a3180 in namespace e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig scaling-hpa-autoscale-hpa-deplo-347a3180 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig scaling-hpa-autoscale-hpa-deplo-347a3180 [e2e-llm-inference-service] ------------------------------ Captured log call ------------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [test_llm_autoscaling_hpa_deployment] [2026-07-30T17:24:56.204632] start - args=(), kwargs={'test_case': TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-hpa'], prompt='KServe is a', service_name='autoscale-hpa-deploy', endpoint='/v1/completions', max_tokens=20, payload_formatter=None, response_assertion=, wait_timeout=900, response_timeout=60, extra_headers=None, url_getter=None, expected_gateway=None, namespace='e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4', before_test=[], after_test=[], peers=[], llm_service={'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-hpa-deploy', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-hpa-de-ec1dce8b'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-38916baa'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-hpa-4c186bcf'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-deplo-347a3180'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m')} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [create_llmisvc] [2026-07-30T17:24:56.217655] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-hpa-deploy', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-hpa-de-ec1dce8b'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-38916baa'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-hpa-4c186bcf'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-deplo-347a3180'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [create_llmisvc] [2026-07-30T17:24:56.360224] end - ✅ in 0.142s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [wait_for_llm_isvc_ready] [2026-07-30T17:24:56.360388] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-hpa-deploy', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-hpa-de-ec1dce8b'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-38916baa'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-hpa-4c186bcf'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-deplo-347a3180'}]}, [e2e-llm-inference-service] 'status': None}, 900), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: No conditions found in status [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:25:08Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/autoscale-hpa-deploy-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'severity': 'Info', 'status': 'False', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'message': 'Inference Pool e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/autoscale-hpa-deploy-inference-pool exists but no Gateway controller has accepted it yet', 'reason': 'WaitingForGateway', 'severity': 'Info', 'status': 'False', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/autoscale-hpa-deploy-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/autoscale-hpa-deploy-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'message': 'HPA conditions not yet available', 'reason': 'HPAProgressing', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'reason': 'Progressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'message': 'HPA conditions not yet available', 'reason': 'HPAProgressing', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'message': 'HPA conditions not yet available', 'reason': 'HPAProgressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 3: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 4: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 5: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:1391 Timed out waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [wait_for_llm_isvc_ready] [2026-07-30T17:39:56.955973] end - ❌ 900.595s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [delete_llmisvc] [2026-07-30T17:39:56.956247] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-hpa-deploy', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-hpa-de-ec1dce8b'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-38916baa'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-hpa-4c186bcf'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-deplo-347a3180'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 2 pod(s) for autoscale-hpa-deploy still terminating: ['autoscale-hpa-deploy-kserve-66746bd8b9-t2shm', 'autoscale-hpa-deploy-kserve-router-scheduler-5bbdf87d58-nc2qx'] [e2e-llm-inference-service] assert not ['autoscale-hpa-deploy-kserve-66746bd8b9-t2shm', 'autoscale-hpa-deploy-kserve-router-scheduler-5bbdf87d58-nc2qx'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 1 pod(s) for autoscale-hpa-deploy still terminating: ['autoscale-hpa-deploy-kserve-router-scheduler-5bbdf87d58-nc2qx'] [e2e-llm-inference-service] assert not ['autoscale-hpa-deploy-kserve-router-scheduler-5bbdf87d58-nc2qx'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [delete_llmisvc] [2026-07-30T17:40:17.058155] end - ✅ in 20.101s [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [test_llm_autoscaling_hpa_deployment] [2026-07-30T17:40:17.058306] end - ❌ 920.853s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:25:21Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:25:39Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:25:22Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-deploy-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ---------------------------- Captured log teardown ----------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.conftest:conftest.py:168 Skipping deletion of namespace e2e-test-llm-autoscaling-hpa-deployment-9ba6f3f4 (SKIP_DELETION_ON_FAILURE) [e2e-llm-inference-service] _ test_llm_autoscaling_keda_deployment[router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-keda] _ [e2e-llm-inference-service] [gw0] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-keda'], pro... {'name': 'scaling-keda-autoscale-keda-dep-1ac84077'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.mark.autoscaling_keda [e2e-llm-inference-service] @pytest.mark.parametrize( [e2e-llm-inference-service] "test_case", [e2e-llm-inference-service] [ [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator-no-replicas", [e2e-llm-inference-service] "prometheus-scrape", [e2e-llm-inference-service] "scaling-keda", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="autoscale-keda-deploy", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] indirect=["test_case"], [e2e-llm-inference-service] ids=generate_test_id, [e2e-llm-inference-service] ) [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def test_llm_autoscaling_keda_deployment(test_case: TestCase): [e2e-llm-inference-service] """KEDA + Deployment: ScaledObject exists with WVA annotations; no HPA; pods scale up under load.""" [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] kserve_client = _new_kserve_client() [e2e-llm-inference-service] service_name = test_case.llm_service.metadata.name [e2e-llm-inference-service] ns = test_case.namespace [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > _create_and_wait(kserve_client, test_case) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:606: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-keda'], pro... {'name': 'scaling-keda-autoscale-keda-dep-1ac84077'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] def _create_and_wait(kserve_client, test_case): [e2e-llm-inference-service] """Create LLMISVC and wait for it to be ready.""" [e2e-llm-inference-service] create_llmisvc(kserve_client, test_case.llm_service) [e2e-llm-inference-service] > wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client, test_case.llm_service, test_case.wait_timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:482: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] args = (, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kin...e-ked-101f2a9d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-dep-1ac84077'}]}, [e2e-llm-inference-service] 'status': None}, 900) [e2e-llm-inference-service] kwargs = {}, func_name = 'wait_for_llm_isvc_ready' [e2e-llm-inference-service] timestamp_start = '2026-07-30T17:40:17.764980', start_time = 1785433217.765324 [e2e-llm-inference-service] duration = 900.3194184303284, timestamp_end = '2026-07-30T17:55:18.084762' [e2e-llm-inference-service] [e2e-llm-inference-service] @functools.wraps(func) [e2e-llm-inference-service] def wrapper(*args, **kwargs): [e2e-llm-inference-service] func_name = func.__name__ [e2e-llm-inference-service] [e2e-llm-inference-service] timestamp_start = datetime.now().isoformat() [e2e-llm-inference-service] logger.info( [e2e-llm-inference-service] f"[{func_name}] [{timestamp_start}] start - args={args}, kwargs={kwargs}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] start_time = time.time() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > result = func(*args, **kwargs) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/logging.py:40: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] given = {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security....toscale-ked-101f2a9d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-dep-1ac84077'}]}, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] timeout_seconds = 900 [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client: KServeClient, [e2e-llm-inference-service] given: V1alpha1LLMInferenceService, [e2e-llm-inference-service] timeout_seconds: int = 900, [e2e-llm-inference-service] ) -> str: [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] return True [e2e-llm-inference-service] [e2e-llm-inference-service] > return wait_for(assert_llm_isvc_ready, timeout=timeout_seconds, interval=1.0) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1376: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] assertion_fn = .assert_llm_isvc_ready at 0x7f24da561a80> [e2e-llm-inference-service] timeout = 900, interval = 1.0 [e2e-llm-inference-service] [e2e-llm-inference-service] def wait_for( [e2e-llm-inference-service] assertion_fn: Callable[[], Any], timeout: float = 5.0, interval: float = 0.1 [e2e-llm-inference-service] ) -> Any: [e2e-llm-inference-service] """Wait for the assertion to succeed within timeout.""" [e2e-llm-inference-service] deadline = time.time() + timeout [e2e-llm-inference-service] last_msg = None [e2e-llm-inference-service] while True: [e2e-llm-inference-service] try: [e2e-llm-inference-service] > return assertion_fn() [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1387: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] > raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] E AssertionError: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1371: AssertionError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:82 Created test namespace e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret seaweedfs-s3-creds from kserve-ci-e2e-test to e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret storage-config from kserve-ci-e2e-test to e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:178 Patched default SA in e2e-test-llm-autoscaling-keda-deployment-b2150d0b with secret seaweedfs-s3-creds [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:162 ConfigMap odh-kserve-custom-ca-bundle already exists in e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:159 Copied ConfigMap odh-trusted-ca-bundle from kserve-ci-e2e-test to e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig router-managed-autoscale-keda-d-27e06c40 in namespace e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig router-managed-autoscale-keda-d-27e06c40 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig router-managed-autoscale-keda-d-27e06c40 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig workload-llmd-simulator-no-repl-da49e827 in namespace e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig workload-llmd-simulator-no-repl-da49e827 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig workload-llmd-simulator-no-repl-da49e827 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig prometheus-scrape-autoscale-ked-101f2a9d in namespace e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig prometheus-scrape-autoscale-ked-101f2a9d [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig prometheus-scrape-autoscale-ked-101f2a9d [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig scaling-keda-autoscale-keda-dep-1ac84077 in namespace e2e-test-llm-autoscaling-keda-deployment-b2150d0b [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig scaling-keda-autoscale-keda-dep-1ac84077 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig scaling-keda-autoscale-keda-dep-1ac84077 [e2e-llm-inference-service] ------------------------------ Captured log call ------------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [test_llm_autoscaling_keda_deployment] [2026-07-30T17:40:17.609981] start - args=(), kwargs={'test_case': TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-keda'], prompt='KServe is a', service_name='autoscale-keda-deploy', endpoint='/v1/completions', max_tokens=20, payload_formatter=None, response_assertion=, wait_timeout=900, response_timeout=60, extra_headers=None, url_getter=None, expected_gateway=None, namespace='e2e-test-llm-autoscaling-keda-deployment-b2150d0b', before_test=[], after_test=[], peers=[], llm_service={'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-keda-deploy', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-keda-deployment-b2150d0b', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-keda-d-27e06c40'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-da49e827'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-ked-101f2a9d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-dep-1ac84077'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m')} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [create_llmisvc] [2026-07-30T17:40:17.622818] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-keda-deploy', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-keda-deployment-b2150d0b', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-keda-d-27e06c40'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-da49e827'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-ked-101f2a9d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-dep-1ac84077'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [create_llmisvc] [2026-07-30T17:40:17.764851] end - ✅ in 0.142s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [wait_for_llm_isvc_ready] [2026-07-30T17:40:17.764980] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-keda-deploy', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-keda-deployment-b2150d0b', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-keda-d-27e06c40'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-da49e827'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-ked-101f2a9d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-dep-1ac84077'}]}, [e2e-llm-inference-service] 'status': None}, 900), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: No conditions found in status [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:40:44Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-keda-deployment-b2150d0b/autoscale-keda-deploy-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'severity': 'Info', 'status': 'False', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'message': 'Inference Pool e2e-test-llm-autoscaling-keda-deployment-b2150d0b/autoscale-keda-deploy-inference-pool exists but no Gateway controller has accepted it yet', 'reason': 'WaitingForGateway', 'severity': 'Info', 'status': 'False', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-keda-deployment-b2150d0b/autoscale-keda-deploy-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-keda-deployment-b2150d0b/autoscale-keda-deploy-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'message': 'ScaledObject not yet visible in cache', 'reason': 'ScaledObjectProgressing', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'reason': 'Progressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 6: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 7: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 8: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:1391 Timed out waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [wait_for_llm_isvc_ready] [2026-07-30T17:55:18.084762] end - ❌ 900.319s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [delete_llmisvc] [2026-07-30T17:55:18.085110] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-keda-deploy', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-keda-deployment-b2150d0b', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-keda-d-27e06c40'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-da49e827'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-ked-101f2a9d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-dep-1ac84077'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 2 pod(s) for autoscale-keda-deploy still terminating: ['autoscale-keda-deploy-kserve-77fc6d7cf9-t7629', 'autoscale-keda-deploy-kserve-router-scheduler-79d6bcd899-wd4fr'] [e2e-llm-inference-service] assert not ['autoscale-keda-deploy-kserve-77fc6d7cf9-t7629', 'autoscale-keda-deploy-kserve-router-scheduler-79d6bcd899-wd4fr'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 1 pod(s) for autoscale-keda-deploy still terminating: ['autoscale-keda-deploy-kserve-router-scheduler-79d6bcd899-wd4fr'] [e2e-llm-inference-service] assert not ['autoscale-keda-deploy-kserve-router-scheduler-79d6bcd899-wd4fr'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [delete_llmisvc] [2026-07-30T17:55:53.330230] end - ✅ in 35.245s [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [test_llm_autoscaling_keda_deployment] [2026-07-30T17:55:53.330361] end - ❌ 935.720s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:44Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:41:15Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:40:59Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ---------------------------- Captured log teardown ----------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.conftest:conftest.py:168 Skipping deletion of namespace e2e-test-llm-autoscaling-keda-deployment-b2150d0b (SKIP_DELETION_ON_FAILURE) [e2e-llm-inference-service] _____ test_llm_inference_service[router-managed-workload-pd-cpu-model-pvc] _____ [e2e-llm-inference-service] [gw1] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-pd-cpu', 'model-pvc'], prompt='KServe is a', service_name='llmisvc-mod... {'name': 'model-pvc-llmisvc-model-pvc-rou-49c1f027'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] @pytest.mark.parametrize( [e2e-llm-inference-service] "test_case", [e2e-llm-inference-service] [ [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-with-gateway-ref", [e2e-llm-inference-service] "router-with-managed-route", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/completions", [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=create_response_assertion(with_field="choices"), [e2e-llm-inference-service] expected_gateway="router-gateway-1", [e2e-llm-inference-service] before_test=[ [e2e-llm-inference-service] lambda tc: create_router_resources( [e2e-llm-inference-service] gateways=[ [e2e-llm-inference-service] make_router_gateway( [e2e-llm-inference-service] "router-gateway-1", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] pytest.mark.custom_gateway, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-custom-route-timeout", [e2e-llm-inference-service] "scheduler-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="custom-route-timeout-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-with-refs", [e2e-llm-inference-service] "scheduler-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="router-with-refs-test", [e2e-llm-inference-service] expected_gateway="router-gateway-1", [e2e-llm-inference-service] before_test=[ [e2e-llm-inference-service] lambda tc: create_router_resources( [e2e-llm-inference-service] gateways=[ [e2e-llm-inference-service] make_router_gateway( [e2e-llm-inference-service] "router-gateway-1", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] routes=[ [e2e-llm-inference-service] make_router_main_route( [e2e-llm-inference-service] "router-route-1", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] "router-gateway-1", [e2e-llm-inference-service] "router-with-refs-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] make_router_health_route( [e2e-llm-inference-service] "router-route-2", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] "router-gateway-1", [e2e-llm-inference-service] "router-with-refs-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.custom_gateway, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=["router-managed", "workload-pd-cpu", "model-fb-opt-125m"], [e2e-llm-inference-service] prompt="You are an expert in Kubernetes-native machine learning serving platforms, with deep knowledge of the KServe project. " [e2e-llm-inference-service] "Explain the challenges of serving large-scale models, GPU scheduling, and how KServe integrates with capabilities like multi-model serving. " [e2e-llm-inference-service] "Provide a detailed comparison with open source alternatives, focusing on operational trade-offs.", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-custom-route-timeout-pd", [e2e-llm-inference-service] "scheduler-managed", [e2e-llm-inference-service] "workload-pd-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="You are an expert in Kubernetes-native machine learning serving platforms, with deep knowledge of the KServe project. " [e2e-llm-inference-service] "Explain the challenges of serving large-scale models, GPU scheduling, and how KServe integrates with capabilities like multi-model serving. " [e2e-llm-inference-service] "Provide a detailed comparison with open source alternatives, focusing on operational trade-offs.", [e2e-llm-inference-service] service_name="custom-route-timeout-pd-test", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-with-refs-pd", [e2e-llm-inference-service] "scheduler-managed", [e2e-llm-inference-service] "workload-pd-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="You are an expert in Kubernetes-native machine learning serving platforms, with deep knowledge of the KServe project. " [e2e-llm-inference-service] "Explain the challenges of serving large-scale models, GPU scheduling, and how KServe integrates with capabilities like multi-model serving. " [e2e-llm-inference-service] "Provide a detailed comparison with open source alternatives, focusing on operational trade-offs.", [e2e-llm-inference-service] service_name="router-with-refs-pd-test", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] expected_gateway="router-gateway-2", [e2e-llm-inference-service] before_test=[ [e2e-llm-inference-service] lambda tc: create_router_resources( [e2e-llm-inference-service] gateways=[ [e2e-llm-inference-service] make_router_gateway( [e2e-llm-inference-service] "router-gateway-2", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] routes=[ [e2e-llm-inference-service] make_router_main_route( [e2e-llm-inference-service] "router-route-3", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] "router-gateway-2", [e2e-llm-inference-service] "router-with-refs-pd-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] make_router_health_route( [e2e-llm-inference-service] "router-route-4", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] "router-gateway-2", [e2e-llm-inference-service] "router-with-refs-pd-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.custom_gateway, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-dp-ep-gpu", [e2e-llm-inference-service] "workload-dp-ep-prefill-gpu", [e2e-llm-inference-service] "model-deepseek-v2-lite", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="Delve into the multifaceted implications of a fully disaggregated cloud architecture, specifically " [e2e-llm-inference-service] "where the compute plane (P) and the data plane (D) are independently deployed and managed for a " [e2e-llm-inference-service] "geographically distributed, high-throughput, low-latency microservices ecosystem. Beyond the " [e2e-llm-inference-service] "fundamental challenges of network latency and data consistency, elaborate on the advanced " [e2e-llm-inference-service] "considerations and trade-offs inherent in such a setup: 1. Network Architecture and Protocols: " [e2e-llm-inference-service] "How would the network fabric and underlying protocols (e.g., RDMA, custom transport layers) need to " [e2e-llm-inference-service] "evolve to support optimal performance and minimize inter-plane communication overhead, especially for " [e2e-llm-inference-service] "synchronous operations? Discuss the role of network programmability (e.g., SDN, P4) in dynamically " [e2e-llm-inference-service] "optimizing routing and traffic flow between P and D. 2. Advanced Data Consistency and Durability: " [e2e-llm-inference-service] "Explore sophisticated data consistency models (e.g., causal consistency, strong eventual consistency) " [e2e-llm-inference-service] "and their applicability in balancing performance and data integrity across a globally distributed data plane. " [e2e-llm-inference-service] "Detail strategies for ensuring data durability and fault tolerance, including multi-region replication, " [e2e-llm-inference-service] "intelligent partitioning, and recovery mechanisms in the event of partial or full plane failures. " [e2e-llm-inference-service] "3. Dynamic Resource Orchestration and Cost Optimization: Analyze how an orchestration layer would intelligently " [e2e-llm-inference-service] "manage the independent scaling of compute (P) and data (D) resources, considering fluctuating workloads, " [e2e-llm-inference-service] "cost efficiency, and performance targets (e.g., using predictive analytics for resource provisioning). " [e2e-llm-inference-service] "Discuss mechanisms for dynamically reallocating compute nodes to different data partitions based on " [e2e-llm-inference-service] "workload patterns and data locality, potentially involving live migration strategies. " [e2e-llm-inference-service] "4. Security and Compliance in a Distributed Landscape: Address the enhanced security perimeter " [e2e-llm-inference-service] "challenges, including securing communication channels between P and D (encryption in transit, mutual TLS), " [e2e-llm-inference-service] "fine-grained access control to data at rest and in motion, and identity management across disaggregated " [e2e-llm-inference-service] "components. Discuss how such an architecture impacts compliance with regulatory frameworks (e.g., GDPR, HIPAA) " [e2e-llm-inference-service] "concerning data sovereignty, privacy, and auditability. 5. Operational Complexity and Observability: " [e2e-llm-inference-service] "Examine the increased complexity in monitoring, logging, and tracing across highly decoupled compute and " [e2e-llm-inference-service] "data planes. What specialized tooling and practices (e.g., distributed tracing with OpenTelemetry, advanced AIOps) " [e2e-llm-inference-service] "would be essential? How would incident response and troubleshooting differ in this disaggregated environment " [e2e-llm-inference-service] "compared to traditional integrated systems? Consider the challenges of pinpointing root causes across " [e2e-llm-inference-service] "independent failures. 6. Real-world Applicability and Future Trends: Identify specific industries " [e2e-llm-inference-service] "or use cases (e.g., high-frequency trading, IoT edge processing, large language model inference) " [e2e-llm-inference-service] "where the benefits of P/D disaggregation would strongly outweigh its complexities. " [e2e-llm-inference-service] "Conclude by speculating on emerging technologies or paradigms (e.g., serverless compute functions " [e2e-llm-inference-service] "directly interacting with object storage, in-memory disaggregation) that could further drive or " [e2e-llm-inference-service] "transform P/D disaggregation in cloud computing.", [e2e-llm-inference-service] max_tokens=2000, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_gpu, [e2e-llm-inference-service] pytest.mark.cluster_nvidia, [e2e-llm-inference-service] pytest.mark.cluster_nvidia_roce, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-no-scheduler", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="What is KServe?", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.no_scheduler, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-simulated-dp-ep-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="This test simulates DP+EP that can run on CPU, the idea is to test the LWS-based deployment, " [e2e-llm-inference-service] "but without the resources requirements for DP+EP (GPUs and ROCe/IB).", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_multi_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Scheduler config tests [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-inline-config", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-inline-config-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Chat completions endpoint coverage [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] "model-qwen2.5-0.5b", [e2e-llm-inference-service] ], [e2e-llm-inference-service] model_name="Qwen/Qwen2.5-0.5B-Instruct", [e2e-llm-inference-service] endpoint="/v1/chat/completions", [e2e-llm-inference-service] prompt="What is KServe?", [e2e-llm-inference-service] payload_formatter=chat_completions_payload, [e2e-llm-inference-service] response_assertion=create_response_assertion(with_field="choices"), [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-configmap-ref", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-configmap-ref-test", [e2e-llm-inference-service] before_test=[ [e2e-llm-inference-service] lambda tc: create_scheduler_configmap(namespace=tc.namespace) [e2e-llm-inference-service] ], [e2e-llm-inference-service] after_test=[ [e2e-llm-inference-service] lambda tc: delete_scheduler_configmap(namespace=tc.namespace) [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-replicas", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-ha-replicas-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-custom-template", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-custom-template-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Scheduler v0.6 → v0.7 migration tests. [e2e-llm-inference-service] # Deploy v0.6-style configs and verify the controller migrates them [e2e-llm-inference-service] # so the v0.7 scheduler boots successfully. [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-v06-pd-config-migration", [e2e-llm-inference-service] "workload-llmd-simulator-pd", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-v06-pd-migration-test", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-v06-nonzero-threshold-migration", [e2e-llm-inference-service] "workload-llmd-simulator-pd", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-v06-threshold-migration-test", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Standalone tokenizer — clean path: token-producer in inline config [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-tokenizer-kvcache", [e2e-llm-inference-service] "workload-llmd-simulator-kvcache", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="tokenizer-clean-path-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Standalone tokenizer — migration path: legacy precise-prefix-cache-scorer [e2e-llm-inference-service] # triggers auto-provisioned tokenizer without explicit tokenizer:{} field [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-precise-prefix-cache-inline-config", [e2e-llm-inference-service] "workload-llmd-simulator-kvcache", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="tokenizer-migration-path-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Models endpoint coverage [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/models", [e2e-llm-inference-service] response_assertion=create_response_assertion(with_field="data"), [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Model-based routing via X-Gateway-Model-Name header — /v1/completions [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/completions", [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches("facebook/opt-125m"), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/facebook/opt-125m", [e2e-llm-inference-service] }, [e2e-llm-inference-service] peers=[ [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] "model-qwen2.5-0.5b", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/completions", [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches( [e2e-llm-inference-service] "Qwen/Qwen2.5-0.5B-Instruct" [e2e-llm-inference-service] ), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/Qwen/Qwen2.5-0.5B-Instruct", [e2e-llm-inference-service] }, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] pytest.mark.model_routing, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Model-based routing via X-Gateway-Model-Name header — /v1/chat/completions [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/chat/completions", [e2e-llm-inference-service] prompt="What is KServe?", [e2e-llm-inference-service] payload_formatter=chat_completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches("facebook/opt-125m"), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/facebook/opt-125m", [e2e-llm-inference-service] }, [e2e-llm-inference-service] peers=[ [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] "model-qwen2.5-0.5b", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/chat/completions", [e2e-llm-inference-service] prompt="What is KServe?", [e2e-llm-inference-service] payload_formatter=chat_completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches( [e2e-llm-inference-service] "Qwen/Qwen2.5-0.5B-Instruct" [e2e-llm-inference-service] ), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/Qwen/Qwen2.5-0.5B-Instruct", [e2e-llm-inference-service] }, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] pytest.mark.model_routing, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Model-based routing via X-Gateway-Model-Name header — LoRA adapter [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m-with-lora-hf", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/completions", [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] model_name="publishers/{namespace}/models/lora-adapter-1", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches( [e2e-llm-inference-service] "publishers/{namespace}/models/lora-adapter-1" [e2e-llm-inference-service] ), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/lora-adapter-1", [e2e-llm-inference-service] }, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.model_routing, [e2e-llm-inference-service] pytest.mark.lora, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Model-based routing via X-Gateway-Model-Name header — /v1/models (base + LoRA) [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m-with-lora-hf", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/models", [e2e-llm-inference-service] response_assertion=assert_models_contains( [e2e-llm-inference-service] "facebook/opt-125m", [e2e-llm-inference-service] "publishers/{namespace}/models/facebook/opt-125m", [e2e-llm-inference-service] "lora-adapter-1", [e2e-llm-inference-service] "publishers/{namespace}/models/lora-adapter-1", [e2e-llm-inference-service] ), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/facebook/opt-125m", [e2e-llm-inference-service] }, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.model_routing, [e2e-llm-inference-service] pytest.mark.lora, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # PVC storage tests -- validate direct PVC volume mount with real vLLM serving [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-pvc", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] before_test=[lambda tc: ensure_pvc_with_model(namespace=tc.namespace)], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.pvc_storage, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-pd-cpu", [e2e-llm-inference-service] "model-pvc", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] before_test=[lambda tc: ensure_pvc_with_model(namespace=tc.namespace)], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.pvc_storage, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-simulated-dp-ep-cpu", [e2e-llm-inference-service] "model-pvc", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] before_test=[lambda tc: ensure_pvc_with_model(namespace=tc.namespace)], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_multi_node, [e2e-llm-inference-service] pytest.mark.pvc_storage, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] indirect=["test_case"], [e2e-llm-inference-service] ids=generate_test_id, [e2e-llm-inference-service] ) [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def test_llm_inference_service(test_case: TestCase): # noqa: F811 [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = KServeClient( [e2e-llm-inference-service] config_file=os.environ.get("KUBECONFIG", "~/.kube/config"), [e2e-llm-inference-service] client_configuration=client.Configuration(), [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] service_name = test_case.llm_service.metadata.name [e2e-llm-inference-service] prefix = test_case.log_prefix [e2e-llm-inference-service] [e2e-llm-inference-service] test_failed = False [e2e-llm-inference-service] try: [e2e-llm-inference-service] print(f"{prefix} Creating LLMInferenceService {service_name}") [e2e-llm-inference-service] create_llmisvc(kserve_client, test_case.llm_service) [e2e-llm-inference-service] print(f"{prefix} Waiting for LLMInferenceService {service_name} to be ready") [e2e-llm-inference-service] > wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client, test_case.llm_service, test_case.wait_timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:866: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] args = (, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kin...del-p-9d807ba3'}, [e2e-llm-inference-service] {'name': 'model-pvc-llmisvc-model-pvc-rou-49c1f027'}]}, [e2e-llm-inference-service] 'status': None}, 900) [e2e-llm-inference-service] kwargs = {}, func_name = 'wait_for_llm_isvc_ready' [e2e-llm-inference-service] timestamp_start = '2026-07-30T17:45:41.765322', start_time = 1785433541.7657423 [e2e-llm-inference-service] duration = 900.7897028923035, timestamp_end = '2026-07-30T18:00:42.555448' [e2e-llm-inference-service] [e2e-llm-inference-service] @functools.wraps(func) [e2e-llm-inference-service] def wrapper(*args, **kwargs): [e2e-llm-inference-service] func_name = func.__name__ [e2e-llm-inference-service] [e2e-llm-inference-service] timestamp_start = datetime.now().isoformat() [e2e-llm-inference-service] logger.info( [e2e-llm-inference-service] f"[{func_name}] [{timestamp_start}] start - args={args}, kwargs={kwargs}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] start_time = time.time() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > result = func(*args, **kwargs) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/logging.py:40: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] given = {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security....svc-model-p-9d807ba3'}, [e2e-llm-inference-service] {'name': 'model-pvc-llmisvc-model-pvc-rou-49c1f027'}]}, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] timeout_seconds = 900 [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client: KServeClient, [e2e-llm-inference-service] given: V1alpha1LLMInferenceService, [e2e-llm-inference-service] timeout_seconds: int = 900, [e2e-llm-inference-service] ) -> str: [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] return True [e2e-llm-inference-service] [e2e-llm-inference-service] > return wait_for(assert_llm_isvc_ready, timeout=timeout_seconds, interval=1.0) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1376: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] assertion_fn = .assert_llm_isvc_ready at 0x7f9b13c99940> [e2e-llm-inference-service] timeout = 900, interval = 1.0 [e2e-llm-inference-service] [e2e-llm-inference-service] def wait_for( [e2e-llm-inference-service] assertion_fn: Callable[[], Any], timeout: float = 5.0, interval: float = 0.1 [e2e-llm-inference-service] ) -> Any: [e2e-llm-inference-service] """Wait for the assertion to succeed within timeout.""" [e2e-llm-inference-service] deadline = time.time() + timeout [e2e-llm-inference-service] last_msg = None [e2e-llm-inference-service] while True: [e2e-llm-inference-service] try: [e2e-llm-inference-service] > return assertion_fn() [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1387: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] > raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] E AssertionError: Missing true conditions: {'WorkloadsReady', 'Ready'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:48:23Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1371: AssertionError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:82 Created test namespace e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret seaweedfs-s3-creds from kserve-ci-e2e-test to e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret storage-config from kserve-ci-e2e-test to e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:178 Patched default SA in e2e-test-llm-inference-service-48639af5 with secret seaweedfs-s3-creds [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:162 ConfigMap odh-kserve-custom-ca-bundle already exists in e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:159 Copied ConfigMap odh-trusted-ca-bundle from kserve-ci-e2e-test to e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1959 Created PVC e2e-pvc-model-storage in namespace e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:2099 Created model download Job e2e-pvc-model-download in namespace e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:2124 Model download Job e2e-pvc-model-download completed successfully [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig router-managed-llmisvc-model-pv-d968e7b0 in namespace e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig router-managed-llmisvc-model-pv-d968e7b0 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig router-managed-llmisvc-model-pv-d968e7b0 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig workload-pd-cpu-llmisvc-model-p-9d807ba3 in namespace e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig workload-pd-cpu-llmisvc-model-p-9d807ba3 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig workload-pd-cpu-llmisvc-model-p-9d807ba3 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig model-pvc-llmisvc-model-pvc-rou-49c1f027 in namespace e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig model-pvc-llmisvc-model-pvc-rou-49c1f027 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig model-pvc-llmisvc-model-pvc-rou-49c1f027 [e2e-llm-inference-service] ------------------------------ Captured log call ------------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [test_llm_inference_service] [2026-07-30T17:45:41.642097] start - args=(), kwargs={'test_case': TestCase(base_refs=['router-managed', 'workload-pd-cpu', 'model-pvc'], prompt='KServe is a', service_name='llmisvc-model-pvc-router-manage-e8706282', endpoint='/v1/completions', max_tokens=20, payload_formatter=None, response_assertion=, wait_timeout=900, response_timeout=60, extra_headers=None, url_getter=None, expected_gateway=None, namespace='e2e-test-llm-inference-service-48639af5', before_test=[ at 0x7f9b18cdf380>], after_test=[], peers=[], llm_service={'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'llmisvc-model-pvc-router-manage-e8706282', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-48639af5', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-llmisvc-model-pv-d968e7b0'}, [e2e-llm-inference-service] {'name': 'workload-pd-cpu-llmisvc-model-p-9d807ba3'}, [e2e-llm-inference-service] {'name': 'model-pvc-llmisvc-model-pvc-rou-49c1f027'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m')} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [create_llmisvc] [2026-07-30T17:45:41.654527] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'llmisvc-model-pvc-router-manage-e8706282', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-48639af5', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-llmisvc-model-pv-d968e7b0'}, [e2e-llm-inference-service] {'name': 'workload-pd-cpu-llmisvc-model-p-9d807ba3'}, [e2e-llm-inference-service] {'name': 'model-pvc-llmisvc-model-pvc-rou-49c1f027'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [create_llmisvc] [2026-07-30T17:45:41.765161] end - ✅ in 0.110s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [wait_for_llm_isvc_ready] [2026-07-30T17:45:41.765322] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'llmisvc-model-pvc-router-manage-e8706282', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-48639af5', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-llmisvc-model-pv-d968e7b0'}, [e2e-llm-inference-service] {'name': 'workload-pd-cpu-llmisvc-model-p-9d807ba3'}, [e2e-llm-inference-service] {'name': 'model-pvc-llmisvc-model-pvc-rou-49c1f027'}]}, [e2e-llm-inference-service] 'status': None}, 900), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: No conditions found in status [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'WorkloadsReady', 'Ready', 'RouterReady'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:16Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'severity': 'Info', 'status': 'False', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'message': 'Inference Pool e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-inference-pool exists but no Gateway controller has accepted it yet', 'reason': 'WaitingForGateway', 'severity': 'Info', 'status': 'False', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'reason': 'Progressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'WorkloadsReady', 'Ready', 'RouterReady'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'WorkloadsReady', 'Ready'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'WorkloadsReady', 'Ready'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:48:23Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:1391 Timed out waiting: Missing true conditions: {'WorkloadsReady', 'Ready'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:48:23Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [wait_for_llm_isvc_ready] [2026-07-30T18:00:42.555448] end - ❌ 900.790s: Missing true conditions: {'WorkloadsReady', 'Ready'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:48:23Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:903 [router-managed-workload-pd-cpu-model-pvc] ❌ ERROR: Failed to call llm inference service llmisvc-model-pvc-router-manage-e8706282: Missing true conditions: {'WorkloadsReady', 'Ready'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:48:23Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:243 # Diagnostics for 'llmisvc-model-pvc-router-manage-e8706282' in 'e2e-test-llm-inference-service-48639af5' [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:244 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:247 # LLMInferenceService llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:256 apiVersion: serving.kserve.io/v1alpha1 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] security.opendatahub.io/enable-auth: 'false' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:45:41Z' [e2e-llm-inference-service] finalizers: [e2e-llm-inference-service] - serving.kserve.io/llmisvc-finalizer [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:security.opendatahub.io/enable-auth: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:baseRefs: {} [e2e-llm-inference-service] manager: OpenAPI-Generator [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:45:41Z' [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:finalizers: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] v:"serving.kserve.io/llmisvc-finalizer": {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:45:41Z' [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:addresses: {} [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-decode-template: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-decode-worker-data-parallel: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-prefill-template: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-prefill-worker-data-parallel: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-router-route: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-scheduler: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-scheduler-latency-predictor: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-template: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-tokenizer: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-tracing: {} [e2e-llm-inference-service] f:serving.kserve.io/config-llm-worker-data-parallel: {} [e2e-llm-inference-service] f:appliedConfigs: {} [e2e-llm-inference-service] f:conditions: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:router: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:gateways: {} [e2e-llm-inference-service] f:scheduler: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:inferencePool: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:group: {} [e2e-llm-inference-service] f:kind: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:service: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:group: {} [e2e-llm-inference-service] f:kind: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:url: {} [e2e-llm-inference-service] f:workloads: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:prefill: {} [e2e-llm-inference-service] f:primary: {} [e2e-llm-inference-service] f:scheduler: {} [e2e-llm-inference-service] f:service: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] time: '2026-07-30T17:48:23Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] resourceVersion: '58930' [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] baseRefs: [e2e-llm-inference-service] - name: router-managed-llmisvc-model-pv-d968e7b0 [e2e-llm-inference-service] - name: workload-pd-cpu-llmisvc-model-p-9d807ba3 [e2e-llm-inference-service] - name: model-pvc-llmisvc-model-pvc-rou-49c1f027 [e2e-llm-inference-service] model: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uri: '' [e2e-llm-inference-service] status: [e2e-llm-inference-service] addresses: [e2e-llm-inference-service] - name: gateway-external-model-routing [e2e-llm-inference-service] url: http://a174df71851384b8fab9fb851d8d7be0-669868713.us-east-1.elb.amazonaws.com/ [e2e-llm-inference-service] - name: gateway-external [e2e-llm-inference-service] url: http://a174df71851384b8fab9fb851d8d7be0-669868713.us-east-1.elb.amazonaws.com/e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] - name: gateway-external [e2e-llm-inference-service] url: http://a174df71851384b8fab9fb851d8d7be0-669868713.us-east-1.elb.amazonaws.com/publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] - name: gateway-internal-model-routing [e2e-llm-inference-service] url: http://openshift-ai-inference-openshift-default.openshift-ingress.svc.cluster.local/ [e2e-llm-inference-service] - name: gateway-internal [e2e-llm-inference-service] url: http://openshift-ai-inference-openshift-default.openshift-ingress.svc.cluster.local/e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] - name: gateway-internal [e2e-llm-inference-service] url: http://openshift-ai-inference-openshift-default.openshift-ingress.svc.cluster.local/publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] serving.kserve.io/config-llm-decode-template: kserve-config-llm-decode-template [e2e-llm-inference-service] serving.kserve.io/config-llm-decode-worker-data-parallel: kserve-config-llm-decode-worker-data-parallel [e2e-llm-inference-service] serving.kserve.io/config-llm-prefill-template: kserve-config-llm-prefill-template [e2e-llm-inference-service] serving.kserve.io/config-llm-prefill-worker-data-parallel: kserve-config-llm-prefill-worker-data-parallel [e2e-llm-inference-service] serving.kserve.io/config-llm-router-route: kserve-config-llm-router-route [e2e-llm-inference-service] serving.kserve.io/config-llm-scheduler: kserve-config-llm-scheduler [e2e-llm-inference-service] serving.kserve.io/config-llm-scheduler-latency-predictor: kserve-config-llm-scheduler-latency-predictor [e2e-llm-inference-service] serving.kserve.io/config-llm-template: kserve-config-llm-template [e2e-llm-inference-service] serving.kserve.io/config-llm-tokenizer: kserve-config-llm-tokenizer [e2e-llm-inference-service] serving.kserve.io/config-llm-tracing: kserve-config-llm-tracing [e2e-llm-inference-service] serving.kserve.io/config-llm-worker-data-parallel: kserve-config-llm-worker-data-parallel [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:30Z' [e2e-llm-inference-service] severity: Info [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: HTTPRoutesReady [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:30Z' [e2e-llm-inference-service] severity: Info [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: InferencePoolReady [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:48:23Z' [e2e-llm-inference-service] severity: Info [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: MainWorkloadReady [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:30Z' [e2e-llm-inference-service] message: Deployment does not have minimum availability. [e2e-llm-inference-service] reason: MinimumReplicasUnavailable [e2e-llm-inference-service] severity: Info [e2e-llm-inference-service] status: 'False' [e2e-llm-inference-service] type: PrefillWorkloadReady [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:16Z' [e2e-llm-inference-service] severity: Info [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: PresetsCombined [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:30Z' [e2e-llm-inference-service] message: Deployment does not have minimum availability. [e2e-llm-inference-service] reason: MinimumReplicasUnavailable [e2e-llm-inference-service] status: 'False' [e2e-llm-inference-service] type: Ready [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:52Z' [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: RouterReady [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:52Z' [e2e-llm-inference-service] severity: Info [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: SchedulerWorkloadReady [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:30Z' [e2e-llm-inference-service] message: Deployment does not have minimum availability. [e2e-llm-inference-service] reason: MinimumReplicasUnavailable [e2e-llm-inference-service] status: 'False' [e2e-llm-inference-service] type: WorkloadsReady [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] url: http://a174df71851384b8fab9fb851d8d7be0-669868713.us-east-1.elb.amazonaws.com/e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:68 TIME NAMESPACE SOURCE TYPE REASON MESSAGE [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:69 -------------------------------------------------------------------------------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 None e2e-test-llm-inference-service-48639af5 Normal Scheduled Successfully assigned e2e-test-llm-inference-service-48639af5/e2e-pvc-model-download-4zgvh to ip-10-0-135-188.ec2.internal [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:36 e2e-test-llm-inference-service-48639af5 attachdetach-controller Normal SuccessfulAttachVolume AttachVolume.Attach succeeded for volume "pvc-2f4e92b7-e2f4-4e32-a486-fb5efc37a2b3" [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:38 e2e-test-llm-inference-service-48639af5 multus Normal AddedInterface Add eth0 [10.132.0.72/23] from ovn-kubernetes [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:38 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Pulled Container image "quay.io/opendatahub/kserve-storage-initializer@sha256:70284a850558fdc266a161e317c4af2c82920796b3bf5c0677598695bf6493b2" already present on machine [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:38 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Created Created container: storage-initializer [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:38 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Started Started container storage-initializer [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:31 e2e-test-llm-inference-service-48639af5 job-controller Normal SuccessfulCreate Created pod: e2e-pvc-model-download-4zgvh [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:41 e2e-test-llm-inference-service-48639af5 job-controller Normal Completed Job completed [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:31 e2e-test-llm-inference-service-48639af5 persistentvolume-controller Normal WaitForFirstConsumer waiting for first consumer to be created before binding [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:31 e2e-test-llm-inference-service-48639af5 ebs.csi.aws.com_aws-ebs-csi-driver-controller-6668bf566b-s88vr_0706ea4d-0111-46bd-99b4-8588995d4c54 Normal Provisioning External provisioner is provisioning volume for claim "e2e-test-llm-inference-service-48639af5/e2e-pvc-model-storage" [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:31 e2e-test-llm-inference-service-48639af5 persistentvolume-controller Normal ExternalProvisioning Waiting for a volume to be created either by the external provisioner 'ebs.csi.aws.com' or manually by the system administrator. If volume creation is delayed, please verify that the provisioner is running and correctly registered. [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:45:34 e2e-test-llm-inference-service-48639af5 ebs.csi.aws.com_aws-ebs-csi-driver-controller-6668bf566b-s88vr_0706ea4d-0111-46bd-99b4-8588995d4c54 Normal ProvisioningSucceeded Successfully provisioned volume pvc-2f4e92b7-e2f4-4e32-a486-fb5efc37a2b3 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 replicaset-controller Normal SuccessfulCreate Created pod: llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 None e2e-test-llm-inference-service-48639af5 Normal Scheduled Successfully assigned e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8 to ip-10-0-135-188.ec2.internal [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:16 e2e-test-llm-inference-service-48639af5 attachdetach-controller Normal SuccessfulAttachVolume AttachVolume.Attach succeeded for volume "pvc-2f4e92b7-e2f4-4e32-a486-fb5efc37a2b3" [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:18 e2e-test-llm-inference-service-48639af5 multus Normal AddedInterface Add eth0 [10.132.0.73/23] from ovn-kubernetes [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:18 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Pulled Container image "quay.io/opendatahub/odh-llm-d-router-disagg-sidecar:v0.9.0" already present on machine [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:18 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Created Created container: llm-d-routing-sidecar [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:18 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Started Started container llm-d-routing-sidecar [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:19 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Pulled Container image "vllm/vllm-openai-cpu:v0.19.0" already present on machine [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:19 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Created Created container: main [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:19 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Normal Started Started container main [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:48:08 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-135-188.ec2.internal Warning Unhealthy Startup probe failed: Get "https://10.132.0.73:8001/health": dial tcp 10.132.0.73:8001: connect: connection refused [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 replicaset-controller Normal SuccessfulCreate Created pod: llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7bbgtm7 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 None e2e-test-llm-inference-service-48639af5 Normal Scheduled Successfully assigned e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7bbgtm7 to ip-10-0-137-1.ec2.internal [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:16 e2e-test-llm-inference-service-48639af5 attachdetach-controller Warning FailedAttachVolume Multi-Attach error for volume "pvc-2f4e92b7-e2f4-4e32-a486-fb5efc37a2b3" Volume is already used by pod(s) llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 deployment-controller Normal ScalingReplicaSet Scaled up replica set llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7b89cd7957 from 0 to 1 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 deployment-controller Normal ScalingReplicaSet Scaled up replica set llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c from 0 to 1 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:02 e2e-test-llm-inference-service-48639af5 OpenDataHubModelController Warning ReconcileError Failed to reconcile LLMInferenceService: 1 error occurred: * failed to get HTTPRoute for AuthPolicy llmisvc-model-pvc-router-manage-e8706282-kserve-route-authn: failed to get HTTPRoute e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-route: HTTPRoute.gateway.networking.k8s.io "llmisvc-model-pvc-router-manage-e8706282-kserve-route" not found [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.Secret e2e-test-llm-inference-service-48639af5/llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.ServiceAccount e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.Role e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-role [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.RoleBinding e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-rb [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.Deployment e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.Deployment e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-prefill [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.Service e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.ServiceAccount e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created Created v1.ClusterRoleBinding /e2e-test-llm-inference-service-132820f03254470cd8a0146008974a5f [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:29 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Created (combined from similar events): Created v1.DestinationRule e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-shadow-svc [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:56:28 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Updated Updated v1.Secret e2e-test-llm-inference-service-48639af5/llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:29 e2e-test-llm-inference-service-48639af5 LLMInferenceServiceController Normal Updated Updated v1.HTTPRoute e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-route [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 None e2e-test-llm-inference-service-48639af5 Normal Scheduled Successfully assigned e2e-test-llm-inference-service-48639af5/llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-sche2vtc4 to ip-10-0-143-25.ec2.internal [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:15 e2e-test-llm-inference-service-48639af5 multus Normal AddedInterface Add eth0 [10.134.0.35/23] from ovn-kubernetes [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:15 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-143-25.ec2.internal Normal Pulled Container image "quay.io/opendatahub/odh-llm-d-router-endpoint-picker:v0.9.0" already present on machine [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:15 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-143-25.ec2.internal Normal Created Created container: main [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:15 e2e-test-llm-inference-service-48639af5 kubelet/ip-10-0-143-25.ec2.internal Normal Started Started container main [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 replicaset-controller Normal SuccessfulCreate Created pod: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-sche2vtc4 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:80 2026-07-30 17:46:14 e2e-test-llm-inference-service-48639af5 deployment-controller Normal ScalingReplicaSet Scaled up replica set llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-scheduler-7fc69df7b8 from 0 to 1 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:172 ### Pod llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8 (phase=Running) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:212 #### init-container 'llm-d-routing-sidecar' (restarts=0) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:225 # -- logs (current) -- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:226 {"level":"info","ts":1785433578.5385556,"msg":"Proxy starting","Built on":"","From Git SHA":"unknown"} [e2e-llm-inference-service] {"level":"info","ts":1785433578.5385873,"msg":"Proxy configuration","config":"{\"Port\":\"8000\",\"KVConnector\":\"nixlv2\",\"ECConnector\":\"\",\"DataParallelSize\":1,\"MaxIdleConnsPerHost\":1024,\"EnablePrefillerSampling\":false,\"PrefillMaxRetries\":0,\"PrefillRetryBackoff\":200000000,\"UseTLSForPrefiller\":true,\"UseTLSForDecoder\":true,\"UseTLSForEncoder\":false,\"InsecureSkipVerifyForPrefiller\":false,\"InsecureSkipVerifyForEncoder\":false,\"InsecureSkipVerifyForDecoder\":false,\"SecureServing\":true,\"CertPath\":\"/var/run/kserve/tls\",\"MooncakeBootstrapPort\":8998,\"EnableSSRFProtection\":true,\"InferencePoolNamespace\":\"e2e-test-llm-inference-service-48639af5\",\"InferencePoolName\":\"llmisvc-model-pvc-router-manage-e8706282-inference-pool\",\"PoolGroup\":\"inference.networking.x-k8s.io\",\"DecodeChunkSize\":0,\"Tracing\":false,\"MoRIIOWriteMode\":false,\"MoRIIODecodeNotifyPort\":61005,\"MoRIIODecodeHandshakePort\":6301,\"MoRIIODecodePodIP\":\"\",\"MoRIIOParallelDispatch\":false,\"MoRIIOPrefillHandshakePort\":6301,\"MoRIIOPrefillNotifyPort\":61005,\"MoRIIOTPSize\":1,\"MoRIIODPSize\":1,\"MoRIIORemoteHosts\":null,\"MoRIIODPSizeLocal\":0,\"MoRIIODecodeHosts\":null,\"DecoderURL\":\"https://localhost:8001\"}"} [e2e-llm-inference-service] {"level":"info","ts":1785433578.5391424,"logger":"allowlist-validator","msg":"starting SSRF protection allowlist validator","namespace":"e2e-test-llm-inference-service-48639af5","poolName":"llmisvc-model-pvc-router-manage-e8706282-inference-pool","gvr":"inference.networking.x-k8s.io/v1alpha2, Resource=inferencepools"} [e2e-llm-inference-service] {"level":"info","ts":1785433578.5552423,"logger":"allowlist-validator","msg":"InferencePool added","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433578.5635688,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":0,"targets":{}} [e2e-llm-inference-service] {"level":"info","ts":1785433578.563623,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":0,"targets":{}} [e2e-llm-inference-service] {"level":"info","ts":1785433578.6410203,"logger":"allowlist-validator","msg":"allowlist validator started successfully"} [e2e-llm-inference-service] {"level":"info","ts":1785433578.6424506,"logger":"proxy server on port 8000","msg":"server TLS configured"} [e2e-llm-inference-service] {"level":"info","ts":1785433578.6424644,"logger":"proxy server on port 8000","msg":"starting","addr":"[::]:8000"} [e2e-llm-inference-service] {"level":"info","ts":1785433579.0863426,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433580.0941448,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433588.3425846,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433608.555398,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433608.5654483,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433608.5655258,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433638.5560725,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433638.5672247,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433638.56728,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433668.5566523,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433668.5677075,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433668.5677605,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433698.3418157,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433698.3604743,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433698.5569937,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433698.5663188,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433698.5663853,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433728.5577688,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433728.5675774,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433728.567634,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433758.5580907,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433758.5686984,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433758.5687609,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433788.5586467,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433788.5679421,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433788.567989,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433818.559202,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433818.571158,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433818.5712183,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433848.559281,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433848.5691743,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433848.5692272,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433878.5597272,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433878.5703259,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433878.5703816,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433908.5602672,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433908.5700688,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433908.5701241,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433938.5605085,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433938.5696402,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433938.5696864,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433968.5614188,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433968.5712743,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433968.5713305,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433998.561933,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785433998.5711448,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433998.5711966,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434028.5621326,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434028.5718594,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434028.5719132,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434058.563126,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434058.5725996,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434058.572654,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434088.5633104,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434088.574246,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434088.5743024,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434118.5641406,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434118.5731921,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434118.57325,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434148.5649087,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434148.5741994,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434148.574254,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434178.5655243,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434178.5744233,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434178.5744784,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434208.5663464,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434208.5764582,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434208.5765417,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434238.5666752,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434238.5767488,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434238.576827,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434268.5671327,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434268.5760875,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434268.576138,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434298.5674453,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434298.5843127,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434298.5843694,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434328.5684605,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434328.5785596,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434328.5786097,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434358.5695474,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434358.580667,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434358.5807226,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434388.570361,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434388.5807483,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434388.5808256,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434418.570991,"logger":"allowlist-validator","msg":"InferencePool updated","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool"} [e2e-llm-inference-service] {"level":"info","ts":1785434418.5825531,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785434418.5826154,"logger":"allowlist-validator","msg":"rebuilt allowlist","targetCount":2,"targets":{"10.132.0.73":{},"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8":{}}} [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:212 #### container 'main' (restarts=0) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:225 # -- logs (current) -- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:226 (EngineCore pid=74) DEBUG 07-30 17:47:29 [compilation/decorators.py:213] Inferred dynamic dimensions for forward method of : ['num_tokens_no_spec', 'token_ids_gpu', 'combined_mask'] [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [v1/worker/cpu_worker.py:236] auto thread-binding list (id, physical core): [(4, 0), (5, 1), (6, 2), (7, 3)] [e2e-llm-inference-service] [W730 17:47:30.112080608 utils.cpp:76] Warning: numa_migrate_pages failed. errno: 1 (function init_cpu_threads_env) [e2e-llm-inference-service] [W730 17:47:30.112105541 utils.cpp:103] Warning: NUMA binding: Using MEMBIND policy for memory allocation on the NUMA nodes (0). Memory allocations will be strictly bound to these NUMA nodes. (function init_cpu_threads_env) [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [v1/worker/cpu_worker.py:109] OMP threads binding of Process 74: [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [v1/worker/cpu_worker.py:109] OMP tid: 74, core 4 [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [v1/worker/cpu_worker.py:109] OMP tid: 91, core 5 [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [v1/worker/cpu_worker.py:109] OMP tid: 92, core 6 [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [v1/worker/cpu_worker.py:109] OMP tid: 93, core 7 [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [v1/worker/cpu_worker.py:109] [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:47:30 [distributed/parallel_state.py:1356] world_size=1 rank=0 local_rank=0 distributed_init_method=tcp://10.132.0.73:48091 backend=gloo [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [distributed/parallel_state.py:1400] world_size=1 rank=0 local_rank=0 distributed_init_method=tcp://10.132.0.73:48091 backend=gloo [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:47:30 [distributed/parallel_state.py:1459] Detected 1 nodes in the distributed environment [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] [Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [distributed/parallel_state.py:1716] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, PCP rank 0, TP rank 0, EP rank N/A, EPLB rank N/A [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:47:30 [v1/sample/logits_processor/__init__.py:65] No logitsprocs plugins installed (group vllm.logits_processors). [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:47:30 [model_executor/offloader/base.py:107] Offloader set to NoopOffloader (no offloading). [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:47:30 [v1/worker/cpu_model_runner.py:71] Starting to load model /mnt/models... [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:47:30 [compilation/decorators.py:213] Inferred dynamic dimensions for forward method of : ['input_ids', 'positions', 'intermediate_tensors', 'inputs_embeds'] [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:47:30 [config/compilation.py:1194] enabled custom ops: Counter() [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:47:30 [config/compilation.py:1195] disabled custom ops: Counter({'vocab_parallel_embedding': 1, 'logits_processor': 1}) [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:47:30 [model_executor/model_loader/base_loader.py:63] Loading weights on cpu ... [e2e-llm-inference-service] (EngineCore pid=74) Loading pt checkpoint shards: 0% Completed | 0/1 [00:00 [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:47:39 [v1/engine/utils.py:1047] Waiting for 1 local, 0 remote core engine proc(s) to start. [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:47:49 [v1/engine/utils.py:1047] Waiting for 1 local, 0 remote core engine proc(s) to start. [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:47:59 [v1/engine/utils.py:1047] Waiting for 1 local, 0 remote core engine proc(s) to start. [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:48:07 [compilation/decorators.py:640] saved AOT compiled function to /home/.cache/vllm/torch_compile_cache/torch_aot_compile/86c9c3c579382eef68a98ac1d59b39811ba08abef3b4e90675a32c8dec3d7c90/rank_0_0/model [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:48:08 [compilation/monitor.py:76] Initial profiling/warmup run took 1.01 s [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:48:08 [v1/worker/cpu_model_runner.py:92] Warming up done. [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:48:08 [v1/engine/core.py:283] init engine (profile, create kv cache, warmup model) took 37.78 seconds [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:48:08 [tokenizers/registry.py:68] Loading CachedHfTokenizer for tokenizer_mode='hf' [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:09 [v1/engine/utils.py:1047] Waiting for 1 local, 0 remote core engine proc(s) to start. [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:48:09 [utils/gc_utils.py:40] GC Debug Config. enabled:False,top_objects:-1 [e2e-llm-inference-service] (EngineCore pid=74) INFO 07-30 17:48:09 [config/vllm.py:790] Asynchronous scheduling is disabled. [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:09 [v1/engine/utils.py:1158] READY from local core engine process 0. [e2e-llm-inference-service] (EngineCore pid=74) WARNING 07-30 17:48:09 [config/vllm.py:859] Inductor compilation was disabled by user settings, optimizations settings that are only active during inductor compilation will be ignored. [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:48:09 [v1/engine/core.py:1158] EngineCore waiting for work. [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:09 [v1/metrics/loggers.py:273] Engine 000: vllm cache_config_info with initialization after num_gpu_blocks is: 227 [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:48:09 [v1/engine/core.py:1158] EngineCore waiting for work. [e2e-llm-inference-service] (EngineCore pid=74) DEBUG 07-30 17:48:09 [v1/engine/core.py:1158] EngineCore waiting for work. [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:09 [entrypoints/openai/api_server.py:590] Supported tasks: ['generate'] [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/base.py:197] Warming up chat template processing... [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] Failed to load AutoTokenizer chat template for /mnt/models [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] Traceback (most recent call last): [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] File "/opt/venv/lib/python3.12/site-packages/vllm/renderers/hf.py", line 120, in resolve_chat_template [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] return tokenizer.get_chat_template(chat_template, tools=tools) [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] File "/opt/venv/lib/python3.12/site-packages/transformers/tokenization_utils_base.py", line 1825, in get_chat_template [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] raise ValueError( [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] ValueError: Cannot use chat template functions because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:141] There is no chat template fallback for /mnt/models [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [renderers/hf.py:314] Detected the chat template content format to be 'string'. You can set `--chat-template-content-format` to override this. [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] Failed to load AutoTokenizer chat template for /mnt/models [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] Traceback (most recent call last): [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] File "/opt/venv/lib/python3.12/site-packages/vllm/renderers/hf.py", line 120, in resolve_chat_template [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] return tokenizer.get_chat_template(chat_template, tools=tools) [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] File "/opt/venv/lib/python3.12/site-packages/transformers/tokenization_utils_base.py", line 1825, in get_chat_template [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] raise ValueError( [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/hf.py:122] ValueError: Cannot use chat template functions because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:10 [renderers/base.py:205] This model does not support chat template. [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/openai/api_server.py:594] Starting vLLM server on https://0.0.0.0:8001 [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:37] Available routes are: [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /openapi.json, Methods: HEAD, GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /docs, Methods: HEAD, GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /docs/oauth2-redirect, Methods: HEAD, GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /redoc, Methods: HEAD, GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /tokenize, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /detokenize, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /load, Methods: GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /version, Methods: GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /health, Methods: GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /metrics, Methods: GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/models, Methods: GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /ping, Methods: GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /ping, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /invocations, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/chat/completions, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/chat/completions/batch, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/responses, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/responses/{response_id}, Methods: GET [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/responses/{response_id}/cancel, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/completions, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/messages, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/messages/count_tokens, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /inference/v1/generate, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /scale_elastic_ep, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /is_scaling_elastic_ep, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/chat/completions/render, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/launcher.py:46] Route: /v1/completions/render, Methods: POST [e2e-llm-inference-service] (APIServer pid=1) INFO: Started server process [1] [e2e-llm-inference-service] (APIServer pid=1) INFO: Waiting for application startup. [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:10 [entrypoints/ssl.py:60] SSLCertRefresher monitors files: ['/var/run/kserve/tls/tls.key', '/var/run/kserve/tls/tls.crt'] [e2e-llm-inference-service] (APIServer pid=1) INFO: Application startup complete. [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:18 [v1/engine/async_llm.py:875] Called check_health. [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:18 [entrypoints/ssl.py:64] File change detected: modified - /var/run/kserve/tls/tls.key [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:18 [entrypoints/ssl.py:34] Reloading SSL certificate chain [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:18 [entrypoints/ssl.py:64] File change detected: deleted - /var/run/kserve/tls/tls.key [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:18 [entrypoints/ssl.py:34] Reloading SSL certificate chain [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:18 [entrypoints/ssl.py:64] File change detected: modified - /var/run/kserve/tls/tls.crt [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:18 [entrypoints/ssl.py:34] Reloading SSL certificate chain [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:18 [entrypoints/ssl.py:64] File change detected: deleted - /var/run/kserve/tls/tls.crt [e2e-llm-inference-service] (APIServer pid=1) INFO 07-30 17:48:18 [entrypoints/ssl.py:34] Reloading SSL certificate chain [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:48:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:49:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:49:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:49:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:49:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:49:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:49:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:50:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:50:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:50:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:50:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:50:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:50:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:51:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:51:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:51:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:51:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:51:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:51:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:52:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:52:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:52:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:52:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:52:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:52:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:53:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:53:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:53:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:53:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:53:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:53:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:54:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:54:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:54:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:54:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:54:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:54:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:55:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:55:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:55:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:55:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:55:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:55:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:56:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:56:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:56:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:56:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:56:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:56:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:57:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:57:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:57:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:57:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:57:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:57:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:58:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:58:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:58:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:58:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:58:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:58:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:59:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:59:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:59:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:59:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:59:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 17:59:50 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 18:00:00 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 18:00:10 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 18:00:20 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 18:00:30 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] (APIServer pid=1) DEBUG 07-30 18:00:40 [v1/metrics/loggers.py:259] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0% [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:172 ### Pod llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7bbgtm7 (phase=Pending) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:212 #### container 'main' (restarts=0) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:228 # -- logs (current): unavailable ((400) [e2e-llm-inference-service] Reason: Bad Request [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '804c5799-1b49-4972-a6cb-9c39adca4d2c', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Date': 'Thu, 30 Jul 2026 18:00:42 GMT', 'Content-Length': '247'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"container \"main\" in pod \"llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7bbgtm7\" is waiting to start: ContainerCreating","reason":"BadRequest","code":400} [e2e-llm-inference-service] [e2e-llm-inference-service] ) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:172 ### Pod llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-sche2vtc4 (phase=Running) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:212 #### container 'main' (restarts=0) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:225 # -- logs (current) -- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:226 {"level":"info","ts":1785433575.2295098,"logger":"setup","caller":"runner/runner.go:196","msg":"GIE build","commit-sha":"unknown","build-ref":""} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2296212,"logger":"setup","caller":"runner/runner.go:217","msg":"Flags processed","flags":{"cert-path":"/var/run/kserve/tls","config-file":"","config-text":"apiVersion: llm-d.ai/v1alpha1\nkind: EndpointPickerConfig\nplugins:\n- type: disagg-headers-handler\n- type: prefill-filter\n- type: decode-filter\n- type: queue-scorer\n- type: kv-cache-utilization-scorer\n- type: active-request-scorer\n- type: prefix-cache-scorer\n- type: max-score-picker\n- type: always-disagg-pd-decider\n- parameters:\n deciders:\n prefill: always-disagg-pd-decider\n type: disagg-profile-handler\n- parameters:\n scheme: https\n type: metrics-data-source\nschedulingProfiles:\n- name: prefill\n plugins:\n - pluginRef: prefill-filter\n - pluginRef: prefix-cache-scorer\n weight: 3\n - pluginRef: queue-scorer\n weight: 2\n - pluginRef: kv-cache-utilization-scorer\n weight: 2\n - pluginRef: max-score-picker\n- name: decode\n plugins:\n - pluginRef: decode-filter\n - pluginRef: active-request-scorer\n weight: 2\n - pluginRef: prefix-cache-scorer\n weight: 3\n - pluginRef: max-score-picker\n","disable-endpoint-subset-filter":false,"enable-cert-reload":true,"enable-grpc-stream-metrics":false,"enable-pprof":true,"endpoint-selector":"","endpoint-target-ports":{},"grpc-health-port":9003,"grpc-max-recv-msg-size":"","grpc-max-send-msg-size":"","grpc-port":9002,"ha-enable-leader-election":false,"health-checking":false,"metrics-endpoint-auth":true,"metrics-port":9090,"metrics-staleness-threshold":2000000000,"model-server-metrics-https-insecure-skip-verify":true,"model-server-metrics-path":"/metrics","model-server-metrics-port":0,"model-server-metrics-scheme":"http","pool-group":"inference.networking.k8s.io","pool-name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool","pool-namespace":"e2e-test-llm-inference-service-48639af5","refresh-metrics-interval":50000000,"refresh-prometheus-metrics-interval":5000000000,"secure-serving":true,"tracing":true,"v":2,"zap-devel":{},"zap-encoder":{},"zap-log-level":{},"zap-stacktrace-level":{},"zap-time-encoding":{}}} [e2e-llm-inference-service] {"level":"info","ts":1785433575.229758,"logger":"setup.trace","caller":"tracing/telemetry.go:123","msg":"init OTel trace exporter","type":"console"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.230431,"caller":"loader/configloader.go:121","msg":"Loaded raw configuration","config":"{Plugins: [{Type: disagg-headers-handler} {Type: prefill-filter} {Type: decode-filter} {Type: queue-scorer} {Type: kv-cache-utilization-scorer} {Type: active-request-scorer} {Type: prefix-cache-scorer} {Type: max-score-picker} {Type: always-disagg-pd-decider} {Type: disagg-profile-handler, Parameters: {\"deciders\":{\"prefill\":\"always-disagg-pd-decider\"}}} {Type: metrics-data-source, Parameters: {\"scheme\":\"https\"}}], SchedulingProfiles: [{Name: prefill, Plugins: [{PluginRef: prefill-filter} {PluginRef: prefix-cache-scorer, Weight: 3.00} {PluginRef: queue-scorer, Weight: 2.00} {PluginRef: kv-cache-utilization-scorer, Weight: 2.00} {PluginRef: max-score-picker}]} {Name: decode, Plugins: [{PluginRef: decode-filter} {PluginRef: active-request-scorer, Weight: 2.00} {PluginRef: prefix-cache-scorer, Weight: 3.00} {PluginRef: max-score-picker}]}]}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2304616,"logger":"setup","caller":"runner/runner.go:622","msg":"Data layer: ENABLED"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.230782,"logger":"setup","caller":"runner/runner.go:281","msg":"Raw config after phase one","config":{"apiVersion":"llm-d.ai/v1alpha1","dataLayer":null,"kind":"EndpointPickerConfig","plugins":[{"name":"disagg-headers-handler","parameters":null,"type":"disagg-headers-handler"},{"name":"prefill-filter","parameters":null,"type":"prefill-filter"},{"name":"decode-filter","parameters":null,"type":"decode-filter"},{"name":"queue-scorer","parameters":null,"type":"queue-scorer"},{"name":"kv-cache-utilization-scorer","parameters":null,"type":"kv-cache-utilization-scorer"},{"name":"active-request-scorer","parameters":null,"type":"active-request-scorer"},{"name":"prefix-cache-scorer","parameters":null,"type":"prefix-cache-scorer"},{"name":"max-score-picker","parameters":null,"type":"max-score-picker"},{"name":"always-disagg-pd-decider","parameters":null,"type":"always-disagg-pd-decider"},{"name":"disagg-profile-handler","parameters":{"deciders":{"prefill":"always-disagg-pd-decider"}},"type":"disagg-profile-handler"},{"name":"metrics-data-source","parameters":{"scheme":"https"},"type":"metrics-data-source"}],"schedulingProfiles":[{"name":"prefill","plugins":[{"pluginRef":"prefill-filter","weight":null},{"pluginRef":"prefix-cache-scorer","weight":3},{"pluginRef":"queue-scorer","weight":2},{"pluginRef":"kv-cache-utilization-scorer","weight":2},{"pluginRef":"max-score-picker","weight":null}]},{"name":"decode","plugins":[{"pluginRef":"decode-filter","weight":null},{"pluginRef":"active-request-scorer","weight":2},{"pluginRef":"prefix-cache-scorer","weight":3},{"pluginRef":"max-score-picker","weight":null}]}]}} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2498827,"caller":"disagg/disagg_profile_handler.go:186","msg":"No deciders.encode configured, E disaggregation disabled"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2499754,"logger":"utilization-detector/utilization-detector","caller":"utilization/detector.go:83","msg":"Creating new UtilizationDetector","queueDepthThreshold":5,"kvCacheUtilThreshold":0.8,"metricsStalenessThreshold":"200ms","headroom":0} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2500544,"caller":"metrics/factories.go:230","msg":"Registered engine mapping","engine":"vllm","mapping":"Mapping{all specs enabled}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.250101,"caller":"metrics/factories.go:230","msg":"Registered engine mapping","engine":"sglang","mapping":"Mapping{disabled: [lora]}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2501485,"caller":"metrics/factories.go:230","msg":"Registered engine mapping","engine":"trtllm-serve","mapping":"Mapping{disabled: [lora, cacheInfo]}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2502215,"caller":"metrics/factories.go:230","msg":"Registered engine mapping","engine":"triton-tensorrt-llm","mapping":"Mapping{disabled: [lora, cacheInfo]}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2502525,"caller":"metrics/factories.go:230","msg":"Registered engine mapping","engine":"triton","mapping":"Mapping{disabled: [kv, lora, cacheInfo]}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2503436,"caller":"loader/configloader.go:154","msg":"Instantiated all plugins and applied system defaults. Effective raw configuration","config":"{Plugins: [{Name: disagg-headers-handler, Type: disagg-headers-handler} {Name: prefill-filter, Type: prefill-filter} {Name: decode-filter, Type: decode-filter} {Name: queue-scorer, Type: queue-scorer} {Name: kv-cache-utilization-scorer, Type: kv-cache-utilization-scorer} {Name: active-request-scorer, Type: active-request-scorer} {Name: prefix-cache-scorer, Type: prefix-cache-scorer} {Name: max-score-picker, Type: max-score-picker} {Name: always-disagg-pd-decider, Type: always-disagg-pd-decider} {Name: disagg-profile-handler, Type: disagg-profile-handler, Parameters: {\"deciders\":{\"prefill\":\"always-disagg-pd-decider\"}}} {Name: metrics-data-source, Type: metrics-data-source, Parameters: {\"scheme\":\"https\"}} {Name: fcfs-ordering-policy, Type: fcfs-ordering-policy} {Name: global-strict-fairness-policy, Type: global-strict-fairness-policy} {Name: static-usage-limit-policy, Type: static-usage-limit-policy} {Name: openai-parser, Type: openai-parser} {Name: anthropic-parser, Type: anthropic-parser} {Name: vllmhttp-parser, Type: vllmhttp-parser} {Name: utilization-detector, Type: utilization-detector} {Name: core-metrics-extractor, Type: core-metrics-extractor}], SchedulingProfiles: [{Name: prefill, Plugins: [{PluginRef: prefill-filter} {PluginRef: prefix-cache-scorer, Weight: 3.00} {PluginRef: queue-scorer, Weight: 2.00} {PluginRef: kv-cache-utilization-scorer, Weight: 2.00} {PluginRef: max-score-picker}]} {Name: decode, Plugins: [{PluginRef: decode-filter} {PluginRef: active-request-scorer, Weight: 2.00} {PluginRef: prefix-cache-scorer, Weight: 3.00} {PluginRef: max-score-picker}]}], DataLayer: {Sources: [{PluginRef: metrics-data-source, Extractors: [{PluginRef: core-metrics-extractor}]}], Discovery: }, FlowControl: {MaxBytes: unlimited, MaxRequests: unlimited, SaturationDetector: {PluginRef: utilization-detector}}, RequestHandler: {Parsers: [{PluginRef: openai-parser}, {PluginRef: anthropic-parser}, {PluginRef: vllmhttp-parser}]}}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2504497,"caller":"datalayer/data_graph.go:116","msg":"auto-created default producer","producer":"inflight-load-producer/inflight-load-producer","dataKey":"InFlightLoadDataKey/inflight-load-producer","consumer":"active-request-scorer"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2504673,"caller":"approximateprefix/plugin.go:88","msg":"Prefix DataProducer initialized","config":{"autoTune":true,"blockSizeTokens":16,"blockSize":0,"maxPrefixBlocksToMatch":2048,"maxPrefixTokensToMatch":131072,"lruCapacityPerServer":31250}} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2505355,"caller":"approximateprefix/plugin.go:111","msg":"WARNING: configured blockSizeTokens is below the recommended minimum, overriding it.","blockSizeTokens":16,"minimum":64,"issue":"https://github.com/llm-d/llm-d-router/issues/1158"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2505524,"caller":"datalayer/data_graph.go:116","msg":"auto-created default producer","producer":"approx-prefix-cache-producer/approx-prefix-cache-producer","dataKey":"PrefixCacheMatchInfoDataKey/approx-prefix-cache-producer","consumer":"disagg-profile-handler"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2505677,"caller":"datalayer/data_graph.go:116","msg":"auto-created default producer","producer":"token-producer/token-producer","dataKey":"TokenizedPrompt/token-producer","consumer":"disagg-profile-handler"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2507105,"caller":"runner/runner.go:685","msg":"loaded configuration from file/text successfully"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.250722,"logger":"setup","caller":"runner/runner.go:308","msg":"EPP config after phase two","config":"{SchedulerConfig:{ProfileHandler: disagg-profile-handler/disagg-profile-handler, Profiles: map[decode:{Filters: [decode-filter/by-label], Scorers: [active-request-scorer/active-request-scorer: 2.000000, prefix-cache-scorer/prefix-cache-scorer: 3.000000], Picker: max-score-picker/max-score-picker} prefill:{Filters: [prefill-filter/by-label], Scorers: [prefix-cache-scorer/prefix-cache-scorer: 3.000000, queue-scorer/queue-scorer: 2.000000, kv-cache-utilization-scorer/kv-cache-utilization-scorer: 2.000000], Picker: max-score-picker/max-score-picker}]} SaturationDetector:0xc000115040 DataConfig:{Sources:[{Plugin:0xc000209cb0 Extractors:[0xc000115240]}]} FlowControlConfig: ParserRegistry:0xc000115900}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2663522,"logger":"setup","caller":"runner/runner.go:352","msg":"Setting pprof handlers"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2663896,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664056,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/cmdline"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664108,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/profile"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.266415,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/heap"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664196,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/goroutine"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664242,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/threadcreate"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664285,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/block"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664325,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/mutex"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664378,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/symbol"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664423,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/trace"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664464,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/pprof/allocs"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664533,"caller":"manager/internal.go:201","msg":"Registering metrics http server extra handler","path":"/debug/plugins/state"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664576,"logger":"setup","caller":"runner/runner.go:373","msg":"parsed config","scheduler-config":"{ProfileHandler: disagg-profile-handler/disagg-profile-handler, Profiles: map[decode:{Filters: [decode-filter/by-label], Scorers: [active-request-scorer/active-request-scorer: 2.000000, prefix-cache-scorer/prefix-cache-scorer: 3.000000], Picker: max-score-picker/max-score-picker} prefill:{Filters: [prefill-filter/by-label], Scorers: [prefix-cache-scorer/prefix-cache-scorer: 3.000000, queue-scorer/queue-scorer: 2.000000, kv-cache-utilization-scorer/kv-cache-utilization-scorer: 2.000000], Picker: max-score-picker/max-score-picker}]}"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2664936,"logger":"setup","caller":"datalayer/runtime.go:99","msg":"Configuring datalayer runtime","numSources":1} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2665024,"logger":"setup","caller":"datalayer/runtime.go:118","msg":"Processing source","source":"metrics-data-source","numExtractors":1} [e2e-llm-inference-service] {"level":"info","ts":1785433575.266517,"logger":"setup","caller":"datalayer/runtime.go:147","msg":"Source configured","source":"metrics-data-source","extractors":["core-metrics-extractor/core-metrics-extractor"]} [e2e-llm-inference-service] {"level":"info","ts":1785433575.266537,"logger":"setup","caller":"datalayer/runtime.go:206","msg":"Datalayer runtime configured","pollers":1,"notifiers":0,"endpointSources":1} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2665477,"logger":"setup","caller":"runner/runner.go:833","msg":"Experimental Flow Control layer is disabled, using legacy admission control"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.26664,"logger":"setup","caller":"runner/runner.go:721","msg":"ExtProc server runner added to manager."} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2666554,"logger":"setup","caller":"runner/runner.go:260","msg":"Controller manager starting"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2666898,"logger":"controller-runtime.metrics","caller":"server/server.go:208","msg":"Starting metrics server"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2668736,"caller":"runnable/grpc.go:35","msg":"gRPC server starting","name":"health"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2671118,"caller":"runnable/grpc.go:43","msg":"gRPC server listening","name":"health","port":9003} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2671986,"caller":"controller/controller.go:370","msg":"Starting EventSource","controller":"inferencepool","controllerGroup":"inference.networking.k8s.io","controllerKind":"InferencePool","source":"kind source: *v1.InferencePool"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2672703,"caller":"controller/controller.go:370","msg":"Starting EventSource","controller":"inferenceobjective","controllerGroup":"llm-d.ai","controllerKind":"InferenceObjective","source":"kind source: *v1alpha2.InferenceObjective"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.267208,"logger":"controller-runtime.metrics","caller":"server/server.go:247","msg":"Serving metrics server","bindAddress":":9090","secure":false} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2672307,"caller":"controller/controller.go:370","msg":"Starting EventSource","controller":"inferencemodelrewrite","controllerGroup":"llm-d.ai","controllerKind":"InferenceModelRewrite","source":"kind source: *v1alpha2.InferenceModelRewrite"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2673864,"caller":"controller/controller.go:370","msg":"Starting EventSource","controller":"pod","controllerGroup":"","controllerKind":"Pod","source":"kind source: *v1.Pod"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2680118,"caller":"runnable/grpc.go:35","msg":"gRPC server starting","name":"ext-proc"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2681427,"caller":"runnable/grpc.go:43","msg":"gRPC server listening","name":"ext-proc","port":9002} [e2e-llm-inference-service] {"level":"info","ts":1785433575.274819,"logger":"controller-runtime.cache","caller":"cache/reflector.go:446","msg":"Caches populated","type":"*v1alpha2.InferenceObjective","reflector":"go/pkg/mod/k8s.io/client-go@v0.35.6/tools/cache/reflector.go:289"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2784722,"logger":"controller-runtime.cache","caller":"cache/reflector.go:446","msg":"Caches populated","type":"*v1.InferencePool","reflector":"go/pkg/mod/k8s.io/client-go@v0.35.6/tools/cache/reflector.go:289"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2786558,"logger":"controller-runtime.cache","caller":"cache/reflector.go:446","msg":"Caches populated","type":"*v1alpha2.InferenceModelRewrite","reflector":"go/pkg/mod/k8s.io/client-go@v0.35.6/tools/cache/reflector.go:289"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.2792404,"logger":"controller-runtime.cache","caller":"cache/reflector.go:446","msg":"Caches populated","type":"*v1.Pod","reflector":"go/pkg/mod/k8s.io/client-go@v0.35.6/tools/cache/reflector.go:289"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.3688045,"caller":"controller/controller.go:303","msg":"Starting Controller","controller":"inferencemodelrewrite","controllerGroup":"llm-d.ai","controllerKind":"InferenceModelRewrite"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.3688433,"caller":"controller/controller.go:303","msg":"Starting Controller","controller":"inferencepool","controllerGroup":"inference.networking.k8s.io","controllerKind":"InferencePool"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.368852,"caller":"controller/controller.go:306","msg":"Starting workers","controller":"inferencemodelrewrite","controllerGroup":"llm-d.ai","controllerKind":"InferenceModelRewrite","worker count":1} [e2e-llm-inference-service] {"level":"info","ts":1785433575.3688633,"caller":"controller/controller.go:306","msg":"Starting workers","controller":"inferencepool","controllerGroup":"inference.networking.k8s.io","controllerKind":"InferencePool","worker count":1} [e2e-llm-inference-service] {"level":"info","ts":1785433575.36882,"caller":"controller/controller.go:303","msg":"Starting Controller","controller":"inferenceobjective","controllerGroup":"llm-d.ai","controllerKind":"InferenceObjective"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.3688903,"caller":"controller/controller.go:306","msg":"Starting workers","controller":"inferenceobjective","controllerGroup":"llm-d.ai","controllerKind":"InferenceObjective","worker count":1} [e2e-llm-inference-service] {"level":"info","ts":1785433575.3690133,"caller":"controller/inferencepool_reconciler.go:46","msg":"Reconciling InferencePool","controller":"inferencepool","controllerGroup":"inference.networking.k8s.io","controllerKind":"InferencePool","InferencePool":{"name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool","namespace":"e2e-test-llm-inference-service-48639af5"},"namespace":"e2e-test-llm-inference-service-48639af5","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool","reconcileID":"4662b30b-5984-4dab-aa92-850ea32812e0"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.4690344,"caller":"controller/controller.go:303","msg":"Starting Controller","controller":"pod","controllerGroup":"","controllerKind":"Pod"} [e2e-llm-inference-service] {"level":"info","ts":1785433575.4690936,"caller":"controller/controller.go:306","msg":"Starting workers","controller":"pod","controllerGroup":"","controllerKind":"Pod","worker count":1} [e2e-llm-inference-service] {"level":"info","ts":1785433589.189673,"caller":"controller/inferencepool_reconciler.go:46","msg":"Reconciling InferencePool","controller":"inferencepool","controllerGroup":"inference.networking.k8s.io","controllerKind":"InferencePool","InferencePool":{"name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool","namespace":"e2e-test-llm-inference-service-48639af5"},"namespace":"e2e-test-llm-inference-service-48639af5","name":"llmisvc-model-pvc-router-manage-e8706282-inference-pool","reconcileID":"b46b0234-4585-411e-a76b-3e966908c92e"} [e2e-llm-inference-service] {"level":"info","ts":1785433698.3586905,"caller":"inflightload/producer.go:308","msg":"Injected dynamic attribute into endpoint","key":"InFlightLoadDataKey/inflight-load-producer","endpoint":"e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8-rank-0"} [e2e-llm-inference-service] {"level":"info","ts":1785433698.358741,"caller":"controller/pod_reconciler.go:99","msg":"Pod already exists","controller":"pod","controllerGroup":"","controllerKind":"Pod","Pod":{"name":"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8","namespace":"e2e-test-llm-inference-service-48639af5"},"namespace":"e2e-test-llm-inference-service-48639af5","name":"llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8","reconcileID":"cbf31da0-5247-4473-8316-cc908b66081f"} [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-service [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: e4859b8d-2304-4256-9230-577502071acf [e2e-llm-inference-service] resourceVersion: '57935' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] endpoints.kubernetes.io/managed-by: endpoint-controller [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] endpoints.kubernetes.io/last-change-trigger-time: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:endpoints.kubernetes.io/last-change-trigger-time: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:endpoints.kubernetes.io/managed-by: {} [e2e-llm-inference-service] f:subsets: {} [e2e-llm-inference-service] subsets: [e2e-llm-inference-service] - addresses: [e2e-llm-inference-service] - ip: 10.134.0.35 [e2e-llm-inference-service] nodeName: ip-10-0-143-25.ec2.internal [e2e-llm-inference-service] targetRef: [e2e-llm-inference-service] kind: Pod [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] name: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-sche2vtc4 [e2e-llm-inference-service] uid: a84f8c14-acbd-473d-8ef0-b22a49df0427 [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: grpc-health [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: metrics [e2e-llm-inference-service] port: 9090 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: zmq [e2e-llm-inference-service] port: 5557 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: grpc [e2e-llm-inference-service] port: 9002 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: Endpoints [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 69cbbbeb-c02b-4168-92a2-02a440a83351 [e2e-llm-inference-service] resourceVersion: '58875' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] endpoints.kubernetes.io/managed-by: endpoint-controller [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] endpoints.kubernetes.io/last-change-trigger-time: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:endpoints.kubernetes.io/last-change-trigger-time: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:endpoints.kubernetes.io/managed-by: {} [e2e-llm-inference-service] f:subsets: {} [e2e-llm-inference-service] subsets: [e2e-llm-inference-service] - addresses: [e2e-llm-inference-service] - ip: 10.132.0.73 [e2e-llm-inference-service] nodeName: ip-10-0-135-188.ec2.internal [e2e-llm-inference-service] targetRef: [e2e-llm-inference-service] kind: Pod [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8 [e2e-llm-inference-service] uid: 002dd39f-8e1b-4eef-89aa-485ca5bd34fa [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: https [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] appProtocol: https [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: Endpoints [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8 [e2e-llm-inference-service] generateName: llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c- [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 002dd39f-8e1b-4eef-89aa-485ca5bd34fa [e2e-llm-inference-service] resourceVersion: '58872' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: decode [e2e-llm-inference-service] pod-template-hash: 6d9fffb56c [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.73/23"],"mac_address":"0a:58:0a:84:00:49","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.73/23","gateway_ip":"10.132.0.1","role":"primary"}}' [e2e-llm-inference-service] k8s.v1.cni.cncf.io/network-status: "[{\n \"name\": \"ovn-kubernetes\",\n \ [e2e-llm-inference-service] \ \"interface\": \"eth0\",\n \"ips\": [\n \"10.132.0.73\"\n ],\n\ [e2e-llm-inference-service] \ \"mac\": \"0a:58:0a:84:00:49\",\n \"default\": true,\n \"dns\": {}\n\ [e2e-llm-inference-service] }]" [e2e-llm-inference-service] openshift.io/scc: restricted-v2 [e2e-llm-inference-service] seccomp.security.alpha.kubernetes.io/pod: runtime/default [e2e-llm-inference-service] security.openshift.io/validated-scc-subject-type: user [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: apps/v1 [e2e-llm-inference-service] kind: ReplicaSet [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c [e2e-llm-inference-service] uid: 1f80db59-2ecb-4698-a70d-ac25a5e6eba1 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: ip-10-0-135-188 [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] f:k8s.ovn.org/pod-networks: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:generateName: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"1f80db59-2ecb-4698-a70d-ac25a5e6eba1"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"HF_HUB_CACHE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"HOME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"TORCHINDUCTOR_CACHE_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"USER"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_CPU_KVCACHE_SPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_ENABLE_V1_MULTIPROCESSING"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_LOGGING_LEVEL"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8001,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:startupProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/dev/shm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/mnt/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] k:{"mountPath":"/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/tmp"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:enableServiceLinks: {} [e2e-llm-inference-service] f:initContainers: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"llm-d-routing-sidecar"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"INFERENCE_POOL_NAME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"INFERENCE_POOL_NAMESPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:valueFrom: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:fieldRef: {} [e2e-llm-inference-service] k:{"name":"SSL_CERT_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8000,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:serviceAccount: {} [e2e-llm-inference-service] f:serviceAccountName: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"dshm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:medium: {} [e2e-llm-inference-service] f:sizeLimit: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"kserve-pvc-source"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:persistentVolumeClaim: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:claimName: {} [e2e-llm-inference-service] k:{"name":"model-cache"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] k:{"name":"tmp-dir"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] - manager: multus-daemon [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:18Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] f:k8s.v1.cni.cncf.io/network-status: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] - manager: kubelet [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:conditions: [e2e-llm-inference-service] k:{"type":"ContainersReady"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"Initialized"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"PodReadyToStartContainers"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"PodScheduled"}: [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] k:{"type":"Ready"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:containerStatuses: {} [e2e-llm-inference-service] f:hostIP: {} [e2e-llm-inference-service] f:hostIPs: {} [e2e-llm-inference-service] f:initContainerStatuses: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:phase: {} [e2e-llm-inference-service] f:podIP: {} [e2e-llm-inference-service] f:podIPs: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"ip":"10.132.0.73"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:ip: {} [e2e-llm-inference-service] f:startTime: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] emptyDir: [e2e-llm-inference-service] medium: Memory [e2e-llm-inference-service] sizeLimit: 1Gi [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] persistentVolumeClaim: [e2e-llm-inference-service] claimName: e2e-pvc-model-storage [e2e-llm-inference-service] - name: kube-api-access-82b2t [e2e-llm-inference-service] projected: [e2e-llm-inference-service] sources: [e2e-llm-inference-service] - serviceAccountToken: [e2e-llm-inference-service] expirationSeconds: 3607 [e2e-llm-inference-service] path: token [e2e-llm-inference-service] - configMap: [e2e-llm-inference-service] name: kube-root-ca.crt [e2e-llm-inference-service] items: [e2e-llm-inference-service] - key: ca.crt [e2e-llm-inference-service] path: ca.crt [e2e-llm-inference-service] - downwardAPI: [e2e-llm-inference-service] items: [e2e-llm-inference-service] - path: namespace [e2e-llm-inference-service] fieldRef: [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] fieldPath: metadata.namespace [e2e-llm-inference-service] - configMap: [e2e-llm-inference-service] name: openshift-service-ca.crt [e2e-llm-inference-service] items: [e2e-llm-inference-service] - key: service-ca.crt [e2e-llm-inference-service] path: service-ca.crt [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] initContainers: [e2e-llm-inference-service] - name: llm-d-routing-sidecar [e2e-llm-inference-service] image: quay.io/opendatahub/odh-llm-d-router-disagg-sidecar:v0.9.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /app/pd-sidecar [e2e-llm-inference-service] - --port=8000 [e2e-llm-inference-service] - --vllm-port=8001 [e2e-llm-inference-service] - --kv-connector=nixlv2 [e2e-llm-inference-service] - --enable-ssrf-protection=true [e2e-llm-inference-service] - --pool-group=inference.networking.x-k8s.io [e2e-llm-inference-service] - --inference-pool=e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] - --secure-proxy=true [e2e-llm-inference-service] - --cert-path=/var/run/kserve/tls [e2e-llm-inference-service] - --enable-tls=decoder [e2e-llm-inference-service] - --enable-tls=prefiller [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8000 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: INFERENCE_POOL_NAMESPACE [e2e-llm-inference-service] valueFrom: [e2e-llm-inference-service] fieldRef: [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] fieldPath: metadata.namespace [e2e-llm-inference-service] - name: SSL_CERT_DIR [e2e-llm-inference-service] value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs [e2e-llm-inference-service] - name: INFERENCE_POOL_NAME [e2e-llm-inference-service] value: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] resources: {} [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] - name: kube-api-access-82b2t [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/secrets/kubernetes.io/serviceaccount [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 10 [e2e-llm-inference-service] timeoutSeconds: 10 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 10 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 10 [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsUser: 1000970000 [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: vllm/vllm-openai-cpu:v0.19.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/bash [e2e-llm-inference-service] - -c [e2e-llm-inference-service] - "if [ -f /etc/profile.d/ibm-aiu-setup.sh ]; then\n source /etc/profile.d/ibm-aiu-setup.sh\n\ [e2e-llm-inference-service] fi\n\nif [ \"$KSERVE_INFER_ROCE\" = \"true\" ]; then\n echo \"Trying to infer\ [e2e-llm-inference-service] \ RoCE configs ... \"\n grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null\n\ [e2e-llm-inference-service] \ grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null\n\ [e2e-llm-inference-service] \n cat /proc/driver/nvidia/params\n\n KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-\"\ [e2e-llm-inference-service] RoCE v2\"}\n\n echo \"[Infer RoCE] Discovering active HCAs ...\"\n active_hcas=()\n\ [e2e-llm-inference-service] \ # Loop through all mlx5 devices found in sysfs\n for hca_dir in /sys/class/infiniband/mlx5_*;\ [e2e-llm-inference-service] \ do\n # Ensure it's a directory before proceeding\n if [ -d \"$hca_dir\"\ [e2e-llm-inference-service] \ ]; then\n hca_name=$(basename \"$hca_dir\")\n port_state_file=\"\ [e2e-llm-inference-service] $hca_dir/ports/1/state\" # Assume port 1\n type_file=\"$hca_dir/ports/1/gid_attrs/types/*\"\ [e2e-llm-inference-service] \n\n echo \"[Infer RoCE] Check if the port state file ${port_state_file}\ [e2e-llm-inference-service] \ exists and contains 'ACTIVE'\"\n if [ -f \"$port_state_file\" ] &&\ [e2e-llm-inference-service] \ grep -q \"ACTIVE\" \"$port_state_file\" && grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\"\ [e2e-llm-inference-service] \ ${type_file} 2>/dev/null; then\n echo \"[Infer RoCE] Found active\ [e2e-llm-inference-service] \ HCA: $hca_name\"\n active_hcas+=(\"$hca_name\")\n else\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Skipping inactive or down HCA: $hca_name\"\ [e2e-llm-inference-service] \n fi\n fi\n done\n\n # Check if we found any active HCAs\n\ [e2e-llm-inference-service] \ if [ ${#active_hcas[@]} -gt 0 ]; then\n # Join the array elements with\ [e2e-llm-inference-service] \ a comma\n hca_port_pairs=()\n for hca in \"${active_hcas[@]}\";\ [e2e-llm-inference-service] \ do\n hca_port_pairs+=(\"${hca}:1\")\n done\n\n active_hca_list=$(IFS=,;\ [e2e-llm-inference-service] \ echo \"${active_hcas[*]}\")\n hca_port_pairs_list=$(IFS=,; echo \"${hca_port_pairs[*]}\"\ [e2e-llm-inference-service] )\n echo \"[Infer RoCE] Setting active HCAs: ${active_hca_list}\"\n \ [e2e-llm-inference-service] \ export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}\n export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}\n\ [e2e-llm-inference-service] \ export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}\n\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}\"\n echo \"[Infer\ [e2e-llm-inference-service] \ RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}\"\n echo \"[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}\"\ [e2e-llm-inference-service] \n else\n echo \"[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA\ [e2e-llm-inference-service] \ will not be set.\"\n fi\n\n if [ ${#active_hcas[@]} -gt 0 ]; then\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)...\"\ [e2e-llm-inference-service] \n\n # For SR-IOV environments, find the most common IPv4 RoCE v2 GID index\ [e2e-llm-inference-service] \ across all HCAs\n declare -A gid_index_count\n declare -A hca_gid_index\n\ [e2e-llm-inference-service] \n for hca_name in \"${active_hcas[@]}\"; do\n echo \"[Infer RoCE]\ [e2e-llm-inference-service] \ Processing HCA: ${hca_name}\"\n\n # Find all RoCE v2 IPv4 GIDs for\ [e2e-llm-inference-service] \ this HCA and count by index\n for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*;\ [e2e-llm-inference-service] \ do\n if grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\" \"$tpath\"\ [e2e-llm-inference-service] \ 2>/dev/null; then\n idx=$(basename \"$tpath\")\n \ [e2e-llm-inference-service] \ gid_file=\"/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}\"\ [e2e-llm-inference-service] \n # Check for IPv4 GID (contains ffff:)\n \ [e2e-llm-inference-service] \ if [ -f \"$gid_file\" ] && grep -q \"ffff:\" \"$gid_file\"; then\n \ [e2e-llm-inference-service] \ gid_value=$(cat \"$gid_file\" 2>/dev/null || echo \"\")\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}:\ [e2e-llm-inference-service] \ index=${idx}, gid=${gid_value}\"\n hca_gid_index[\"${hca_name}\"\ [e2e-llm-inference-service] ]=\"${idx}\"\n gid_index_count[\"${idx}\"]=$((${gid_index_count[\"\ [e2e-llm-inference-service] ${idx}\"]} + 1))\n break # Use first found IPv4 GID per\ [e2e-llm-inference-service] \ HCA\n fi\n fi\n done\n done\n\n\ [e2e-llm-inference-service] \ # Find the most common GID index (most likely to be consistent across\ [e2e-llm-inference-service] \ nodes)\n best_gid_index=\"\"\n max_count=0\n for idx in \"\ [e2e-llm-inference-service] ${!gid_index_count[@]}\"; do\n count=${gid_index_count[\"${idx}\"]}\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs\"\n \ [e2e-llm-inference-service] \ if [ $count -gt $max_count ]; then\n max_count=$count\n\ [e2e-llm-inference-service] \ best_gid_index=\"$idx\"\n fi\n done\n\n #\ [e2e-llm-inference-service] \ Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)\n \ [e2e-llm-inference-service] \ if [ ${#gid_index_count[@]} -gt 1 ]; then\n echo \"[Infer RoCE]\ [e2e-llm-inference-service] \ Multiple GID indices found, selecting most common: ${best_gid_index}\"\n \ [e2e-llm-inference-service] \ # If there's a tie, prefer index 3 as it's most common in SR-IOV setups\n\ [e2e-llm-inference-service] \ if [ -n \"${gid_index_count['3']}\" ] && [ \"${gid_index_count['3']}\"\ [e2e-llm-inference-service] \ -eq \"$max_count\" ]; then\n best_gid_index=\"3\"\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV\ [e2e-llm-inference-service] \ standard)\"\n fi\n fi\n\n # Check if GID_INDEX is already\ [e2e-llm-inference-service] \ set via environment variables\n if [ -n \"${NCCL_IB_GID_INDEX}\" ]; then\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ from environment\"\n export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ for NCCL, NVSHMEM, and UCX\"\n elif [ -n \"$best_gid_index\" ]; then\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found\ [e2e-llm-inference-service] \ on ${max_count} HCAs)\"\n\n export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}\n\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL,\ [e2e-llm-inference-service] \ NVSHMEM, and UCX\"\n else\n echo \"[Infer RoCE] ERROR: No valid\ [e2e-llm-inference-service] \ IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA.\"\n \ [e2e-llm-inference-service] \ fi\n else\n echo \"[Infer RoCE] No active HCAs found, skipping GID_INDEX\ [e2e-llm-inference-service] \ inference.\"\n fi\nfi\n\n# --disable-access-log-for-endpoints landed in vLLM\ [e2e-llm-inference-service] \ 0.16.0 (vllm-project/vllm#30011).\n# Older versions still need the blanket\ [e2e-llm-inference-service] \ --disable-uvicorn-access-log.\nACCESS_LOG_ARGS=\"--disable-uvicorn-access-log\"\ [e2e-llm-inference-service] \nVLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')\n\ [e2e-llm-inference-service] echo \"[access-log-detect] vllm version='${VLLM_VERSION}'\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.16.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.16.0\" ]; then\n ACCESS_LOG_ARGS=\"--disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ /health,/metrics,/ping\"\nfi\necho \"[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'\"\ [e2e-llm-inference-service] \n\n# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).\n\ [e2e-llm-inference-service] SHUTDOWN_TIMEOUT_ARGS=\"\"\nif [[ \"$VLLM_VERSION\" =~ ^[0-9]+\\.[0-9]+ ]] &&\ [e2e-llm-inference-service] \ [ \"$(printf '%s\\n%s\\n' \"0.18.0\" \"${VLLM_VERSION}\" | sort -V | head\ [e2e-llm-inference-service] \ -1)\" = \"0.18.0\" ]; then\n SHUTDOWN_TIMEOUT_ARGS=\"--shutdown-timeout 40\"\ [e2e-llm-inference-service] \nfi\n\n# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+\ [e2e-llm-inference-service] \ (vllm-project/vllm#40020).\nKV_TRANSFER_ARGS=\"\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.22.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.22.0\" ]; then\n if [[ \"${VLLM_ADDITIONAL_ARGS:-}\"\ [e2e-llm-inference-service] \ != *\"--kv-transfer-config\"* ]] && [[ \"${VLLM_ADDITIONAL_ARGS:-}\" != *\"\ [e2e-llm-inference-service] --kv_transfer_config\"* ]] && [[ \"$*\" != *\"--kv-transfer-config\"* ]] &&\ [e2e-llm-inference-service] \ [[ \"$*\" != *\"--kv_transfer_config\"* ]]; then\n KV_TRANSFER_ARGS=\"\"\ [e2e-llm-inference-service] \n fi\nfi\n\neval \"exec vllm serve /mnt/models \\\n --served-model-name \"\ [e2e-llm-inference-service] facebook/opt-125m\" \"publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m\"\ [e2e-llm-inference-service] \ \\\n --port 8001 \\\n ${ACCESS_LOG_ARGS} \\\n ${SHUTDOWN_TIMEOUT_ARGS}\ [e2e-llm-inference-service] \ \\\n ${KV_TRANSFER_ARGS} \\\n \\\n --enable-ssl-refresh \\\n --ssl-certfile\ [e2e-llm-inference-service] \ /var/run/kserve/tls/tls.crt \\\n --ssl-keyfile /var/run/kserve/tls/tls.key\ [e2e-llm-inference-service] \ \\\n ${VLLM_ADDITIONAL_ARGS} \\\n $@\"" [e2e-llm-inference-service] - -- [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8001 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: HOME [e2e-llm-inference-service] value: /home [e2e-llm-inference-service] - name: VLLM_LOGGING_LEVEL [e2e-llm-inference-service] value: DEBUG [e2e-llm-inference-service] - name: VLLM_CPU_KVCACHE_SPACE [e2e-llm-inference-service] value: '1' [e2e-llm-inference-service] - name: VLLM_ENABLE_V1_MULTIPROCESSING [e2e-llm-inference-service] value: '0' [e2e-llm-inference-service] - name: USER [e2e-llm-inference-service] value: nonroot [e2e-llm-inference-service] - name: TORCHINDUCTOR_CACHE_DIR [e2e-llm-inference-service] value: /tmp/torchinductor-cache [e2e-llm-inference-service] - name: HF_HUB_CACHE [e2e-llm-inference-service] value: /models [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '2' [e2e-llm-inference-service] memory: 7Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 200m [e2e-llm-inference-service] memory: 2Gi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] mountPath: /home [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] mountPath: /tmp [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] mountPath: /dev/shm [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] mountPath: /models [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /mnt/models [e2e-llm-inference-service] - name: kube-api-access-82b2t [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/secrets/kubernetes.io/serviceaccount [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 180 [e2e-llm-inference-service] timeoutSeconds: 30 [e2e-llm-inference-service] periodSeconds: 30 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 8 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] startupProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8001 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 60 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsUser: 1000970000 [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] serviceAccountName: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] serviceAccount: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] nodeName: ip-10-0-135-188.ec2.internal [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] seLinuxOptions: [e2e-llm-inference-service] level: s0:c31,c20 [e2e-llm-inference-service] fsGroup: 1000970000 [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] imagePullSecrets: [e2e-llm-inference-service] - name: default-dockercfg-gjk9l [e2e-llm-inference-service] - name: llmisvc-model-pvc-router-manage-e8706282-kserve-dockercfg-h7c95 [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] tolerations: [e2e-llm-inference-service] - key: node.kubernetes.io/not-ready [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoExecute [e2e-llm-inference-service] tolerationSeconds: 300 [e2e-llm-inference-service] - key: node.kubernetes.io/unreachable [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoExecute [e2e-llm-inference-service] tolerationSeconds: 300 [e2e-llm-inference-service] - key: node.kubernetes.io/memory-pressure [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoSchedule [e2e-llm-inference-service] priority: 0 [e2e-llm-inference-service] enableServiceLinks: true [e2e-llm-inference-service] preemptionPolicy: PreemptLowerPriority [e2e-llm-inference-service] status: [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] phase: Running [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] - type: PodReadyToStartContainers [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:19Z' [e2e-llm-inference-service] - type: Initialized [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:19Z' [e2e-llm-inference-service] - type: Ready [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] - type: ContainersReady [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] - type: PodScheduled [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] hostIP: 10.0.135.188 [e2e-llm-inference-service] hostIPs: [e2e-llm-inference-service] - ip: 10.0.135.188 [e2e-llm-inference-service] podIP: 10.132.0.73 [e2e-llm-inference-service] podIPs: [e2e-llm-inference-service] - ip: 10.132.0.73 [e2e-llm-inference-service] startTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] initContainerStatuses: [e2e-llm-inference-service] - name: llm-d-routing-sidecar [e2e-llm-inference-service] state: [e2e-llm-inference-service] running: [e2e-llm-inference-service] startedAt: '2026-07-30T17:46:18Z' [e2e-llm-inference-service] lastState: {} [e2e-llm-inference-service] ready: true [e2e-llm-inference-service] restartCount: 0 [e2e-llm-inference-service] image: quay.io/opendatahub/odh-llm-d-router-disagg-sidecar:v0.9.0 [e2e-llm-inference-service] imageID: quay.io/opendatahub/odh-llm-d-router-disagg-sidecar@sha256:4d57f8fe65a63b44f345487af2b831e64ddf7fb01126d4f51cc8cf49b7412d00 [e2e-llm-inference-service] containerID: cri-o://d5cbc5fc8379c132683d627ead2780685afa8f095cdcf1319de5d04d4126f2ad [e2e-llm-inference-service] started: true [e2e-llm-inference-service] resources: {} [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] - name: kube-api-access-82b2t [e2e-llm-inference-service] mountPath: /var/run/secrets/kubernetes.io/serviceaccount [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] user: [e2e-llm-inference-service] linux: [e2e-llm-inference-service] uid: 1000970000 [e2e-llm-inference-service] gid: 0 [e2e-llm-inference-service] supplementalGroups: [e2e-llm-inference-service] - 0 [e2e-llm-inference-service] - 1000970000 [e2e-llm-inference-service] containerStatuses: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] state: [e2e-llm-inference-service] running: [e2e-llm-inference-service] startedAt: '2026-07-30T17:46:19Z' [e2e-llm-inference-service] lastState: {} [e2e-llm-inference-service] ready: true [e2e-llm-inference-service] restartCount: 0 [e2e-llm-inference-service] image: docker.io/vllm/vllm-openai-cpu:v0.19.0 [e2e-llm-inference-service] imageID: docker.io/vllm/vllm-openai-cpu@sha256:a8257c201fd2f696c146615987be61579aa2052367b73c27bd3fb1ab8e90bd4b [e2e-llm-inference-service] containerID: cri-o://67f678b50dd39e6da676453b906ff5f203a4b0c999b3525492f07fde16364542 [e2e-llm-inference-service] started: true [e2e-llm-inference-service] allocatedResources: [e2e-llm-inference-service] cpu: 200m [e2e-llm-inference-service] memory: 2Gi [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '2' [e2e-llm-inference-service] memory: 7Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 200m [e2e-llm-inference-service] memory: 2Gi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] mountPath: /home [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] mountPath: /tmp [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] mountPath: /dev/shm [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] mountPath: /models [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] mountPath: /mnt/models [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] - name: kube-api-access-82b2t [e2e-llm-inference-service] mountPath: /var/run/secrets/kubernetes.io/serviceaccount [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] user: [e2e-llm-inference-service] linux: [e2e-llm-inference-service] uid: 1000970000 [e2e-llm-inference-service] gid: 0 [e2e-llm-inference-service] supplementalGroups: [e2e-llm-inference-service] - 0 [e2e-llm-inference-service] - 1000970000 [e2e-llm-inference-service] qosClass: Burstable [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: Pod [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7bbgtm7 [e2e-llm-inference-service] generateName: llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7b89cd7957- [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 222f6869-0d5c-46b7-a2f1-ba382c63a6f9 [e2e-llm-inference-service] resourceVersion: '57377' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload-prefill [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: prefill [e2e-llm-inference-service] pod-template-hash: 7b89cd7957 [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.133.0.60/23"],"mac_address":"0a:58:0a:85:00:3c","gateway_ips":["10.133.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.133.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.133.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.133.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.133.0.1"}],"ip_address":"10.133.0.60/23","gateway_ip":"10.133.0.1","role":"primary"}}' [e2e-llm-inference-service] openshift.io/scc: restricted-v2 [e2e-llm-inference-service] seccomp.security.alpha.kubernetes.io/pod: runtime/default [e2e-llm-inference-service] security.openshift.io/validated-scc-subject-type: user [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: apps/v1 [e2e-llm-inference-service] kind: ReplicaSet [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7b89cd7957 [e2e-llm-inference-service] uid: 4cb7cbe2-3790-4e96-8719-e70ac91c75c1 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: ip-10-0-137-1 [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] f:k8s.ovn.org/pod-networks: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:generateName: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"4cb7cbe2-3790-4e96-8719-e70ac91c75c1"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"HF_HUB_CACHE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"HOME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"TORCHINDUCTOR_CACHE_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"USER"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_CPU_KVCACHE_SPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_ENABLE_V1_MULTIPROCESSING"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_LOGGING_LEVEL"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8000,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:startupProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/dev/shm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/mnt/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] k:{"mountPath":"/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/tmp"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:enableServiceLinks: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"dshm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:medium: {} [e2e-llm-inference-service] f:sizeLimit: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"kserve-pvc-source"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:persistentVolumeClaim: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:claimName: {} [e2e-llm-inference-service] k:{"name":"model-cache"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] k:{"name":"tmp-dir"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] - manager: kubelet [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:conditions: [e2e-llm-inference-service] k:{"type":"ContainersReady"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"Initialized"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"PodReadyToStartContainers"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"PodScheduled"}: [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] k:{"type":"Ready"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:containerStatuses: {} [e2e-llm-inference-service] f:hostIP: {} [e2e-llm-inference-service] f:hostIPs: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:startTime: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] emptyDir: [e2e-llm-inference-service] medium: Memory [e2e-llm-inference-service] sizeLimit: 1Gi [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] persistentVolumeClaim: [e2e-llm-inference-service] claimName: e2e-pvc-model-storage [e2e-llm-inference-service] - name: kube-api-access-ntk7g [e2e-llm-inference-service] projected: [e2e-llm-inference-service] sources: [e2e-llm-inference-service] - serviceAccountToken: [e2e-llm-inference-service] expirationSeconds: 3607 [e2e-llm-inference-service] path: token [e2e-llm-inference-service] - configMap: [e2e-llm-inference-service] name: kube-root-ca.crt [e2e-llm-inference-service] items: [e2e-llm-inference-service] - key: ca.crt [e2e-llm-inference-service] path: ca.crt [e2e-llm-inference-service] - downwardAPI: [e2e-llm-inference-service] items: [e2e-llm-inference-service] - path: namespace [e2e-llm-inference-service] fieldRef: [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] fieldPath: metadata.namespace [e2e-llm-inference-service] - configMap: [e2e-llm-inference-service] name: openshift-service-ca.crt [e2e-llm-inference-service] items: [e2e-llm-inference-service] - key: service-ca.crt [e2e-llm-inference-service] path: service-ca.crt [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: vllm/vllm-openai-cpu:v0.19.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/bash [e2e-llm-inference-service] - -c [e2e-llm-inference-service] - "if [ -f /etc/profile.d/ibm-aiu-setup.sh ]; then\n source /etc/profile.d/ibm-aiu-setup.sh\n\ [e2e-llm-inference-service] fi\n\nif [ \"$KSERVE_INFER_ROCE\" = \"true\" ]; then\n echo \"Trying to infer\ [e2e-llm-inference-service] \ RoCE configs ... \"\n grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null\n\ [e2e-llm-inference-service] \ grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null\n\ [e2e-llm-inference-service] \n cat /proc/driver/nvidia/params\n\n KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-\"\ [e2e-llm-inference-service] RoCE v2\"}\n\n echo \"[Infer RoCE] Discovering active HCAs ...\"\n active_hcas=()\n\ [e2e-llm-inference-service] \ # Loop through all mlx5 devices found in sysfs\n for hca_dir in /sys/class/infiniband/mlx5_*;\ [e2e-llm-inference-service] \ do\n # Ensure it's a directory before proceeding\n if [ -d \"$hca_dir\"\ [e2e-llm-inference-service] \ ]; then\n hca_name=$(basename \"$hca_dir\")\n port_state_file=\"\ [e2e-llm-inference-service] $hca_dir/ports/1/state\" # Assume port 1\n type_file=\"$hca_dir/ports/1/gid_attrs/types/*\"\ [e2e-llm-inference-service] \n\n echo \"[Infer RoCE] Check if the port state file ${port_state_file}\ [e2e-llm-inference-service] \ exists and contains 'ACTIVE'\"\n if [ -f \"$port_state_file\" ] &&\ [e2e-llm-inference-service] \ grep -q \"ACTIVE\" \"$port_state_file\" && grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\"\ [e2e-llm-inference-service] \ ${type_file} 2>/dev/null; then\n echo \"[Infer RoCE] Found active\ [e2e-llm-inference-service] \ HCA: $hca_name\"\n active_hcas+=(\"$hca_name\")\n else\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Skipping inactive or down HCA: $hca_name\"\ [e2e-llm-inference-service] \n fi\n fi\n done\n\n # Check if we found any active HCAs\n\ [e2e-llm-inference-service] \ if [ ${#active_hcas[@]} -gt 0 ]; then\n # Join the array elements with\ [e2e-llm-inference-service] \ a comma\n hca_port_pairs=()\n for hca in \"${active_hcas[@]}\";\ [e2e-llm-inference-service] \ do\n hca_port_pairs+=(\"${hca}:1\")\n done\n\n active_hca_list=$(IFS=,;\ [e2e-llm-inference-service] \ echo \"${active_hcas[*]}\")\n hca_port_pairs_list=$(IFS=,; echo \"${hca_port_pairs[*]}\"\ [e2e-llm-inference-service] )\n echo \"[Infer RoCE] Setting active HCAs: ${active_hca_list}\"\n \ [e2e-llm-inference-service] \ export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}\n export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}\n\ [e2e-llm-inference-service] \ export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}\n\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}\"\n echo \"[Infer\ [e2e-llm-inference-service] \ RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}\"\n echo \"[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}\"\ [e2e-llm-inference-service] \n else\n echo \"[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA\ [e2e-llm-inference-service] \ will not be set.\"\n fi\n\n if [ ${#active_hcas[@]} -gt 0 ]; then\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)...\"\ [e2e-llm-inference-service] \n\n # For SR-IOV environments, find the most common IPv4 RoCE v2 GID index\ [e2e-llm-inference-service] \ across all HCAs\n declare -A gid_index_count\n declare -A hca_gid_index\n\ [e2e-llm-inference-service] \n for hca_name in \"${active_hcas[@]}\"; do\n echo \"[Infer RoCE]\ [e2e-llm-inference-service] \ Processing HCA: ${hca_name}\"\n\n # Find all RoCE v2 IPv4 GIDs for\ [e2e-llm-inference-service] \ this HCA and count by index\n for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*;\ [e2e-llm-inference-service] \ do\n if grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\" \"$tpath\"\ [e2e-llm-inference-service] \ 2>/dev/null; then\n idx=$(basename \"$tpath\")\n \ [e2e-llm-inference-service] \ gid_file=\"/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}\"\ [e2e-llm-inference-service] \n # Check for IPv4 GID (contains ffff:)\n \ [e2e-llm-inference-service] \ if [ -f \"$gid_file\" ] && grep -q \"ffff:\" \"$gid_file\"; then\n \ [e2e-llm-inference-service] \ gid_value=$(cat \"$gid_file\" 2>/dev/null || echo \"\")\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}:\ [e2e-llm-inference-service] \ index=${idx}, gid=${gid_value}\"\n hca_gid_index[\"${hca_name}\"\ [e2e-llm-inference-service] ]=\"${idx}\"\n gid_index_count[\"${idx}\"]=$((${gid_index_count[\"\ [e2e-llm-inference-service] ${idx}\"]} + 1))\n break # Use first found IPv4 GID per\ [e2e-llm-inference-service] \ HCA\n fi\n fi\n done\n done\n\n\ [e2e-llm-inference-service] \ # Find the most common GID index (most likely to be consistent across\ [e2e-llm-inference-service] \ nodes)\n best_gid_index=\"\"\n max_count=0\n for idx in \"\ [e2e-llm-inference-service] ${!gid_index_count[@]}\"; do\n count=${gid_index_count[\"${idx}\"]}\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs\"\n \ [e2e-llm-inference-service] \ if [ $count -gt $max_count ]; then\n max_count=$count\n\ [e2e-llm-inference-service] \ best_gid_index=\"$idx\"\n fi\n done\n\n #\ [e2e-llm-inference-service] \ Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)\n \ [e2e-llm-inference-service] \ if [ ${#gid_index_count[@]} -gt 1 ]; then\n echo \"[Infer RoCE]\ [e2e-llm-inference-service] \ Multiple GID indices found, selecting most common: ${best_gid_index}\"\n \ [e2e-llm-inference-service] \ # If there's a tie, prefer index 3 as it's most common in SR-IOV setups\n\ [e2e-llm-inference-service] \ if [ -n \"${gid_index_count['3']}\" ] && [ \"${gid_index_count['3']}\"\ [e2e-llm-inference-service] \ -eq \"$max_count\" ]; then\n best_gid_index=\"3\"\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV\ [e2e-llm-inference-service] \ standard)\"\n fi\n fi\n\n # Check if GID_INDEX is already\ [e2e-llm-inference-service] \ set via environment variables\n if [ -n \"${NCCL_IB_GID_INDEX}\" ]; then\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ from environment\"\n export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ for NCCL, NVSHMEM, and UCX\"\n elif [ -n \"$best_gid_index\" ]; then\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found\ [e2e-llm-inference-service] \ on ${max_count} HCAs)\"\n\n export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}\n\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL,\ [e2e-llm-inference-service] \ NVSHMEM, and UCX\"\n else\n echo \"[Infer RoCE] ERROR: No valid\ [e2e-llm-inference-service] \ IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA.\"\n \ [e2e-llm-inference-service] \ fi\n else\n echo \"[Infer RoCE] No active HCAs found, skipping GID_INDEX\ [e2e-llm-inference-service] \ inference.\"\n fi\nfi\n\n# --disable-access-log-for-endpoints landed in vLLM\ [e2e-llm-inference-service] \ 0.16.0 (vllm-project/vllm#30011).\n# Older versions still need the blanket\ [e2e-llm-inference-service] \ --disable-uvicorn-access-log.\nACCESS_LOG_ARGS=\"--disable-uvicorn-access-log\"\ [e2e-llm-inference-service] \nVLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')\n\ [e2e-llm-inference-service] echo \"[access-log-detect] vllm version='${VLLM_VERSION}'\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.16.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.16.0\" ]; then\n ACCESS_LOG_ARGS=\"--disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ /health,/metrics,/ping\"\nfi\necho \"[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'\"\ [e2e-llm-inference-service] \n\n# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).\n\ [e2e-llm-inference-service] SHUTDOWN_TIMEOUT_ARGS=\"\"\nif [[ \"$VLLM_VERSION\" =~ ^[0-9]+\\.[0-9]+ ]] &&\ [e2e-llm-inference-service] \ [ \"$(printf '%s\\n%s\\n' \"0.18.0\" \"${VLLM_VERSION}\" | sort -V | head\ [e2e-llm-inference-service] \ -1)\" = \"0.18.0\" ]; then\n SHUTDOWN_TIMEOUT_ARGS=\"--shutdown-timeout 40\"\ [e2e-llm-inference-service] \nfi\n\n# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+\ [e2e-llm-inference-service] \ (vllm-project/vllm#40020).\nKV_TRANSFER_ARGS=\"\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.22.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.22.0\" ]; then\n if [[ \"${VLLM_ADDITIONAL_ARGS:-}\"\ [e2e-llm-inference-service] \ != *\"--kv-transfer-config\"* ]] && [[ \"${VLLM_ADDITIONAL_ARGS:-}\" != *\"\ [e2e-llm-inference-service] --kv_transfer_config\"* ]] && [[ \"$*\" != *\"--kv-transfer-config\"* ]] &&\ [e2e-llm-inference-service] \ [[ \"$*\" != *\"--kv_transfer_config\"* ]]; then\n KV_TRANSFER_ARGS=\"\"\ [e2e-llm-inference-service] \n fi\nfi\n\neval \"exec vllm serve /mnt/models \\\n --served-model-name \"\ [e2e-llm-inference-service] facebook/opt-125m\" \\\n --port 8000 \\\n ${ACCESS_LOG_ARGS} \\\n ${SHUTDOWN_TIMEOUT_ARGS}\ [e2e-llm-inference-service] \ \\\n ${KV_TRANSFER_ARGS} \\\n \\\n --enable-ssl-refresh \\\n --ssl-certfile\ [e2e-llm-inference-service] \ /var/run/kserve/tls/tls.crt \\\n --ssl-keyfile /var/run/kserve/tls/tls.key\ [e2e-llm-inference-service] \ \\\n ${VLLM_ADDITIONAL_ARGS} \\\n $@\"" [e2e-llm-inference-service] - -- [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8000 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: HOME [e2e-llm-inference-service] value: /home [e2e-llm-inference-service] - name: VLLM_LOGGING_LEVEL [e2e-llm-inference-service] value: DEBUG [e2e-llm-inference-service] - name: VLLM_CPU_KVCACHE_SPACE [e2e-llm-inference-service] value: '1' [e2e-llm-inference-service] - name: VLLM_ENABLE_V1_MULTIPROCESSING [e2e-llm-inference-service] value: '0' [e2e-llm-inference-service] - name: USER [e2e-llm-inference-service] value: nonroot [e2e-llm-inference-service] - name: TORCHINDUCTOR_CACHE_DIR [e2e-llm-inference-service] value: /tmp/torchinductor-cache [e2e-llm-inference-service] - name: HF_HUB_CACHE [e2e-llm-inference-service] value: /models [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '2' [e2e-llm-inference-service] memory: 7Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 200m [e2e-llm-inference-service] memory: 2Gi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] mountPath: /home [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] mountPath: /tmp [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] mountPath: /dev/shm [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] mountPath: /models [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /mnt/models [e2e-llm-inference-service] - name: kube-api-access-ntk7g [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/secrets/kubernetes.io/serviceaccount [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 180 [e2e-llm-inference-service] timeoutSeconds: 30 [e2e-llm-inference-service] periodSeconds: 30 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 8 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] startupProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 60 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: File [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsUser: 1000970000 [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] serviceAccountName: default [e2e-llm-inference-service] serviceAccount: default [e2e-llm-inference-service] nodeName: ip-10-0-137-1.ec2.internal [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] seLinuxOptions: [e2e-llm-inference-service] level: s0:c31,c20 [e2e-llm-inference-service] fsGroup: 1000970000 [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] imagePullSecrets: [e2e-llm-inference-service] - name: default-dockercfg-gjk9l [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] tolerations: [e2e-llm-inference-service] - key: node.kubernetes.io/not-ready [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoExecute [e2e-llm-inference-service] tolerationSeconds: 300 [e2e-llm-inference-service] - key: node.kubernetes.io/unreachable [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoExecute [e2e-llm-inference-service] tolerationSeconds: 300 [e2e-llm-inference-service] - key: node.kubernetes.io/memory-pressure [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoSchedule [e2e-llm-inference-service] priority: 0 [e2e-llm-inference-service] enableServiceLinks: true [e2e-llm-inference-service] preemptionPolicy: PreemptLowerPriority [e2e-llm-inference-service] status: [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] phase: Pending [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] - type: PodReadyToStartContainers [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'False' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] - type: Initialized [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] - type: Ready [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'False' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] reason: ContainersNotReady [e2e-llm-inference-service] message: 'containers with unready status: [main]' [e2e-llm-inference-service] - type: ContainersReady [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'False' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] reason: ContainersNotReady [e2e-llm-inference-service] message: 'containers with unready status: [main]' [e2e-llm-inference-service] - type: PodScheduled [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] hostIP: 10.0.137.1 [e2e-llm-inference-service] hostIPs: [e2e-llm-inference-service] - ip: 10.0.137.1 [e2e-llm-inference-service] startTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] containerStatuses: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] state: [e2e-llm-inference-service] waiting: [e2e-llm-inference-service] reason: ContainerCreating [e2e-llm-inference-service] lastState: {} [e2e-llm-inference-service] ready: false [e2e-llm-inference-service] restartCount: 0 [e2e-llm-inference-service] image: vllm/vllm-openai-cpu:v0.19.0 [e2e-llm-inference-service] imageID: '' [e2e-llm-inference-service] started: false [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] mountPath: /home [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] mountPath: /tmp [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] mountPath: /dev/shm [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] mountPath: /models [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] mountPath: /mnt/models [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] - name: kube-api-access-ntk7g [e2e-llm-inference-service] mountPath: /var/run/secrets/kubernetes.io/serviceaccount [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] qosClass: Burstable [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: Pod [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-sche2vtc4 [e2e-llm-inference-service] generateName: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-scheduler-7fc69df7b8- [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: a84f8c14-acbd-473d-8ef0-b22a49df0427 [e2e-llm-inference-service] resourceVersion: '57931' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] pod-template-hash: 7fc69df7b8 [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] app.kubernetes.io/version: 0.10.0 [e2e-llm-inference-service] certificates.kserve.io/expiration-v2: 'true' [e2e-llm-inference-service] k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.35/23"],"mac_address":"0a:58:0a:86:00:23","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.35/23","gateway_ip":"10.134.0.1","role":"primary"}}' [e2e-llm-inference-service] k8s.v1.cni.cncf.io/network-status: "[{\n \"name\": \"ovn-kubernetes\",\n \ [e2e-llm-inference-service] \ \"interface\": \"eth0\",\n \"ips\": [\n \"10.134.0.35\"\n ],\n\ [e2e-llm-inference-service] \ \"mac\": \"0a:58:0a:86:00:23\",\n \"default\": true,\n \"dns\": {}\n\ [e2e-llm-inference-service] }]" [e2e-llm-inference-service] openshift.io/scc: restricted-v2 [e2e-llm-inference-service] seccomp.security.alpha.kubernetes.io/pod: runtime/default [e2e-llm-inference-service] security.openshift.io/validated-scc-subject-type: user [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: apps/v1 [e2e-llm-inference-service] kind: ReplicaSet [e2e-llm-inference-service] name: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-scheduler-7fc69df7b8 [e2e-llm-inference-service] uid: 1dac5858-3855-48a7-bc54-5c85fbf447b8 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: ip-10-0-143-25 [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] f:k8s.ovn.org/pod-networks: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/version: {} [e2e-llm-inference-service] f:certificates.kserve.io/expiration-v2: {} [e2e-llm-inference-service] f:generateName: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"1dac5858-3855-48a7-bc54-5c85fbf447b8"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:args: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"SSL_CERT_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:grpc: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:service: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":5557,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9002,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9003,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9090,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:grpc: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:service: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:enableServiceLinks: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:serviceAccount: {} [e2e-llm-inference-service] f:serviceAccountName: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] - manager: multus-daemon [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] f:k8s.v1.cni.cncf.io/network-status: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] - manager: kubelet [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:conditions: [e2e-llm-inference-service] k:{"type":"ContainersReady"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"Initialized"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"PodReadyToStartContainers"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"PodScheduled"}: [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] k:{"type":"Ready"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastProbeTime: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:containerStatuses: {} [e2e-llm-inference-service] f:hostIP: {} [e2e-llm-inference-service] f:hostIPs: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:phase: {} [e2e-llm-inference-service] f:podIP: {} [e2e-llm-inference-service] f:podIPs: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"ip":"10.134.0.35"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:ip: {} [e2e-llm-inference-service] f:startTime: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] - name: kube-api-access-xs2ln [e2e-llm-inference-service] projected: [e2e-llm-inference-service] sources: [e2e-llm-inference-service] - serviceAccountToken: [e2e-llm-inference-service] expirationSeconds: 3607 [e2e-llm-inference-service] path: token [e2e-llm-inference-service] - configMap: [e2e-llm-inference-service] name: kube-root-ca.crt [e2e-llm-inference-service] items: [e2e-llm-inference-service] - key: ca.crt [e2e-llm-inference-service] path: ca.crt [e2e-llm-inference-service] - downwardAPI: [e2e-llm-inference-service] items: [e2e-llm-inference-service] - path: namespace [e2e-llm-inference-service] fieldRef: [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] fieldPath: metadata.namespace [e2e-llm-inference-service] - configMap: [e2e-llm-inference-service] name: openshift-service-ca.crt [e2e-llm-inference-service] items: [e2e-llm-inference-service] - key: service-ca.crt [e2e-llm-inference-service] path: service-ca.crt [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: quay.io/opendatahub/odh-llm-d-router-endpoint-picker:v0.9.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /app/epp [e2e-llm-inference-service] - --pool-name [e2e-llm-inference-service] - llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] - --pool-namespace [e2e-llm-inference-service] - e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] - --zap-encoder [e2e-llm-inference-service] - json [e2e-llm-inference-service] - --grpc-port [e2e-llm-inference-service] - '9002' [e2e-llm-inference-service] - --grpc-health-port [e2e-llm-inference-service] - '9003' [e2e-llm-inference-service] - --enable-cert-reload=true [e2e-llm-inference-service] - --secure-serving=true [e2e-llm-inference-service] - --cert-path=/var/run/kserve/tls [e2e-llm-inference-service] args: [e2e-llm-inference-service] - --config-text [e2e-llm-inference-service] - "apiVersion: llm-d.ai/v1alpha1\nkind: EndpointPickerConfig\nplugins:\n- type:\ [e2e-llm-inference-service] \ disagg-headers-handler\n- type: prefill-filter\n- type: decode-filter\n- type:\ [e2e-llm-inference-service] \ queue-scorer\n- type: kv-cache-utilization-scorer\n- type: active-request-scorer\n\ [e2e-llm-inference-service] - type: prefix-cache-scorer\n- type: max-score-picker\n- type: always-disagg-pd-decider\n\ [e2e-llm-inference-service] - parameters:\n deciders:\n prefill: always-disagg-pd-decider\n type:\ [e2e-llm-inference-service] \ disagg-profile-handler\n- parameters:\n scheme: https\n type: metrics-data-source\n\ [e2e-llm-inference-service] schedulingProfiles:\n- name: prefill\n plugins:\n - pluginRef: prefill-filter\n\ [e2e-llm-inference-service] \ - pluginRef: prefix-cache-scorer\n weight: 3\n - pluginRef: queue-scorer\n\ [e2e-llm-inference-service] \ weight: 2\n - pluginRef: kv-cache-utilization-scorer\n weight: 2\n\ [e2e-llm-inference-service] \ - pluginRef: max-score-picker\n- name: decode\n plugins:\n - pluginRef:\ [e2e-llm-inference-service] \ decode-filter\n - pluginRef: active-request-scorer\n weight: 2\n - pluginRef:\ [e2e-llm-inference-service] \ prefix-cache-scorer\n weight: 3\n - pluginRef: max-score-picker\n" [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: grpc [e2e-llm-inference-service] containerPort: 9002 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: grpc-health [e2e-llm-inference-service] containerPort: 9003 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: metrics [e2e-llm-inference-service] containerPort: 9090 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: zmq [e2e-llm-inference-service] containerPort: 5557 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: SSL_CERT_DIR [e2e-llm-inference-service] value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '6' [e2e-llm-inference-service] memory: 16Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 256m [e2e-llm-inference-service] memory: 500Mi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] - name: kube-api-access-xs2ln [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/secrets/kubernetes.io/serviceaccount [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] grpc: [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] service: liveness [e2e-llm-inference-service] initialDelaySeconds: 5 [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] grpc: [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] service: readiness [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsUser: 1000970000 [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: true [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] serviceAccountName: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] serviceAccount: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] nodeName: ip-10-0-143-25.ec2.internal [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] seLinuxOptions: [e2e-llm-inference-service] level: s0:c31,c20 [e2e-llm-inference-service] fsGroup: 1000970000 [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] imagePullSecrets: [e2e-llm-inference-service] - name: default-dockercfg-gjk9l [e2e-llm-inference-service] - name: llmisvc-model-pvc-router-manage-e8706282-epp-sa-dockercfg-n522v [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] tolerations: [e2e-llm-inference-service] - key: node.kubernetes.io/not-ready [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoExecute [e2e-llm-inference-service] tolerationSeconds: 300 [e2e-llm-inference-service] - key: node.kubernetes.io/unreachable [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoExecute [e2e-llm-inference-service] tolerationSeconds: 300 [e2e-llm-inference-service] - key: node.kubernetes.io/memory-pressure [e2e-llm-inference-service] operator: Exists [e2e-llm-inference-service] effect: NoSchedule [e2e-llm-inference-service] priority: 0 [e2e-llm-inference-service] enableServiceLinks: true [e2e-llm-inference-service] preemptionPolicy: PreemptLowerPriority [e2e-llm-inference-service] status: [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] phase: Running [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] - type: PodReadyToStartContainers [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] - type: Initialized [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] - type: Ready [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] - type: ContainersReady [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] - type: PodScheduled [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastProbeTime: null [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] hostIP: 10.0.143.25 [e2e-llm-inference-service] hostIPs: [e2e-llm-inference-service] - ip: 10.0.143.25 [e2e-llm-inference-service] podIP: 10.134.0.35 [e2e-llm-inference-service] podIPs: [e2e-llm-inference-service] - ip: 10.134.0.35 [e2e-llm-inference-service] startTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] containerStatuses: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] state: [e2e-llm-inference-service] running: [e2e-llm-inference-service] startedAt: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] lastState: {} [e2e-llm-inference-service] ready: true [e2e-llm-inference-service] restartCount: 0 [e2e-llm-inference-service] image: quay.io/opendatahub/odh-llm-d-router-endpoint-picker:v0.9.0 [e2e-llm-inference-service] imageID: quay.io/opendatahub/odh-llm-d-router-endpoint-picker@sha256:7fd1d61cb5505e026eebab0b9653758779c3dee241e37bea92a0bab961a48c50 [e2e-llm-inference-service] containerID: cri-o://aa8c61c48c0c8aa4c0851a74c623bda6955ab32f2de0a8b3e59a4de7a98856b2 [e2e-llm-inference-service] started: true [e2e-llm-inference-service] allocatedResources: [e2e-llm-inference-service] cpu: 256m [e2e-llm-inference-service] memory: 500Mi [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '6' [e2e-llm-inference-service] memory: 16Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 256m [e2e-llm-inference-service] memory: 500Mi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] - name: kube-api-access-xs2ln [e2e-llm-inference-service] mountPath: /var/run/secrets/kubernetes.io/serviceaccount [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] recursiveReadOnly: Disabled [e2e-llm-inference-service] user: [e2e-llm-inference-service] linux: [e2e-llm-inference-service] uid: 1000970000 [e2e-llm-inference-service] gid: 0 [e2e-llm-inference-service] supplementalGroups: [e2e-llm-inference-service] - 0 [e2e-llm-inference-service] - 1000970000 [e2e-llm-inference-service] qosClass: Burstable [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: Pod [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: a79ebc41-d0e6-4b59-bc0a-40210abfe27f [e2e-llm-inference-service] resourceVersion: '57364' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] openshift.io/internal-registry-pull-secret-ref: llmisvc-model-pvc-router-manage-e8706282-epp-sa-dockercfg-n522v [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: openshift.io/image-registry-pull-secrets_service-account-controller [e2e-llm-inference-service] operation: Apply [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:imagePullSecrets: {} [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] f:openshift.io/internal-registry-pull-secret-ref: {} [e2e-llm-inference-service] f:secrets: [e2e-llm-inference-service] k:{"name":"llmisvc-model-pvc-router-manage-e8706282-epp-sa-dockercfg-n522v"}: {} [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:secrets: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"default-dockercfg-gjk9l"}: {} [e2e-llm-inference-service] k:{"name":"seaweedfs-s3-creds"}: {} [e2e-llm-inference-service] secrets: [e2e-llm-inference-service] - name: seaweedfs-s3-creds [e2e-llm-inference-service] - name: default-dockercfg-gjk9l [e2e-llm-inference-service] - name: llmisvc-model-pvc-router-manage-e8706282-epp-sa-dockercfg-n522v [e2e-llm-inference-service] imagePullSecrets: [e2e-llm-inference-service] - name: default-dockercfg-gjk9l [e2e-llm-inference-service] - name: llmisvc-model-pvc-router-manage-e8706282-epp-sa-dockercfg-n522v [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: ServiceAccount [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: e52dee6d-d5f9-439d-bdbd-fbc48b2d7705 [e2e-llm-inference-service] resourceVersion: '57329' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] openshift.io/internal-registry-pull-secret-ref: llmisvc-model-pvc-router-manage-e8706282-kserve-dockercfg-h7c95 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: openshift.io/image-registry-pull-secrets_service-account-controller [e2e-llm-inference-service] operation: Apply [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:imagePullSecrets: {} [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] f:openshift.io/internal-registry-pull-secret-ref: {} [e2e-llm-inference-service] f:secrets: [e2e-llm-inference-service] k:{"name":"llmisvc-model-pvc-router-manage-e8706282-kserve-dockercfg-h7c95"}: {} [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:secrets: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"default-dockercfg-gjk9l"}: {} [e2e-llm-inference-service] k:{"name":"seaweedfs-s3-creds"}: {} [e2e-llm-inference-service] secrets: [e2e-llm-inference-service] - name: seaweedfs-s3-creds [e2e-llm-inference-service] - name: default-dockercfg-gjk9l [e2e-llm-inference-service] - name: llmisvc-model-pvc-router-manage-e8706282-kserve-dockercfg-h7c95 [e2e-llm-inference-service] imagePullSecrets: [e2e-llm-inference-service] - name: default-dockercfg-gjk9l [e2e-llm-inference-service] - name: llmisvc-model-pvc-router-manage-e8706282-kserve-dockercfg-h7c95 [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: ServiceAccount [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-service [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: a77e6cd8-237d-4f62-8618-691b825dea6b [e2e-llm-inference-service] resourceVersion: '57393' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:internalTrafficPolicy: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"port":5557,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:targetPort: {} [e2e-llm-inference-service] k:{"port":9002,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:targetPort: {} [e2e-llm-inference-service] k:{"port":9003,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:targetPort: {} [e2e-llm-inference-service] k:{"port":9090,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:targetPort: {} [e2e-llm-inference-service] f:selector: {} [e2e-llm-inference-service] f:sessionAffinity: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] spec: [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: grpc [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 9002 [e2e-llm-inference-service] targetPort: grpc [e2e-llm-inference-service] - name: grpc-health [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] targetPort: grpc-health [e2e-llm-inference-service] - name: metrics [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 9090 [e2e-llm-inference-service] targetPort: metrics [e2e-llm-inference-service] - name: zmq [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 5557 [e2e-llm-inference-service] targetPort: zmq [e2e-llm-inference-service] selector: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] clusterIP: 172.31.221.204 [e2e-llm-inference-service] clusterIPs: [e2e-llm-inference-service] - 172.31.221.204 [e2e-llm-inference-service] type: ClusterIP [e2e-llm-inference-service] sessionAffinity: None [e2e-llm-inference-service] ipFamilies: [e2e-llm-inference-service] - IPv4 [e2e-llm-inference-service] ipFamilyPolicy: SingleStack [e2e-llm-inference-service] internalTrafficPolicy: Cluster [e2e-llm-inference-service] status: [e2e-llm-inference-service] loadBalancer: {} [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 2cf07ce1-f3cf-4944-afb2-ac9dcec6ec1a [e2e-llm-inference-service] resourceVersion: '57349' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:internalTrafficPolicy: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"port":8000,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:appProtocol: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:targetPort: {} [e2e-llm-inference-service] f:selector: {} [e2e-llm-inference-service] f:sessionAffinity: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] spec: [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: https [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] appProtocol: https [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] targetPort: 8000 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] clusterIP: 172.31.164.55 [e2e-llm-inference-service] clusterIPs: [e2e-llm-inference-service] - 172.31.164.55 [e2e-llm-inference-service] type: ClusterIP [e2e-llm-inference-service] sessionAffinity: None [e2e-llm-inference-service] ipFamilies: [e2e-llm-inference-service] - IPv4 [e2e-llm-inference-service] ipFamilyPolicy: SingleStack [e2e-llm-inference-service] internalTrafficPolicy: Cluster [e2e-llm-inference-service] status: [e2e-llm-inference-service] loadBalancer: {} [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 19257fd6-8590-440b-a3fc-d760e353cfb2 [e2e-llm-inference-service] resourceVersion: '58878' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: decode [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] deployment.kubernetes.io/revision: '1' [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:progressDeadlineSeconds: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:revisionHistoryLimit: {} [e2e-llm-inference-service] f:selector: {} [e2e-llm-inference-service] f:strategy: [e2e-llm-inference-service] f:rollingUpdate: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:maxSurge: {} [e2e-llm-inference-service] f:maxUnavailable: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:template: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"HF_HUB_CACHE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"HOME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"TORCHINDUCTOR_CACHE_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"USER"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_CPU_KVCACHE_SPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_ENABLE_V1_MULTIPROCESSING"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_LOGGING_LEVEL"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8001,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:startupProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/dev/shm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/mnt/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] k:{"mountPath":"/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/tmp"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:initContainers: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"llm-d-routing-sidecar"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"INFERENCE_POOL_NAME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"INFERENCE_POOL_NAMESPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:valueFrom: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:fieldRef: {} [e2e-llm-inference-service] k:{"name":"SSL_CERT_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8000,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:serviceAccount: {} [e2e-llm-inference-service] f:serviceAccountName: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"dshm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:medium: {} [e2e-llm-inference-service] f:sizeLimit: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"kserve-pvc-source"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:persistentVolumeClaim: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:claimName: {} [e2e-llm-inference-service] k:{"name":"model-cache"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] k:{"name":"tmp-dir"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/revision: {} [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:availableReplicas: {} [e2e-llm-inference-service] f:conditions: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"type":"Available"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:lastUpdateTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"Progressing"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:lastUpdateTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:readyReplicas: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:updatedReplicas: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] matchLabels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: decode [e2e-llm-inference-service] template: [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: decode [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] emptyDir: [e2e-llm-inference-service] medium: Memory [e2e-llm-inference-service] sizeLimit: 1Gi [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] persistentVolumeClaim: [e2e-llm-inference-service] claimName: e2e-pvc-model-storage [e2e-llm-inference-service] initContainers: [e2e-llm-inference-service] - name: llm-d-routing-sidecar [e2e-llm-inference-service] image: quay.io/opendatahub/odh-llm-d-router-disagg-sidecar:v0.9.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /app/pd-sidecar [e2e-llm-inference-service] - --port=8000 [e2e-llm-inference-service] - --vllm-port=8001 [e2e-llm-inference-service] - --kv-connector=nixlv2 [e2e-llm-inference-service] - --enable-ssrf-protection=true [e2e-llm-inference-service] - --pool-group=inference.networking.x-k8s.io [e2e-llm-inference-service] - --inference-pool=e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] - --secure-proxy=true [e2e-llm-inference-service] - --cert-path=/var/run/kserve/tls [e2e-llm-inference-service] - --enable-tls=decoder [e2e-llm-inference-service] - --enable-tls=prefiller [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8000 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: INFERENCE_POOL_NAMESPACE [e2e-llm-inference-service] valueFrom: [e2e-llm-inference-service] fieldRef: [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] fieldPath: metadata.namespace [e2e-llm-inference-service] - name: SSL_CERT_DIR [e2e-llm-inference-service] value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs [e2e-llm-inference-service] - name: INFERENCE_POOL_NAME [e2e-llm-inference-service] value: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] resources: {} [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 10 [e2e-llm-inference-service] timeoutSeconds: 10 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 10 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 10 [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: vllm/vllm-openai-cpu:v0.19.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/bash [e2e-llm-inference-service] - -c [e2e-llm-inference-service] - "if [ -f /etc/profile.d/ibm-aiu-setup.sh ]; then\n source /etc/profile.d/ibm-aiu-setup.sh\n\ [e2e-llm-inference-service] fi\n\nif [ \"$KSERVE_INFER_ROCE\" = \"true\" ]; then\n echo \"Trying to\ [e2e-llm-inference-service] \ infer RoCE configs ... \"\n grep -H . /sys/class/infiniband/*/ports/*/gids/*\ [e2e-llm-inference-service] \ 2>/dev/null\n grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/*\ [e2e-llm-inference-service] \ 2>/dev/null\n\n cat /proc/driver/nvidia/params\n\n KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-\"\ [e2e-llm-inference-service] RoCE v2\"}\n\n echo \"[Infer RoCE] Discovering active HCAs ...\"\n active_hcas=()\n\ [e2e-llm-inference-service] \ # Loop through all mlx5 devices found in sysfs\n for hca_dir in /sys/class/infiniband/mlx5_*;\ [e2e-llm-inference-service] \ do\n # Ensure it's a directory before proceeding\n if [ -d \"\ [e2e-llm-inference-service] $hca_dir\" ]; then\n hca_name=$(basename \"$hca_dir\")\n \ [e2e-llm-inference-service] \ port_state_file=\"$hca_dir/ports/1/state\" # Assume port 1\n \ [e2e-llm-inference-service] \ type_file=\"$hca_dir/ports/1/gid_attrs/types/*\"\n\n echo\ [e2e-llm-inference-service] \ \"[Infer RoCE] Check if the port state file ${port_state_file} exists\ [e2e-llm-inference-service] \ and contains 'ACTIVE'\"\n if [ -f \"$port_state_file\" ] && grep\ [e2e-llm-inference-service] \ -q \"ACTIVE\" \"$port_state_file\" && grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\"\ [e2e-llm-inference-service] \ ${type_file} 2>/dev/null; then\n echo \"[Infer RoCE] Found\ [e2e-llm-inference-service] \ active HCA: $hca_name\"\n active_hcas+=(\"$hca_name\")\n\ [e2e-llm-inference-service] \ else\n echo \"[Infer RoCE] Skipping inactive or\ [e2e-llm-inference-service] \ down HCA: $hca_name\"\n fi\n fi\n done\n\n # Check if\ [e2e-llm-inference-service] \ we found any active HCAs\n if [ ${#active_hcas[@]} -gt 0 ]; then\n \ [e2e-llm-inference-service] \ # Join the array elements with a comma\n hca_port_pairs=()\n \ [e2e-llm-inference-service] \ for hca in \"${active_hcas[@]}\"; do\n hca_port_pairs+=(\"\ [e2e-llm-inference-service] ${hca}:1\")\n done\n\n active_hca_list=$(IFS=,; echo \"${active_hcas[*]}\"\ [e2e-llm-inference-service] )\n hca_port_pairs_list=$(IFS=,; echo \"${hca_port_pairs[*]}\")\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Setting active HCAs: ${active_hca_list}\"\n \ [e2e-llm-inference-service] \ export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}\n export\ [e2e-llm-inference-service] \ NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}\n export\ [e2e-llm-inference-service] \ UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}\n\n echo\ [e2e-llm-inference-service] \ \"[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}\"\n echo \"[Infer RoCE]\ [e2e-llm-inference-service] \ NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}\"\n echo \"[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}\"\ [e2e-llm-inference-service] \n else\n echo \"[Infer RoCE] WARNING: No active RoCE HCAs found.\ [e2e-llm-inference-service] \ NCCL_IB_HCA will not be set.\"\n fi\n\n if [ ${#active_hcas[@]} -gt\ [e2e-llm-inference-service] \ 0 ]; then\n echo \"[Infer RoCE] Finding GID_INDEX for each active\ [e2e-llm-inference-service] \ HCA (SR-IOV compatible)...\"\n\n # For SR-IOV environments, find\ [e2e-llm-inference-service] \ the most common IPv4 RoCE v2 GID index across all HCAs\n declare\ [e2e-llm-inference-service] \ -A gid_index_count\n declare -A hca_gid_index\n\n for hca_name\ [e2e-llm-inference-service] \ in \"${active_hcas[@]}\"; do\n echo \"[Infer RoCE] Processing\ [e2e-llm-inference-service] \ HCA: ${hca_name}\"\n\n # Find all RoCE v2 IPv4 GIDs for this\ [e2e-llm-inference-service] \ HCA and count by index\n for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*;\ [e2e-llm-inference-service] \ do\n if grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\" \"\ [e2e-llm-inference-service] $tpath\" 2>/dev/null; then\n idx=$(basename \"$tpath\"\ [e2e-llm-inference-service] )\n gid_file=\"/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}\"\ [e2e-llm-inference-service] \n # Check for IPv4 GID (contains ffff:)\n \ [e2e-llm-inference-service] \ if [ -f \"$gid_file\" ] && grep -q \"ffff:\" \"$gid_file\"; then\n\ [e2e-llm-inference-service] \ gid_value=$(cat \"$gid_file\" 2>/dev/null || echo\ [e2e-llm-inference-service] \ \"\")\n echo \"[Infer RoCE] Found IPv4 RoCE v2 GID\ [e2e-llm-inference-service] \ for ${hca_name}: index=${idx}, gid=${gid_value}\"\n \ [e2e-llm-inference-service] \ hca_gid_index[\"${hca_name}\"]=\"${idx}\"\n gid_index_count[\"\ [e2e-llm-inference-service] ${idx}\"]=$((${gid_index_count[\"${idx}\"]} + 1))\n \ [e2e-llm-inference-service] \ break # Use first found IPv4 GID per HCA\n fi\n \ [e2e-llm-inference-service] \ fi\n done\n done\n\n # Find the most common\ [e2e-llm-inference-service] \ GID index (most likely to be consistent across nodes)\n best_gid_index=\"\ [e2e-llm-inference-service] \"\n max_count=0\n for idx in \"${!gid_index_count[@]}\"; do\n\ [e2e-llm-inference-service] \ count=${gid_index_count[\"${idx}\"]}\n echo \"[Infer\ [e2e-llm-inference-service] \ RoCE] GID_INDEX ${idx} found on ${count} HCAs\"\n if [ $count\ [e2e-llm-inference-service] \ -gt $max_count ]; then\n max_count=$count\n \ [e2e-llm-inference-service] \ best_gid_index=\"$idx\"\n fi\n done\n\n # Use deterministic\ [e2e-llm-inference-service] \ fallback if tied - prefer index 3 (SR-IOV standard)\n if [ ${#gid_index_count[@]}\ [e2e-llm-inference-service] \ -gt 1 ]; then\n echo \"[Infer RoCE] Multiple GID indices found,\ [e2e-llm-inference-service] \ selecting most common: ${best_gid_index}\"\n # If there's a tie,\ [e2e-llm-inference-service] \ prefer index 3 as it's most common in SR-IOV setups\n if [ -n\ [e2e-llm-inference-service] \ \"${gid_index_count['3']}\" ] && [ \"${gid_index_count['3']}\" -eq \"\ [e2e-llm-inference-service] $max_count\" ]; then\n best_gid_index=\"3\"\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV\ [e2e-llm-inference-service] \ standard)\"\n fi\n fi\n\n # Check if GID_INDEX is already\ [e2e-llm-inference-service] \ set via environment variables\n if [ -n \"${NCCL_IB_GID_INDEX}\"\ [e2e-llm-inference-service] \ ]; then\n echo \"[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ from environment\"\n export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ for NCCL, NVSHMEM, and UCX\"\n elif [ -n \"$best_gid_index\" ]; then\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found\ [e2e-llm-inference-service] \ on ${max_count} HCAs)\"\n\n export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \n echo \"[Infer RoCE] Exported GID_INDEX=${best_gid_index} for\ [e2e-llm-inference-service] \ NCCL, NVSHMEM, and UCX\"\n else\n echo \"[Infer RoCE] ERROR:\ [e2e-llm-inference-service] \ No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any\ [e2e-llm-inference-service] \ HCA.\"\n fi\n else\n echo \"[Infer RoCE] No active HCAs found,\ [e2e-llm-inference-service] \ skipping GID_INDEX inference.\"\n fi\nfi\n\n# --disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ landed in vLLM 0.16.0 (vllm-project/vllm#30011).\n# Older versions still\ [e2e-llm-inference-service] \ need the blanket --disable-uvicorn-access-log.\nACCESS_LOG_ARGS=\"--disable-uvicorn-access-log\"\ [e2e-llm-inference-service] \nVLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')\n\ [e2e-llm-inference-service] echo \"[access-log-detect] vllm version='${VLLM_VERSION}'\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.16.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.16.0\" ]; then\n ACCESS_LOG_ARGS=\"--disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ /health,/metrics,/ping\"\nfi\necho \"[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'\"\ [e2e-llm-inference-service] \n\n# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).\n\ [e2e-llm-inference-service] SHUTDOWN_TIMEOUT_ARGS=\"\"\nif [[ \"$VLLM_VERSION\" =~ ^[0-9]+\\.[0-9]+\ [e2e-llm-inference-service] \ ]] && [ \"$(printf '%s\\n%s\\n' \"0.18.0\" \"${VLLM_VERSION}\" | sort\ [e2e-llm-inference-service] \ -V | head -1)\" = \"0.18.0\" ]; then\n SHUTDOWN_TIMEOUT_ARGS=\"--shutdown-timeout\ [e2e-llm-inference-service] \ 40\"\nfi\n\n# --kv-transfer-config with OffloadingConnector requires vLLM\ [e2e-llm-inference-service] \ 0.22.0+ (vllm-project/vllm#40020).\nKV_TRANSFER_ARGS=\"\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.22.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.22.0\" ]; then\n if [[ \"${VLLM_ADDITIONAL_ARGS:-}\"\ [e2e-llm-inference-service] \ != *\"--kv-transfer-config\"* ]] && [[ \"${VLLM_ADDITIONAL_ARGS:-}\" !=\ [e2e-llm-inference-service] \ *\"--kv_transfer_config\"* ]] && [[ \"$*\" != *\"--kv-transfer-config\"\ [e2e-llm-inference-service] * ]] && [[ \"$*\" != *\"--kv_transfer_config\"* ]]; then\n KV_TRANSFER_ARGS=\"\ [e2e-llm-inference-service] \"\n fi\nfi\n\neval \"exec vllm serve /mnt/models \\\n --served-model-name\ [e2e-llm-inference-service] \ \"facebook/opt-125m\" \"publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m\"\ [e2e-llm-inference-service] \ \\\n --port 8001 \\\n ${ACCESS_LOG_ARGS} \\\n ${SHUTDOWN_TIMEOUT_ARGS}\ [e2e-llm-inference-service] \ \\\n ${KV_TRANSFER_ARGS} \\\n \\\n --enable-ssl-refresh \\\n --ssl-certfile\ [e2e-llm-inference-service] \ /var/run/kserve/tls/tls.crt \\\n --ssl-keyfile /var/run/kserve/tls/tls.key\ [e2e-llm-inference-service] \ \\\n ${VLLM_ADDITIONAL_ARGS} \\\n $@\"" [e2e-llm-inference-service] - -- [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8001 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: HOME [e2e-llm-inference-service] value: /home [e2e-llm-inference-service] - name: VLLM_LOGGING_LEVEL [e2e-llm-inference-service] value: DEBUG [e2e-llm-inference-service] - name: VLLM_CPU_KVCACHE_SPACE [e2e-llm-inference-service] value: '1' [e2e-llm-inference-service] - name: VLLM_ENABLE_V1_MULTIPROCESSING [e2e-llm-inference-service] value: '0' [e2e-llm-inference-service] - name: USER [e2e-llm-inference-service] value: nonroot [e2e-llm-inference-service] - name: TORCHINDUCTOR_CACHE_DIR [e2e-llm-inference-service] value: /tmp/torchinductor-cache [e2e-llm-inference-service] - name: HF_HUB_CACHE [e2e-llm-inference-service] value: /models [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '2' [e2e-llm-inference-service] memory: 7Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 200m [e2e-llm-inference-service] memory: 2Gi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] mountPath: /home [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] mountPath: /tmp [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] mountPath: /dev/shm [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] mountPath: /models [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /mnt/models [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 180 [e2e-llm-inference-service] timeoutSeconds: 30 [e2e-llm-inference-service] periodSeconds: 30 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 8 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] startupProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8001 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 60 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] serviceAccountName: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] serviceAccount: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] securityContext: {} [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] strategy: [e2e-llm-inference-service] type: RollingUpdate [e2e-llm-inference-service] rollingUpdate: [e2e-llm-inference-service] maxUnavailable: 25% [e2e-llm-inference-service] maxSurge: 25% [e2e-llm-inference-service] revisionHistoryLimit: 10 [e2e-llm-inference-service] progressDeadlineSeconds: 600 [e2e-llm-inference-service] status: [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] updatedReplicas: 1 [e2e-llm-inference-service] readyReplicas: 1 [e2e-llm-inference-service] availableReplicas: 1 [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] - type: Available [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastUpdateTime: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] reason: MinimumReplicasAvailable [e2e-llm-inference-service] message: Deployment has minimum availability. [e2e-llm-inference-service] - type: Progressing [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastUpdateTime: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] reason: NewReplicaSetAvailable [e2e-llm-inference-service] message: ReplicaSet "llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c" [e2e-llm-inference-service] has successfully progressed. [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] kind: Deployment [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-prefill [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 3553e092-45d2-477b-90cc-adb614e89940 [e2e-llm-inference-service] resourceVersion: '63978' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload-prefill [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: prefill [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] deployment.kubernetes.io/revision: '1' [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:progressDeadlineSeconds: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:revisionHistoryLimit: {} [e2e-llm-inference-service] f:selector: {} [e2e-llm-inference-service] f:strategy: [e2e-llm-inference-service] f:rollingUpdate: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:maxSurge: {} [e2e-llm-inference-service] f:maxUnavailable: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:template: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"HF_HUB_CACHE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"HOME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"TORCHINDUCTOR_CACHE_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"USER"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_CPU_KVCACHE_SPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_ENABLE_V1_MULTIPROCESSING"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_LOGGING_LEVEL"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8000,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:startupProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/dev/shm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/mnt/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] k:{"mountPath":"/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/tmp"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"dshm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:medium: {} [e2e-llm-inference-service] f:sizeLimit: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"kserve-pvc-source"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:persistentVolumeClaim: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:claimName: {} [e2e-llm-inference-service] k:{"name":"model-cache"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] k:{"name":"tmp-dir"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:56:15Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/revision: {} [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:conditions: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"type":"Available"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:lastUpdateTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"Progressing"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:lastUpdateTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:unavailableReplicas: {} [e2e-llm-inference-service] f:updatedReplicas: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] matchLabels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload-prefill [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: prefill [e2e-llm-inference-service] template: [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload-prefill [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: prefill [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] emptyDir: [e2e-llm-inference-service] medium: Memory [e2e-llm-inference-service] sizeLimit: 1Gi [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] persistentVolumeClaim: [e2e-llm-inference-service] claimName: e2e-pvc-model-storage [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: vllm/vllm-openai-cpu:v0.19.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/bash [e2e-llm-inference-service] - -c [e2e-llm-inference-service] - "if [ -f /etc/profile.d/ibm-aiu-setup.sh ]; then\n source /etc/profile.d/ibm-aiu-setup.sh\n\ [e2e-llm-inference-service] fi\n\nif [ \"$KSERVE_INFER_ROCE\" = \"true\" ]; then\n echo \"Trying to\ [e2e-llm-inference-service] \ infer RoCE configs ... \"\n grep -H . /sys/class/infiniband/*/ports/*/gids/*\ [e2e-llm-inference-service] \ 2>/dev/null\n grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/*\ [e2e-llm-inference-service] \ 2>/dev/null\n\n cat /proc/driver/nvidia/params\n\n KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-\"\ [e2e-llm-inference-service] RoCE v2\"}\n\n echo \"[Infer RoCE] Discovering active HCAs ...\"\n active_hcas=()\n\ [e2e-llm-inference-service] \ # Loop through all mlx5 devices found in sysfs\n for hca_dir in /sys/class/infiniband/mlx5_*;\ [e2e-llm-inference-service] \ do\n # Ensure it's a directory before proceeding\n if [ -d \"\ [e2e-llm-inference-service] $hca_dir\" ]; then\n hca_name=$(basename \"$hca_dir\")\n \ [e2e-llm-inference-service] \ port_state_file=\"$hca_dir/ports/1/state\" # Assume port 1\n \ [e2e-llm-inference-service] \ type_file=\"$hca_dir/ports/1/gid_attrs/types/*\"\n\n echo\ [e2e-llm-inference-service] \ \"[Infer RoCE] Check if the port state file ${port_state_file} exists\ [e2e-llm-inference-service] \ and contains 'ACTIVE'\"\n if [ -f \"$port_state_file\" ] && grep\ [e2e-llm-inference-service] \ -q \"ACTIVE\" \"$port_state_file\" && grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\"\ [e2e-llm-inference-service] \ ${type_file} 2>/dev/null; then\n echo \"[Infer RoCE] Found\ [e2e-llm-inference-service] \ active HCA: $hca_name\"\n active_hcas+=(\"$hca_name\")\n\ [e2e-llm-inference-service] \ else\n echo \"[Infer RoCE] Skipping inactive or\ [e2e-llm-inference-service] \ down HCA: $hca_name\"\n fi\n fi\n done\n\n # Check if\ [e2e-llm-inference-service] \ we found any active HCAs\n if [ ${#active_hcas[@]} -gt 0 ]; then\n \ [e2e-llm-inference-service] \ # Join the array elements with a comma\n hca_port_pairs=()\n \ [e2e-llm-inference-service] \ for hca in \"${active_hcas[@]}\"; do\n hca_port_pairs+=(\"\ [e2e-llm-inference-service] ${hca}:1\")\n done\n\n active_hca_list=$(IFS=,; echo \"${active_hcas[*]}\"\ [e2e-llm-inference-service] )\n hca_port_pairs_list=$(IFS=,; echo \"${hca_port_pairs[*]}\")\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Setting active HCAs: ${active_hca_list}\"\n \ [e2e-llm-inference-service] \ export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}\n export\ [e2e-llm-inference-service] \ NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}\n export\ [e2e-llm-inference-service] \ UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}\n\n echo\ [e2e-llm-inference-service] \ \"[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}\"\n echo \"[Infer RoCE]\ [e2e-llm-inference-service] \ NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}\"\n echo \"[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}\"\ [e2e-llm-inference-service] \n else\n echo \"[Infer RoCE] WARNING: No active RoCE HCAs found.\ [e2e-llm-inference-service] \ NCCL_IB_HCA will not be set.\"\n fi\n\n if [ ${#active_hcas[@]} -gt\ [e2e-llm-inference-service] \ 0 ]; then\n echo \"[Infer RoCE] Finding GID_INDEX for each active\ [e2e-llm-inference-service] \ HCA (SR-IOV compatible)...\"\n\n # For SR-IOV environments, find\ [e2e-llm-inference-service] \ the most common IPv4 RoCE v2 GID index across all HCAs\n declare\ [e2e-llm-inference-service] \ -A gid_index_count\n declare -A hca_gid_index\n\n for hca_name\ [e2e-llm-inference-service] \ in \"${active_hcas[@]}\"; do\n echo \"[Infer RoCE] Processing\ [e2e-llm-inference-service] \ HCA: ${hca_name}\"\n\n # Find all RoCE v2 IPv4 GIDs for this\ [e2e-llm-inference-service] \ HCA and count by index\n for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*;\ [e2e-llm-inference-service] \ do\n if grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\" \"\ [e2e-llm-inference-service] $tpath\" 2>/dev/null; then\n idx=$(basename \"$tpath\"\ [e2e-llm-inference-service] )\n gid_file=\"/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}\"\ [e2e-llm-inference-service] \n # Check for IPv4 GID (contains ffff:)\n \ [e2e-llm-inference-service] \ if [ -f \"$gid_file\" ] && grep -q \"ffff:\" \"$gid_file\"; then\n\ [e2e-llm-inference-service] \ gid_value=$(cat \"$gid_file\" 2>/dev/null || echo\ [e2e-llm-inference-service] \ \"\")\n echo \"[Infer RoCE] Found IPv4 RoCE v2 GID\ [e2e-llm-inference-service] \ for ${hca_name}: index=${idx}, gid=${gid_value}\"\n \ [e2e-llm-inference-service] \ hca_gid_index[\"${hca_name}\"]=\"${idx}\"\n gid_index_count[\"\ [e2e-llm-inference-service] ${idx}\"]=$((${gid_index_count[\"${idx}\"]} + 1))\n \ [e2e-llm-inference-service] \ break # Use first found IPv4 GID per HCA\n fi\n \ [e2e-llm-inference-service] \ fi\n done\n done\n\n # Find the most common\ [e2e-llm-inference-service] \ GID index (most likely to be consistent across nodes)\n best_gid_index=\"\ [e2e-llm-inference-service] \"\n max_count=0\n for idx in \"${!gid_index_count[@]}\"; do\n\ [e2e-llm-inference-service] \ count=${gid_index_count[\"${idx}\"]}\n echo \"[Infer\ [e2e-llm-inference-service] \ RoCE] GID_INDEX ${idx} found on ${count} HCAs\"\n if [ $count\ [e2e-llm-inference-service] \ -gt $max_count ]; then\n max_count=$count\n \ [e2e-llm-inference-service] \ best_gid_index=\"$idx\"\n fi\n done\n\n # Use deterministic\ [e2e-llm-inference-service] \ fallback if tied - prefer index 3 (SR-IOV standard)\n if [ ${#gid_index_count[@]}\ [e2e-llm-inference-service] \ -gt 1 ]; then\n echo \"[Infer RoCE] Multiple GID indices found,\ [e2e-llm-inference-service] \ selecting most common: ${best_gid_index}\"\n # If there's a tie,\ [e2e-llm-inference-service] \ prefer index 3 as it's most common in SR-IOV setups\n if [ -n\ [e2e-llm-inference-service] \ \"${gid_index_count['3']}\" ] && [ \"${gid_index_count['3']}\" -eq \"\ [e2e-llm-inference-service] $max_count\" ]; then\n best_gid_index=\"3\"\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV\ [e2e-llm-inference-service] \ standard)\"\n fi\n fi\n\n # Check if GID_INDEX is already\ [e2e-llm-inference-service] \ set via environment variables\n if [ -n \"${NCCL_IB_GID_INDEX}\"\ [e2e-llm-inference-service] \ ]; then\n echo \"[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ from environment\"\n export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ for NCCL, NVSHMEM, and UCX\"\n elif [ -n \"$best_gid_index\" ]; then\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found\ [e2e-llm-inference-service] \ on ${max_count} HCAs)\"\n\n export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \n echo \"[Infer RoCE] Exported GID_INDEX=${best_gid_index} for\ [e2e-llm-inference-service] \ NCCL, NVSHMEM, and UCX\"\n else\n echo \"[Infer RoCE] ERROR:\ [e2e-llm-inference-service] \ No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any\ [e2e-llm-inference-service] \ HCA.\"\n fi\n else\n echo \"[Infer RoCE] No active HCAs found,\ [e2e-llm-inference-service] \ skipping GID_INDEX inference.\"\n fi\nfi\n\n# --disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ landed in vLLM 0.16.0 (vllm-project/vllm#30011).\n# Older versions still\ [e2e-llm-inference-service] \ need the blanket --disable-uvicorn-access-log.\nACCESS_LOG_ARGS=\"--disable-uvicorn-access-log\"\ [e2e-llm-inference-service] \nVLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')\n\ [e2e-llm-inference-service] echo \"[access-log-detect] vllm version='${VLLM_VERSION}'\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.16.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.16.0\" ]; then\n ACCESS_LOG_ARGS=\"--disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ /health,/metrics,/ping\"\nfi\necho \"[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'\"\ [e2e-llm-inference-service] \n\n# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).\n\ [e2e-llm-inference-service] SHUTDOWN_TIMEOUT_ARGS=\"\"\nif [[ \"$VLLM_VERSION\" =~ ^[0-9]+\\.[0-9]+\ [e2e-llm-inference-service] \ ]] && [ \"$(printf '%s\\n%s\\n' \"0.18.0\" \"${VLLM_VERSION}\" | sort\ [e2e-llm-inference-service] \ -V | head -1)\" = \"0.18.0\" ]; then\n SHUTDOWN_TIMEOUT_ARGS=\"--shutdown-timeout\ [e2e-llm-inference-service] \ 40\"\nfi\n\n# --kv-transfer-config with OffloadingConnector requires vLLM\ [e2e-llm-inference-service] \ 0.22.0+ (vllm-project/vllm#40020).\nKV_TRANSFER_ARGS=\"\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.22.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.22.0\" ]; then\n if [[ \"${VLLM_ADDITIONAL_ARGS:-}\"\ [e2e-llm-inference-service] \ != *\"--kv-transfer-config\"* ]] && [[ \"${VLLM_ADDITIONAL_ARGS:-}\" !=\ [e2e-llm-inference-service] \ *\"--kv_transfer_config\"* ]] && [[ \"$*\" != *\"--kv-transfer-config\"\ [e2e-llm-inference-service] * ]] && [[ \"$*\" != *\"--kv_transfer_config\"* ]]; then\n KV_TRANSFER_ARGS=\"\ [e2e-llm-inference-service] \"\n fi\nfi\n\neval \"exec vllm serve /mnt/models \\\n --served-model-name\ [e2e-llm-inference-service] \ \"facebook/opt-125m\" \\\n --port 8000 \\\n ${ACCESS_LOG_ARGS} \\\n\ [e2e-llm-inference-service] \ ${SHUTDOWN_TIMEOUT_ARGS} \\\n ${KV_TRANSFER_ARGS} \\\n \\\n --enable-ssl-refresh\ [e2e-llm-inference-service] \ \\\n --ssl-certfile /var/run/kserve/tls/tls.crt \\\n --ssl-keyfile /var/run/kserve/tls/tls.key\ [e2e-llm-inference-service] \ \\\n ${VLLM_ADDITIONAL_ARGS} \\\n $@\"" [e2e-llm-inference-service] - -- [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8000 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: HOME [e2e-llm-inference-service] value: /home [e2e-llm-inference-service] - name: VLLM_LOGGING_LEVEL [e2e-llm-inference-service] value: DEBUG [e2e-llm-inference-service] - name: VLLM_CPU_KVCACHE_SPACE [e2e-llm-inference-service] value: '1' [e2e-llm-inference-service] - name: VLLM_ENABLE_V1_MULTIPROCESSING [e2e-llm-inference-service] value: '0' [e2e-llm-inference-service] - name: USER [e2e-llm-inference-service] value: nonroot [e2e-llm-inference-service] - name: TORCHINDUCTOR_CACHE_DIR [e2e-llm-inference-service] value: /tmp/torchinductor-cache [e2e-llm-inference-service] - name: HF_HUB_CACHE [e2e-llm-inference-service] value: /models [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '2' [e2e-llm-inference-service] memory: 7Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 200m [e2e-llm-inference-service] memory: 2Gi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] mountPath: /home [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] mountPath: /tmp [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] mountPath: /dev/shm [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] mountPath: /models [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /mnt/models [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 180 [e2e-llm-inference-service] timeoutSeconds: 30 [e2e-llm-inference-service] periodSeconds: 30 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 8 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] startupProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 60 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: File [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] securityContext: {} [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] strategy: [e2e-llm-inference-service] type: RollingUpdate [e2e-llm-inference-service] rollingUpdate: [e2e-llm-inference-service] maxUnavailable: 25% [e2e-llm-inference-service] maxSurge: 25% [e2e-llm-inference-service] revisionHistoryLimit: 10 [e2e-llm-inference-service] progressDeadlineSeconds: 600 [e2e-llm-inference-service] status: [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] updatedReplicas: 1 [e2e-llm-inference-service] unavailableReplicas: 1 [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] - type: Available [e2e-llm-inference-service] status: 'False' [e2e-llm-inference-service] lastUpdateTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] reason: MinimumReplicasUnavailable [e2e-llm-inference-service] message: Deployment does not have minimum availability. [e2e-llm-inference-service] - type: Progressing [e2e-llm-inference-service] status: 'False' [e2e-llm-inference-service] lastUpdateTime: '2026-07-30T17:56:15Z' [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:56:15Z' [e2e-llm-inference-service] reason: ProgressDeadlineExceeded [e2e-llm-inference-service] message: ReplicaSet "llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7b89cd7957" [e2e-llm-inference-service] has timed out progressing. [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] kind: Deployment [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-scheduler [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 0c8d067e-581c-4749-93a0-cab06b87804f [e2e-llm-inference-service] resourceVersion: '57936' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] deployment.kubernetes.io/revision: '1' [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:progressDeadlineSeconds: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:revisionHistoryLimit: {} [e2e-llm-inference-service] f:selector: {} [e2e-llm-inference-service] f:strategy: [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:template: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/version: {} [e2e-llm-inference-service] f:certificates.kserve.io/expiration-v2: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:args: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"SSL_CERT_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:grpc: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:service: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":5557,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9002,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9003,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9090,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:grpc: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:service: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:serviceAccount: {} [e2e-llm-inference-service] f:serviceAccountName: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/revision: {} [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:availableReplicas: {} [e2e-llm-inference-service] f:conditions: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"type":"Available"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:lastUpdateTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"Progressing"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:lastUpdateTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:readyReplicas: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:updatedReplicas: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] matchLabels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] template: [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] app.kubernetes.io/version: 0.10.0 [e2e-llm-inference-service] certificates.kserve.io/expiration-v2: 'true' [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: quay.io/opendatahub/odh-llm-d-router-endpoint-picker:v0.9.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /app/epp [e2e-llm-inference-service] - --pool-name [e2e-llm-inference-service] - llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] - --pool-namespace [e2e-llm-inference-service] - e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] - --zap-encoder [e2e-llm-inference-service] - json [e2e-llm-inference-service] - --grpc-port [e2e-llm-inference-service] - '9002' [e2e-llm-inference-service] - --grpc-health-port [e2e-llm-inference-service] - '9003' [e2e-llm-inference-service] - --enable-cert-reload=true [e2e-llm-inference-service] - --secure-serving=true [e2e-llm-inference-service] - --cert-path=/var/run/kserve/tls [e2e-llm-inference-service] args: [e2e-llm-inference-service] - --config-text [e2e-llm-inference-service] - "apiVersion: llm-d.ai/v1alpha1\nkind: EndpointPickerConfig\nplugins:\n-\ [e2e-llm-inference-service] \ type: disagg-headers-handler\n- type: prefill-filter\n- type: decode-filter\n\ [e2e-llm-inference-service] - type: queue-scorer\n- type: kv-cache-utilization-scorer\n- type: active-request-scorer\n\ [e2e-llm-inference-service] - type: prefix-cache-scorer\n- type: max-score-picker\n- type: always-disagg-pd-decider\n\ [e2e-llm-inference-service] - parameters:\n deciders:\n prefill: always-disagg-pd-decider\n\ [e2e-llm-inference-service] \ type: disagg-profile-handler\n- parameters:\n scheme: https\n type:\ [e2e-llm-inference-service] \ metrics-data-source\nschedulingProfiles:\n- name: prefill\n plugins:\n\ [e2e-llm-inference-service] \ - pluginRef: prefill-filter\n - pluginRef: prefix-cache-scorer\n \ [e2e-llm-inference-service] \ weight: 3\n - pluginRef: queue-scorer\n weight: 2\n - pluginRef:\ [e2e-llm-inference-service] \ kv-cache-utilization-scorer\n weight: 2\n - pluginRef: max-score-picker\n\ [e2e-llm-inference-service] - name: decode\n plugins:\n - pluginRef: decode-filter\n - pluginRef:\ [e2e-llm-inference-service] \ active-request-scorer\n weight: 2\n - pluginRef: prefix-cache-scorer\n\ [e2e-llm-inference-service] \ weight: 3\n - pluginRef: max-score-picker\n" [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: grpc [e2e-llm-inference-service] containerPort: 9002 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: grpc-health [e2e-llm-inference-service] containerPort: 9003 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: metrics [e2e-llm-inference-service] containerPort: 9090 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: zmq [e2e-llm-inference-service] containerPort: 5557 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: SSL_CERT_DIR [e2e-llm-inference-service] value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '6' [e2e-llm-inference-service] memory: 16Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 256m [e2e-llm-inference-service] memory: 500Mi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] grpc: [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] service: liveness [e2e-llm-inference-service] initialDelaySeconds: 5 [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] grpc: [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] service: readiness [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: true [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] serviceAccountName: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] serviceAccount: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] securityContext: {} [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] strategy: [e2e-llm-inference-service] type: Recreate [e2e-llm-inference-service] revisionHistoryLimit: 10 [e2e-llm-inference-service] progressDeadlineSeconds: 600 [e2e-llm-inference-service] status: [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] updatedReplicas: 1 [e2e-llm-inference-service] readyReplicas: 1 [e2e-llm-inference-service] availableReplicas: 1 [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] - type: Available [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastUpdateTime: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] reason: MinimumReplicasAvailable [e2e-llm-inference-service] message: Deployment has minimum availability. [e2e-llm-inference-service] - type: Progressing [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] lastUpdateTime: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] reason: NewReplicaSetAvailable [e2e-llm-inference-service] message: ReplicaSet "llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-scheduler-7fc69df7b8" [e2e-llm-inference-service] has successfully progressed. [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] kind: Deployment [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 1f80db59-2ecb-4698-a70d-ac25a5e6eba1 [e2e-llm-inference-service] resourceVersion: '58877' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: decode [e2e-llm-inference-service] pod-template-hash: 6d9fffb56c [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] deployment.kubernetes.io/desired-replicas: '1' [e2e-llm-inference-service] deployment.kubernetes.io/max-replicas: '2' [e2e-llm-inference-service] deployment.kubernetes.io/revision: '1' [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: apps/v1 [e2e-llm-inference-service] kind: Deployment [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] uid: 19257fd6-8590-440b-a3fc-d760e353cfb2 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/desired-replicas: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/max-replicas: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/revision: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"19257fd6-8590-440b-a3fc-d760e353cfb2"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:selector: {} [e2e-llm-inference-service] f:template: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"HF_HUB_CACHE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"HOME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"TORCHINDUCTOR_CACHE_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"USER"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_CPU_KVCACHE_SPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_ENABLE_V1_MULTIPROCESSING"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_LOGGING_LEVEL"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8001,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:startupProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/dev/shm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/mnt/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] k:{"mountPath":"/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/tmp"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:initContainers: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"llm-d-routing-sidecar"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"INFERENCE_POOL_NAME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"INFERENCE_POOL_NAMESPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:valueFrom: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:fieldRef: {} [e2e-llm-inference-service] k:{"name":"SSL_CERT_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8000,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:serviceAccount: {} [e2e-llm-inference-service] f:serviceAccountName: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"dshm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:medium: {} [e2e-llm-inference-service] f:sizeLimit: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"kserve-pvc-source"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:persistentVolumeClaim: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:claimName: {} [e2e-llm-inference-service] k:{"name":"model-cache"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] k:{"name":"tmp-dir"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:availableReplicas: {} [e2e-llm-inference-service] f:fullyLabeledReplicas: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:readyReplicas: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] matchLabels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: decode [e2e-llm-inference-service] pod-template-hash: 6d9fffb56c [e2e-llm-inference-service] template: [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: decode [e2e-llm-inference-service] pod-template-hash: 6d9fffb56c [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] emptyDir: [e2e-llm-inference-service] medium: Memory [e2e-llm-inference-service] sizeLimit: 1Gi [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] persistentVolumeClaim: [e2e-llm-inference-service] claimName: e2e-pvc-model-storage [e2e-llm-inference-service] initContainers: [e2e-llm-inference-service] - name: llm-d-routing-sidecar [e2e-llm-inference-service] image: quay.io/opendatahub/odh-llm-d-router-disagg-sidecar:v0.9.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /app/pd-sidecar [e2e-llm-inference-service] - --port=8000 [e2e-llm-inference-service] - --vllm-port=8001 [e2e-llm-inference-service] - --kv-connector=nixlv2 [e2e-llm-inference-service] - --enable-ssrf-protection=true [e2e-llm-inference-service] - --pool-group=inference.networking.x-k8s.io [e2e-llm-inference-service] - --inference-pool=e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] - --secure-proxy=true [e2e-llm-inference-service] - --cert-path=/var/run/kserve/tls [e2e-llm-inference-service] - --enable-tls=decoder [e2e-llm-inference-service] - --enable-tls=prefiller [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8000 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: INFERENCE_POOL_NAMESPACE [e2e-llm-inference-service] valueFrom: [e2e-llm-inference-service] fieldRef: [e2e-llm-inference-service] apiVersion: v1 [e2e-llm-inference-service] fieldPath: metadata.namespace [e2e-llm-inference-service] - name: SSL_CERT_DIR [e2e-llm-inference-service] value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs [e2e-llm-inference-service] - name: INFERENCE_POOL_NAME [e2e-llm-inference-service] value: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] resources: {} [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 10 [e2e-llm-inference-service] timeoutSeconds: 10 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 10 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 10 [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: vllm/vllm-openai-cpu:v0.19.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/bash [e2e-llm-inference-service] - -c [e2e-llm-inference-service] - "if [ -f /etc/profile.d/ibm-aiu-setup.sh ]; then\n source /etc/profile.d/ibm-aiu-setup.sh\n\ [e2e-llm-inference-service] fi\n\nif [ \"$KSERVE_INFER_ROCE\" = \"true\" ]; then\n echo \"Trying to\ [e2e-llm-inference-service] \ infer RoCE configs ... \"\n grep -H . /sys/class/infiniband/*/ports/*/gids/*\ [e2e-llm-inference-service] \ 2>/dev/null\n grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/*\ [e2e-llm-inference-service] \ 2>/dev/null\n\n cat /proc/driver/nvidia/params\n\n KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-\"\ [e2e-llm-inference-service] RoCE v2\"}\n\n echo \"[Infer RoCE] Discovering active HCAs ...\"\n active_hcas=()\n\ [e2e-llm-inference-service] \ # Loop through all mlx5 devices found in sysfs\n for hca_dir in /sys/class/infiniband/mlx5_*;\ [e2e-llm-inference-service] \ do\n # Ensure it's a directory before proceeding\n if [ -d \"\ [e2e-llm-inference-service] $hca_dir\" ]; then\n hca_name=$(basename \"$hca_dir\")\n \ [e2e-llm-inference-service] \ port_state_file=\"$hca_dir/ports/1/state\" # Assume port 1\n \ [e2e-llm-inference-service] \ type_file=\"$hca_dir/ports/1/gid_attrs/types/*\"\n\n echo\ [e2e-llm-inference-service] \ \"[Infer RoCE] Check if the port state file ${port_state_file} exists\ [e2e-llm-inference-service] \ and contains 'ACTIVE'\"\n if [ -f \"$port_state_file\" ] && grep\ [e2e-llm-inference-service] \ -q \"ACTIVE\" \"$port_state_file\" && grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\"\ [e2e-llm-inference-service] \ ${type_file} 2>/dev/null; then\n echo \"[Infer RoCE] Found\ [e2e-llm-inference-service] \ active HCA: $hca_name\"\n active_hcas+=(\"$hca_name\")\n\ [e2e-llm-inference-service] \ else\n echo \"[Infer RoCE] Skipping inactive or\ [e2e-llm-inference-service] \ down HCA: $hca_name\"\n fi\n fi\n done\n\n # Check if\ [e2e-llm-inference-service] \ we found any active HCAs\n if [ ${#active_hcas[@]} -gt 0 ]; then\n \ [e2e-llm-inference-service] \ # Join the array elements with a comma\n hca_port_pairs=()\n \ [e2e-llm-inference-service] \ for hca in \"${active_hcas[@]}\"; do\n hca_port_pairs+=(\"\ [e2e-llm-inference-service] ${hca}:1\")\n done\n\n active_hca_list=$(IFS=,; echo \"${active_hcas[*]}\"\ [e2e-llm-inference-service] )\n hca_port_pairs_list=$(IFS=,; echo \"${hca_port_pairs[*]}\")\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Setting active HCAs: ${active_hca_list}\"\n \ [e2e-llm-inference-service] \ export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}\n export\ [e2e-llm-inference-service] \ NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}\n export\ [e2e-llm-inference-service] \ UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}\n\n echo\ [e2e-llm-inference-service] \ \"[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}\"\n echo \"[Infer RoCE]\ [e2e-llm-inference-service] \ NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}\"\n echo \"[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}\"\ [e2e-llm-inference-service] \n else\n echo \"[Infer RoCE] WARNING: No active RoCE HCAs found.\ [e2e-llm-inference-service] \ NCCL_IB_HCA will not be set.\"\n fi\n\n if [ ${#active_hcas[@]} -gt\ [e2e-llm-inference-service] \ 0 ]; then\n echo \"[Infer RoCE] Finding GID_INDEX for each active\ [e2e-llm-inference-service] \ HCA (SR-IOV compatible)...\"\n\n # For SR-IOV environments, find\ [e2e-llm-inference-service] \ the most common IPv4 RoCE v2 GID index across all HCAs\n declare\ [e2e-llm-inference-service] \ -A gid_index_count\n declare -A hca_gid_index\n\n for hca_name\ [e2e-llm-inference-service] \ in \"${active_hcas[@]}\"; do\n echo \"[Infer RoCE] Processing\ [e2e-llm-inference-service] \ HCA: ${hca_name}\"\n\n # Find all RoCE v2 IPv4 GIDs for this\ [e2e-llm-inference-service] \ HCA and count by index\n for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*;\ [e2e-llm-inference-service] \ do\n if grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\" \"\ [e2e-llm-inference-service] $tpath\" 2>/dev/null; then\n idx=$(basename \"$tpath\"\ [e2e-llm-inference-service] )\n gid_file=\"/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}\"\ [e2e-llm-inference-service] \n # Check for IPv4 GID (contains ffff:)\n \ [e2e-llm-inference-service] \ if [ -f \"$gid_file\" ] && grep -q \"ffff:\" \"$gid_file\"; then\n\ [e2e-llm-inference-service] \ gid_value=$(cat \"$gid_file\" 2>/dev/null || echo\ [e2e-llm-inference-service] \ \"\")\n echo \"[Infer RoCE] Found IPv4 RoCE v2 GID\ [e2e-llm-inference-service] \ for ${hca_name}: index=${idx}, gid=${gid_value}\"\n \ [e2e-llm-inference-service] \ hca_gid_index[\"${hca_name}\"]=\"${idx}\"\n gid_index_count[\"\ [e2e-llm-inference-service] ${idx}\"]=$((${gid_index_count[\"${idx}\"]} + 1))\n \ [e2e-llm-inference-service] \ break # Use first found IPv4 GID per HCA\n fi\n \ [e2e-llm-inference-service] \ fi\n done\n done\n\n # Find the most common\ [e2e-llm-inference-service] \ GID index (most likely to be consistent across nodes)\n best_gid_index=\"\ [e2e-llm-inference-service] \"\n max_count=0\n for idx in \"${!gid_index_count[@]}\"; do\n\ [e2e-llm-inference-service] \ count=${gid_index_count[\"${idx}\"]}\n echo \"[Infer\ [e2e-llm-inference-service] \ RoCE] GID_INDEX ${idx} found on ${count} HCAs\"\n if [ $count\ [e2e-llm-inference-service] \ -gt $max_count ]; then\n max_count=$count\n \ [e2e-llm-inference-service] \ best_gid_index=\"$idx\"\n fi\n done\n\n # Use deterministic\ [e2e-llm-inference-service] \ fallback if tied - prefer index 3 (SR-IOV standard)\n if [ ${#gid_index_count[@]}\ [e2e-llm-inference-service] \ -gt 1 ]; then\n echo \"[Infer RoCE] Multiple GID indices found,\ [e2e-llm-inference-service] \ selecting most common: ${best_gid_index}\"\n # If there's a tie,\ [e2e-llm-inference-service] \ prefer index 3 as it's most common in SR-IOV setups\n if [ -n\ [e2e-llm-inference-service] \ \"${gid_index_count['3']}\" ] && [ \"${gid_index_count['3']}\" -eq \"\ [e2e-llm-inference-service] $max_count\" ]; then\n best_gid_index=\"3\"\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV\ [e2e-llm-inference-service] \ standard)\"\n fi\n fi\n\n # Check if GID_INDEX is already\ [e2e-llm-inference-service] \ set via environment variables\n if [ -n \"${NCCL_IB_GID_INDEX}\"\ [e2e-llm-inference-service] \ ]; then\n echo \"[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ from environment\"\n export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ for NCCL, NVSHMEM, and UCX\"\n elif [ -n \"$best_gid_index\" ]; then\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found\ [e2e-llm-inference-service] \ on ${max_count} HCAs)\"\n\n export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \n echo \"[Infer RoCE] Exported GID_INDEX=${best_gid_index} for\ [e2e-llm-inference-service] \ NCCL, NVSHMEM, and UCX\"\n else\n echo \"[Infer RoCE] ERROR:\ [e2e-llm-inference-service] \ No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any\ [e2e-llm-inference-service] \ HCA.\"\n fi\n else\n echo \"[Infer RoCE] No active HCAs found,\ [e2e-llm-inference-service] \ skipping GID_INDEX inference.\"\n fi\nfi\n\n# --disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ landed in vLLM 0.16.0 (vllm-project/vllm#30011).\n# Older versions still\ [e2e-llm-inference-service] \ need the blanket --disable-uvicorn-access-log.\nACCESS_LOG_ARGS=\"--disable-uvicorn-access-log\"\ [e2e-llm-inference-service] \nVLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')\n\ [e2e-llm-inference-service] echo \"[access-log-detect] vllm version='${VLLM_VERSION}'\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.16.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.16.0\" ]; then\n ACCESS_LOG_ARGS=\"--disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ /health,/metrics,/ping\"\nfi\necho \"[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'\"\ [e2e-llm-inference-service] \n\n# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).\n\ [e2e-llm-inference-service] SHUTDOWN_TIMEOUT_ARGS=\"\"\nif [[ \"$VLLM_VERSION\" =~ ^[0-9]+\\.[0-9]+\ [e2e-llm-inference-service] \ ]] && [ \"$(printf '%s\\n%s\\n' \"0.18.0\" \"${VLLM_VERSION}\" | sort\ [e2e-llm-inference-service] \ -V | head -1)\" = \"0.18.0\" ]; then\n SHUTDOWN_TIMEOUT_ARGS=\"--shutdown-timeout\ [e2e-llm-inference-service] \ 40\"\nfi\n\n# --kv-transfer-config with OffloadingConnector requires vLLM\ [e2e-llm-inference-service] \ 0.22.0+ (vllm-project/vllm#40020).\nKV_TRANSFER_ARGS=\"\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.22.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.22.0\" ]; then\n if [[ \"${VLLM_ADDITIONAL_ARGS:-}\"\ [e2e-llm-inference-service] \ != *\"--kv-transfer-config\"* ]] && [[ \"${VLLM_ADDITIONAL_ARGS:-}\" !=\ [e2e-llm-inference-service] \ *\"--kv_transfer_config\"* ]] && [[ \"$*\" != *\"--kv-transfer-config\"\ [e2e-llm-inference-service] * ]] && [[ \"$*\" != *\"--kv_transfer_config\"* ]]; then\n KV_TRANSFER_ARGS=\"\ [e2e-llm-inference-service] \"\n fi\nfi\n\neval \"exec vllm serve /mnt/models \\\n --served-model-name\ [e2e-llm-inference-service] \ \"facebook/opt-125m\" \"publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m\"\ [e2e-llm-inference-service] \ \\\n --port 8001 \\\n ${ACCESS_LOG_ARGS} \\\n ${SHUTDOWN_TIMEOUT_ARGS}\ [e2e-llm-inference-service] \ \\\n ${KV_TRANSFER_ARGS} \\\n \\\n --enable-ssl-refresh \\\n --ssl-certfile\ [e2e-llm-inference-service] \ /var/run/kserve/tls/tls.crt \\\n --ssl-keyfile /var/run/kserve/tls/tls.key\ [e2e-llm-inference-service] \ \\\n ${VLLM_ADDITIONAL_ARGS} \\\n $@\"" [e2e-llm-inference-service] - -- [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8001 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: HOME [e2e-llm-inference-service] value: /home [e2e-llm-inference-service] - name: VLLM_LOGGING_LEVEL [e2e-llm-inference-service] value: DEBUG [e2e-llm-inference-service] - name: VLLM_CPU_KVCACHE_SPACE [e2e-llm-inference-service] value: '1' [e2e-llm-inference-service] - name: VLLM_ENABLE_V1_MULTIPROCESSING [e2e-llm-inference-service] value: '0' [e2e-llm-inference-service] - name: USER [e2e-llm-inference-service] value: nonroot [e2e-llm-inference-service] - name: TORCHINDUCTOR_CACHE_DIR [e2e-llm-inference-service] value: /tmp/torchinductor-cache [e2e-llm-inference-service] - name: HF_HUB_CACHE [e2e-llm-inference-service] value: /models [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '2' [e2e-llm-inference-service] memory: 7Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 200m [e2e-llm-inference-service] memory: 2Gi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] mountPath: /home [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] mountPath: /tmp [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] mountPath: /dev/shm [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] mountPath: /models [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /mnt/models [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 180 [e2e-llm-inference-service] timeoutSeconds: 30 [e2e-llm-inference-service] periodSeconds: 30 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 8 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] startupProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8001 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 60 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] serviceAccountName: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] serviceAccount: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] securityContext: {} [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] status: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] fullyLabeledReplicas: 1 [e2e-llm-inference-service] readyReplicas: 1 [e2e-llm-inference-service] availableReplicas: 1 [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] kind: ReplicaSet [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-prefill-7b89cd7957 [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 4cb7cbe2-3790-4e96-8719-e70ac91c75c1 [e2e-llm-inference-service] resourceVersion: '57374' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload-prefill [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: prefill [e2e-llm-inference-service] pod-template-hash: 7b89cd7957 [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] deployment.kubernetes.io/desired-replicas: '1' [e2e-llm-inference-service] deployment.kubernetes.io/max-replicas: '2' [e2e-llm-inference-service] deployment.kubernetes.io/revision: '1' [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: apps/v1 [e2e-llm-inference-service] kind: Deployment [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-prefill [e2e-llm-inference-service] uid: 3553e092-45d2-477b-90cc-adb614e89940 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/desired-replicas: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/max-replicas: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/revision: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"3553e092-45d2-477b-90cc-adb614e89940"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:selector: {} [e2e-llm-inference-service] f:template: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:llm-d.ai/role: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"HF_HUB_CACHE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"HOME"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"TORCHINDUCTOR_CACHE_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"USER"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_CPU_KVCACHE_SPACE"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_ENABLE_V1_MULTIPROCESSING"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] k:{"name":"VLLM_LOGGING_LEVEL"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":8000,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:startupProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:httpGet: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:path: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:scheme: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/dev/shm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/mnt/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] k:{"mountPath":"/models"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/tmp"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"dshm"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:medium: {} [e2e-llm-inference-service] f:sizeLimit: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"home"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"kserve-pvc-source"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:persistentVolumeClaim: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:claimName: {} [e2e-llm-inference-service] k:{"name":"model-cache"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] k:{"name":"tmp-dir"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:emptyDir: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:fullyLabeledReplicas: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] matchLabels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload-prefill [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: prefill [e2e-llm-inference-service] pod-template-hash: 7b89cd7957 [e2e-llm-inference-service] template: [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload-prefill [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: prefill [e2e-llm-inference-service] pod-template-hash: 7b89cd7957 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] emptyDir: [e2e-llm-inference-service] medium: Memory [e2e-llm-inference-service] sizeLimit: 1Gi [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] emptyDir: {} [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] persistentVolumeClaim: [e2e-llm-inference-service] claimName: e2e-pvc-model-storage [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: vllm/vllm-openai-cpu:v0.19.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/bash [e2e-llm-inference-service] - -c [e2e-llm-inference-service] - "if [ -f /etc/profile.d/ibm-aiu-setup.sh ]; then\n source /etc/profile.d/ibm-aiu-setup.sh\n\ [e2e-llm-inference-service] fi\n\nif [ \"$KSERVE_INFER_ROCE\" = \"true\" ]; then\n echo \"Trying to\ [e2e-llm-inference-service] \ infer RoCE configs ... \"\n grep -H . /sys/class/infiniband/*/ports/*/gids/*\ [e2e-llm-inference-service] \ 2>/dev/null\n grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/*\ [e2e-llm-inference-service] \ 2>/dev/null\n\n cat /proc/driver/nvidia/params\n\n KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-\"\ [e2e-llm-inference-service] RoCE v2\"}\n\n echo \"[Infer RoCE] Discovering active HCAs ...\"\n active_hcas=()\n\ [e2e-llm-inference-service] \ # Loop through all mlx5 devices found in sysfs\n for hca_dir in /sys/class/infiniband/mlx5_*;\ [e2e-llm-inference-service] \ do\n # Ensure it's a directory before proceeding\n if [ -d \"\ [e2e-llm-inference-service] $hca_dir\" ]; then\n hca_name=$(basename \"$hca_dir\")\n \ [e2e-llm-inference-service] \ port_state_file=\"$hca_dir/ports/1/state\" # Assume port 1\n \ [e2e-llm-inference-service] \ type_file=\"$hca_dir/ports/1/gid_attrs/types/*\"\n\n echo\ [e2e-llm-inference-service] \ \"[Infer RoCE] Check if the port state file ${port_state_file} exists\ [e2e-llm-inference-service] \ and contains 'ACTIVE'\"\n if [ -f \"$port_state_file\" ] && grep\ [e2e-llm-inference-service] \ -q \"ACTIVE\" \"$port_state_file\" && grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\"\ [e2e-llm-inference-service] \ ${type_file} 2>/dev/null; then\n echo \"[Infer RoCE] Found\ [e2e-llm-inference-service] \ active HCA: $hca_name\"\n active_hcas+=(\"$hca_name\")\n\ [e2e-llm-inference-service] \ else\n echo \"[Infer RoCE] Skipping inactive or\ [e2e-llm-inference-service] \ down HCA: $hca_name\"\n fi\n fi\n done\n\n # Check if\ [e2e-llm-inference-service] \ we found any active HCAs\n if [ ${#active_hcas[@]} -gt 0 ]; then\n \ [e2e-llm-inference-service] \ # Join the array elements with a comma\n hca_port_pairs=()\n \ [e2e-llm-inference-service] \ for hca in \"${active_hcas[@]}\"; do\n hca_port_pairs+=(\"\ [e2e-llm-inference-service] ${hca}:1\")\n done\n\n active_hca_list=$(IFS=,; echo \"${active_hcas[*]}\"\ [e2e-llm-inference-service] )\n hca_port_pairs_list=$(IFS=,; echo \"${hca_port_pairs[*]}\")\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Setting active HCAs: ${active_hca_list}\"\n \ [e2e-llm-inference-service] \ export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}\n export\ [e2e-llm-inference-service] \ NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}\n export\ [e2e-llm-inference-service] \ UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}\n\n echo\ [e2e-llm-inference-service] \ \"[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}\"\n echo \"[Infer RoCE]\ [e2e-llm-inference-service] \ NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}\"\n echo \"[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}\"\ [e2e-llm-inference-service] \n else\n echo \"[Infer RoCE] WARNING: No active RoCE HCAs found.\ [e2e-llm-inference-service] \ NCCL_IB_HCA will not be set.\"\n fi\n\n if [ ${#active_hcas[@]} -gt\ [e2e-llm-inference-service] \ 0 ]; then\n echo \"[Infer RoCE] Finding GID_INDEX for each active\ [e2e-llm-inference-service] \ HCA (SR-IOV compatible)...\"\n\n # For SR-IOV environments, find\ [e2e-llm-inference-service] \ the most common IPv4 RoCE v2 GID index across all HCAs\n declare\ [e2e-llm-inference-service] \ -A gid_index_count\n declare -A hca_gid_index\n\n for hca_name\ [e2e-llm-inference-service] \ in \"${active_hcas[@]}\"; do\n echo \"[Infer RoCE] Processing\ [e2e-llm-inference-service] \ HCA: ${hca_name}\"\n\n # Find all RoCE v2 IPv4 GIDs for this\ [e2e-llm-inference-service] \ HCA and count by index\n for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*;\ [e2e-llm-inference-service] \ do\n if grep -q \"${KSERVE_INFER_IB_GID_INDEX_GREP}\" \"\ [e2e-llm-inference-service] $tpath\" 2>/dev/null; then\n idx=$(basename \"$tpath\"\ [e2e-llm-inference-service] )\n gid_file=\"/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}\"\ [e2e-llm-inference-service] \n # Check for IPv4 GID (contains ffff:)\n \ [e2e-llm-inference-service] \ if [ -f \"$gid_file\" ] && grep -q \"ffff:\" \"$gid_file\"; then\n\ [e2e-llm-inference-service] \ gid_value=$(cat \"$gid_file\" 2>/dev/null || echo\ [e2e-llm-inference-service] \ \"\")\n echo \"[Infer RoCE] Found IPv4 RoCE v2 GID\ [e2e-llm-inference-service] \ for ${hca_name}: index=${idx}, gid=${gid_value}\"\n \ [e2e-llm-inference-service] \ hca_gid_index[\"${hca_name}\"]=\"${idx}\"\n gid_index_count[\"\ [e2e-llm-inference-service] ${idx}\"]=$((${gid_index_count[\"${idx}\"]} + 1))\n \ [e2e-llm-inference-service] \ break # Use first found IPv4 GID per HCA\n fi\n \ [e2e-llm-inference-service] \ fi\n done\n done\n\n # Find the most common\ [e2e-llm-inference-service] \ GID index (most likely to be consistent across nodes)\n best_gid_index=\"\ [e2e-llm-inference-service] \"\n max_count=0\n for idx in \"${!gid_index_count[@]}\"; do\n\ [e2e-llm-inference-service] \ count=${gid_index_count[\"${idx}\"]}\n echo \"[Infer\ [e2e-llm-inference-service] \ RoCE] GID_INDEX ${idx} found on ${count} HCAs\"\n if [ $count\ [e2e-llm-inference-service] \ -gt $max_count ]; then\n max_count=$count\n \ [e2e-llm-inference-service] \ best_gid_index=\"$idx\"\n fi\n done\n\n # Use deterministic\ [e2e-llm-inference-service] \ fallback if tied - prefer index 3 (SR-IOV standard)\n if [ ${#gid_index_count[@]}\ [e2e-llm-inference-service] \ -gt 1 ]; then\n echo \"[Infer RoCE] Multiple GID indices found,\ [e2e-llm-inference-service] \ selecting most common: ${best_gid_index}\"\n # If there's a tie,\ [e2e-llm-inference-service] \ prefer index 3 as it's most common in SR-IOV setups\n if [ -n\ [e2e-llm-inference-service] \ \"${gid_index_count['3']}\" ] && [ \"${gid_index_count['3']}\" -eq \"\ [e2e-llm-inference-service] $max_count\" ]; then\n best_gid_index=\"3\"\n \ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV\ [e2e-llm-inference-service] \ standard)\"\n fi\n fi\n\n # Check if GID_INDEX is already\ [e2e-llm-inference-service] \ set via environment variables\n if [ -n \"${NCCL_IB_GID_INDEX}\"\ [e2e-llm-inference-service] \ ]; then\n echo \"[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ from environment\"\n export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX}\ [e2e-llm-inference-service] \ for NCCL, NVSHMEM, and UCX\"\n elif [ -n \"$best_gid_index\" ]; then\n\ [e2e-llm-inference-service] \ echo \"[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found\ [e2e-llm-inference-service] \ on ${max_count} HCAs)\"\n\n export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \ export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}\n\ [e2e-llm-inference-service] \n echo \"[Infer RoCE] Exported GID_INDEX=${best_gid_index} for\ [e2e-llm-inference-service] \ NCCL, NVSHMEM, and UCX\"\n else\n echo \"[Infer RoCE] ERROR:\ [e2e-llm-inference-service] \ No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any\ [e2e-llm-inference-service] \ HCA.\"\n fi\n else\n echo \"[Infer RoCE] No active HCAs found,\ [e2e-llm-inference-service] \ skipping GID_INDEX inference.\"\n fi\nfi\n\n# --disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ landed in vLLM 0.16.0 (vllm-project/vllm#30011).\n# Older versions still\ [e2e-llm-inference-service] \ need the blanket --disable-uvicorn-access-log.\nACCESS_LOG_ARGS=\"--disable-uvicorn-access-log\"\ [e2e-llm-inference-service] \nVLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')\n\ [e2e-llm-inference-service] echo \"[access-log-detect] vllm version='${VLLM_VERSION}'\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.16.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.16.0\" ]; then\n ACCESS_LOG_ARGS=\"--disable-access-log-for-endpoints\ [e2e-llm-inference-service] \ /health,/metrics,/ping\"\nfi\necho \"[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'\"\ [e2e-llm-inference-service] \n\n# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).\n\ [e2e-llm-inference-service] SHUTDOWN_TIMEOUT_ARGS=\"\"\nif [[ \"$VLLM_VERSION\" =~ ^[0-9]+\\.[0-9]+\ [e2e-llm-inference-service] \ ]] && [ \"$(printf '%s\\n%s\\n' \"0.18.0\" \"${VLLM_VERSION}\" | sort\ [e2e-llm-inference-service] \ -V | head -1)\" = \"0.18.0\" ]; then\n SHUTDOWN_TIMEOUT_ARGS=\"--shutdown-timeout\ [e2e-llm-inference-service] \ 40\"\nfi\n\n# --kv-transfer-config with OffloadingConnector requires vLLM\ [e2e-llm-inference-service] \ 0.22.0+ (vllm-project/vllm#40020).\nKV_TRANSFER_ARGS=\"\"\nif [[ \"$VLLM_VERSION\"\ [e2e-llm-inference-service] \ =~ ^[0-9]+\\.[0-9]+ ]] && [ \"$(printf '%s\\n%s\\n' \"0.22.0\" \"${VLLM_VERSION}\"\ [e2e-llm-inference-service] \ | sort -V | head -1)\" = \"0.22.0\" ]; then\n if [[ \"${VLLM_ADDITIONAL_ARGS:-}\"\ [e2e-llm-inference-service] \ != *\"--kv-transfer-config\"* ]] && [[ \"${VLLM_ADDITIONAL_ARGS:-}\" !=\ [e2e-llm-inference-service] \ *\"--kv_transfer_config\"* ]] && [[ \"$*\" != *\"--kv-transfer-config\"\ [e2e-llm-inference-service] * ]] && [[ \"$*\" != *\"--kv_transfer_config\"* ]]; then\n KV_TRANSFER_ARGS=\"\ [e2e-llm-inference-service] \"\n fi\nfi\n\neval \"exec vllm serve /mnt/models \\\n --served-model-name\ [e2e-llm-inference-service] \ \"facebook/opt-125m\" \\\n --port 8000 \\\n ${ACCESS_LOG_ARGS} \\\n\ [e2e-llm-inference-service] \ ${SHUTDOWN_TIMEOUT_ARGS} \\\n ${KV_TRANSFER_ARGS} \\\n \\\n --enable-ssl-refresh\ [e2e-llm-inference-service] \ \\\n --ssl-certfile /var/run/kserve/tls/tls.crt \\\n --ssl-keyfile /var/run/kserve/tls/tls.key\ [e2e-llm-inference-service] \ \\\n ${VLLM_ADDITIONAL_ARGS} \\\n $@\"" [e2e-llm-inference-service] - -- [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - containerPort: 8000 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: HOME [e2e-llm-inference-service] value: /home [e2e-llm-inference-service] - name: VLLM_LOGGING_LEVEL [e2e-llm-inference-service] value: DEBUG [e2e-llm-inference-service] - name: VLLM_CPU_KVCACHE_SPACE [e2e-llm-inference-service] value: '1' [e2e-llm-inference-service] - name: VLLM_ENABLE_V1_MULTIPROCESSING [e2e-llm-inference-service] value: '0' [e2e-llm-inference-service] - name: USER [e2e-llm-inference-service] value: nonroot [e2e-llm-inference-service] - name: TORCHINDUCTOR_CACHE_DIR [e2e-llm-inference-service] value: /tmp/torchinductor-cache [e2e-llm-inference-service] - name: HF_HUB_CACHE [e2e-llm-inference-service] value: /models [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '2' [e2e-llm-inference-service] memory: 7Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 200m [e2e-llm-inference-service] memory: 2Gi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: home [e2e-llm-inference-service] mountPath: /home [e2e-llm-inference-service] - name: tmp-dir [e2e-llm-inference-service] mountPath: /tmp [e2e-llm-inference-service] - name: dshm [e2e-llm-inference-service] mountPath: /dev/shm [e2e-llm-inference-service] - name: model-cache [e2e-llm-inference-service] mountPath: /models [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] - name: kserve-pvc-source [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /mnt/models [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 180 [e2e-llm-inference-service] timeoutSeconds: 30 [e2e-llm-inference-service] periodSeconds: 30 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 8 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 5 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] startupProbe: [e2e-llm-inference-service] httpGet: [e2e-llm-inference-service] path: /health [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] scheme: HTTPS [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 60 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: File [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: false [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] securityContext: {} [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] status: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] fullyLabeledReplicas: 1 [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] kind: ReplicaSet [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-scheduler-7fc69df7b8 [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 1dac5858-3855-48a7-bc54-5c85fbf447b8 [e2e-llm-inference-service] resourceVersion: '57934' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] pod-template-hash: 7fc69df7b8 [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] deployment.kubernetes.io/desired-replicas: '1' [e2e-llm-inference-service] deployment.kubernetes.io/max-replicas: '1' [e2e-llm-inference-service] deployment.kubernetes.io/revision: '1' [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: apps/v1 [e2e-llm-inference-service] kind: Deployment [e2e-llm-inference-service] name: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-scheduler [e2e-llm-inference-service] uid: 0c8d067e-581c-4749-93a0-cab06b87804f [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/desired-replicas: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/max-replicas: {} [e2e-llm-inference-service] f:deployment.kubernetes.io/revision: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"0c8d067e-581c-4749-93a0-cab06b87804f"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] f:selector: {} [e2e-llm-inference-service] f:template: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/version: {} [e2e-llm-inference-service] f:certificates.kserve.io/expiration-v2: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:pod-template-hash: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] f:containers: [e2e-llm-inference-service] k:{"name":"main"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:args: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:env: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"SSL_CERT_DIR"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:image: {} [e2e-llm-inference-service] f:imagePullPolicy: {} [e2e-llm-inference-service] f:lifecycle: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:preStop: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:command: {} [e2e-llm-inference-service] f:livenessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:grpc: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:service: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:ports: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"containerPort":5557,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9002,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9003,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] k:{"containerPort":9090,"protocol":"TCP"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:containerPort: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:protocol: {} [e2e-llm-inference-service] f:readinessProbe: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureThreshold: {} [e2e-llm-inference-service] f:grpc: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:port: {} [e2e-llm-inference-service] f:service: {} [e2e-llm-inference-service] f:initialDelaySeconds: {} [e2e-llm-inference-service] f:periodSeconds: {} [e2e-llm-inference-service] f:successThreshold: {} [e2e-llm-inference-service] f:timeoutSeconds: {} [e2e-llm-inference-service] f:resources: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:limits: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:requests: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:cpu: {} [e2e-llm-inference-service] f:memory: {} [e2e-llm-inference-service] f:securityContext: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:allowPrivilegeEscalation: {} [e2e-llm-inference-service] f:capabilities: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:drop: {} [e2e-llm-inference-service] f:readOnlyRootFilesystem: {} [e2e-llm-inference-service] f:runAsNonRoot: {} [e2e-llm-inference-service] f:seccompProfile: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:terminationMessagePath: {} [e2e-llm-inference-service] f:terminationMessagePolicy: {} [e2e-llm-inference-service] f:volumeMounts: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"mountPath":"/var/run/kserve/tls"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:mountPath: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:readOnly: {} [e2e-llm-inference-service] f:dnsPolicy: {} [e2e-llm-inference-service] f:restartPolicy: {} [e2e-llm-inference-service] f:schedulerName: {} [e2e-llm-inference-service] f:securityContext: {} [e2e-llm-inference-service] f:serviceAccount: {} [e2e-llm-inference-service] f:serviceAccountName: {} [e2e-llm-inference-service] f:terminationGracePeriodSeconds: {} [e2e-llm-inference-service] f:volumes: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"name":"tls-certs"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:secret: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:defaultMode: {} [e2e-llm-inference-service] f:secretName: {} [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:availableReplicas: {} [e2e-llm-inference-service] f:fullyLabeledReplicas: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] f:readyReplicas: {} [e2e-llm-inference-service] f:replicas: {} [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] spec: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] matchLabels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] pod-template-hash: 7fc69df7b8 [e2e-llm-inference-service] template: [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] pod-template-hash: 7fc69df7b8 [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] app.kubernetes.io/version: 0.10.0 [e2e-llm-inference-service] certificates.kserve.io/expiration-v2: 'true' [e2e-llm-inference-service] spec: [e2e-llm-inference-service] volumes: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] secret: [e2e-llm-inference-service] secretName: llmisvb19f98874e050eec8ca94d49676113f0-kserve-self-signed-certs [e2e-llm-inference-service] defaultMode: 420 [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] image: quay.io/opendatahub/odh-llm-d-router-endpoint-picker:v0.9.0 [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /app/epp [e2e-llm-inference-service] - --pool-name [e2e-llm-inference-service] - llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] - --pool-namespace [e2e-llm-inference-service] - e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] - --zap-encoder [e2e-llm-inference-service] - json [e2e-llm-inference-service] - --grpc-port [e2e-llm-inference-service] - '9002' [e2e-llm-inference-service] - --grpc-health-port [e2e-llm-inference-service] - '9003' [e2e-llm-inference-service] - --enable-cert-reload=true [e2e-llm-inference-service] - --secure-serving=true [e2e-llm-inference-service] - --cert-path=/var/run/kserve/tls [e2e-llm-inference-service] args: [e2e-llm-inference-service] - --config-text [e2e-llm-inference-service] - "apiVersion: llm-d.ai/v1alpha1\nkind: EndpointPickerConfig\nplugins:\n-\ [e2e-llm-inference-service] \ type: disagg-headers-handler\n- type: prefill-filter\n- type: decode-filter\n\ [e2e-llm-inference-service] - type: queue-scorer\n- type: kv-cache-utilization-scorer\n- type: active-request-scorer\n\ [e2e-llm-inference-service] - type: prefix-cache-scorer\n- type: max-score-picker\n- type: always-disagg-pd-decider\n\ [e2e-llm-inference-service] - parameters:\n deciders:\n prefill: always-disagg-pd-decider\n\ [e2e-llm-inference-service] \ type: disagg-profile-handler\n- parameters:\n scheme: https\n type:\ [e2e-llm-inference-service] \ metrics-data-source\nschedulingProfiles:\n- name: prefill\n plugins:\n\ [e2e-llm-inference-service] \ - pluginRef: prefill-filter\n - pluginRef: prefix-cache-scorer\n \ [e2e-llm-inference-service] \ weight: 3\n - pluginRef: queue-scorer\n weight: 2\n - pluginRef:\ [e2e-llm-inference-service] \ kv-cache-utilization-scorer\n weight: 2\n - pluginRef: max-score-picker\n\ [e2e-llm-inference-service] - name: decode\n plugins:\n - pluginRef: decode-filter\n - pluginRef:\ [e2e-llm-inference-service] \ active-request-scorer\n weight: 2\n - pluginRef: prefix-cache-scorer\n\ [e2e-llm-inference-service] \ weight: 3\n - pluginRef: max-score-picker\n" [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: grpc [e2e-llm-inference-service] containerPort: 9002 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: grpc-health [e2e-llm-inference-service] containerPort: 9003 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: metrics [e2e-llm-inference-service] containerPort: 9090 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] - name: zmq [e2e-llm-inference-service] containerPort: 5557 [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] env: [e2e-llm-inference-service] - name: SSL_CERT_DIR [e2e-llm-inference-service] value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs [e2e-llm-inference-service] resources: [e2e-llm-inference-service] limits: [e2e-llm-inference-service] cpu: '6' [e2e-llm-inference-service] memory: 16Gi [e2e-llm-inference-service] requests: [e2e-llm-inference-service] cpu: 256m [e2e-llm-inference-service] memory: 500Mi [e2e-llm-inference-service] volumeMounts: [e2e-llm-inference-service] - name: tls-certs [e2e-llm-inference-service] readOnly: true [e2e-llm-inference-service] mountPath: /var/run/kserve/tls [e2e-llm-inference-service] livenessProbe: [e2e-llm-inference-service] grpc: [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] service: liveness [e2e-llm-inference-service] initialDelaySeconds: 5 [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] readinessProbe: [e2e-llm-inference-service] grpc: [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] service: readiness [e2e-llm-inference-service] initialDelaySeconds: 30 [e2e-llm-inference-service] timeoutSeconds: 1 [e2e-llm-inference-service] periodSeconds: 10 [e2e-llm-inference-service] successThreshold: 1 [e2e-llm-inference-service] failureThreshold: 3 [e2e-llm-inference-service] lifecycle: [e2e-llm-inference-service] preStop: [e2e-llm-inference-service] exec: [e2e-llm-inference-service] command: [e2e-llm-inference-service] - /bin/sleep [e2e-llm-inference-service] - '15' [e2e-llm-inference-service] terminationMessagePath: /dev/termination-log [e2e-llm-inference-service] terminationMessagePolicy: FallbackToLogsOnError [e2e-llm-inference-service] imagePullPolicy: IfNotPresent [e2e-llm-inference-service] securityContext: [e2e-llm-inference-service] capabilities: [e2e-llm-inference-service] drop: [e2e-llm-inference-service] - ALL [e2e-llm-inference-service] runAsNonRoot: true [e2e-llm-inference-service] readOnlyRootFilesystem: true [e2e-llm-inference-service] allowPrivilegeEscalation: false [e2e-llm-inference-service] seccompProfile: [e2e-llm-inference-service] type: RuntimeDefault [e2e-llm-inference-service] restartPolicy: Always [e2e-llm-inference-service] terminationGracePeriodSeconds: 60 [e2e-llm-inference-service] dnsPolicy: ClusterFirst [e2e-llm-inference-service] serviceAccountName: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] serviceAccount: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] securityContext: {} [e2e-llm-inference-service] schedulerName: default-scheduler [e2e-llm-inference-service] status: [e2e-llm-inference-service] replicas: 1 [e2e-llm-inference-service] fullyLabeledReplicas: 1 [e2e-llm-inference-service] readyReplicas: 1 [e2e-llm-inference-service] availableReplicas: 1 [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] apiVersion: apps/v1 [e2e-llm-inference-service] kind: ReplicaSet [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-rb [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: de369672-9825-410d-8602-2df08f1d00a4 [e2e-llm-inference-service] resourceVersion: '57386' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:roleRef: {} [e2e-llm-inference-service] f:subjects: {} [e2e-llm-inference-service] subjects: [e2e-llm-inference-service] - kind: ServiceAccount [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] roleRef: [e2e-llm-inference-service] apiGroup: rbac.authorization.k8s.io [e2e-llm-inference-service] kind: Role [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-role [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] kind: RoleBinding [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-rb [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: cfd60002-4f35-4769-8f30-c15641536b3c [e2e-llm-inference-service] resourceVersion: '57336' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:roleRef: {} [e2e-llm-inference-service] f:subjects: {} [e2e-llm-inference-service] subjects: [e2e-llm-inference-service] - kind: ServiceAccount [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] roleRef: [e2e-llm-inference-service] apiGroup: rbac.authorization.k8s.io [e2e-llm-inference-service] kind: Role [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-role [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] kind: RoleBinding [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-role [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 2ad96673-96b5-4b8f-aa75-2a45ae3dc0f0 [e2e-llm-inference-service] resourceVersion: '57383' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:rules: {} [e2e-llm-inference-service] rules: [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - '' [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - pods [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - inference.networking.k8s.io [e2e-llm-inference-service] - inference.networking.x-k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - inferencepools [e2e-llm-inference-service] - inferenceobjectives [e2e-llm-inference-service] - inferencemodels [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - inference.networking.x-k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - inferencemodelrewrites [e2e-llm-inference-service] - inferencepoolimports [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - llm-d.ai [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - inferenceobjectives [e2e-llm-inference-service] - inferencemodelrewrites [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - discovery.k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - endpointslices [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] - create [e2e-llm-inference-service] - update [e2e-llm-inference-service] - patch [e2e-llm-inference-service] - delete [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - coordination.k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - leases [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] kind: Role [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-role [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 8a188e66-5389-4f22-b7b0-655d26fe5942 [e2e-llm-inference-service] resourceVersion: '57332' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:rules: {} [e2e-llm-inference-service] rules: [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - '' [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - pods [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - inference.networking.x-k8s.io [e2e-llm-inference-service] - inference.networking.k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - inferencepools [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] kind: Role [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-service-jqvq6 [e2e-llm-inference-service] generateName: llmisvc-model-pvc-router-manage-e8706282-epp-service- [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 1dd754a2-cf93-42bf-a8ee-97a10def97e7 [e2e-llm-inference-service] resourceVersion: '57933' [e2e-llm-inference-service] generation: 3 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io [e2e-llm-inference-service] kubernetes.io/service-name: llmisvc-model-pvc-router-manage-e8706282-epp-service [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] endpoints.kubernetes.io/last-change-trigger-time: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: v1 [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-service [e2e-llm-inference-service] uid: a77e6cd8-237d-4f62-8618-691b825dea6b [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: discovery.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:46Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:addressType: {} [e2e-llm-inference-service] f:endpoints: {} [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:endpoints.kubernetes.io/last-change-trigger-time: {} [e2e-llm-inference-service] f:generateName: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:endpointslice.kubernetes.io/managed-by: {} [e2e-llm-inference-service] f:kubernetes.io/service-name: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"a77e6cd8-237d-4f62-8618-691b825dea6b"}: {} [e2e-llm-inference-service] f:ports: {} [e2e-llm-inference-service] addressType: IPv4 [e2e-llm-inference-service] endpoints: [e2e-llm-inference-service] - addresses: [e2e-llm-inference-service] - 10.134.0.35 [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] ready: true [e2e-llm-inference-service] serving: true [e2e-llm-inference-service] terminating: false [e2e-llm-inference-service] targetRef: [e2e-llm-inference-service] kind: Pod [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] name: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-sche2vtc4 [e2e-llm-inference-service] uid: a84f8c14-acbd-473d-8ef0-b22a49df0427 [e2e-llm-inference-service] nodeName: ip-10-0-143-25.ec2.internal [e2e-llm-inference-service] zone: us-east-1a [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: grpc [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 9002 [e2e-llm-inference-service] - name: grpc-health [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 9003 [e2e-llm-inference-service] - name: metrics [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 9090 [e2e-llm-inference-service] - name: zmq [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 5557 [e2e-llm-inference-service] apiVersion: discovery.k8s.io/v1 [e2e-llm-inference-service] kind: EndpointSlice [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-s5w2qm [e2e-llm-inference-service] generateName: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc- [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: c9192012-c282-4c43-847d-fe3ac922883d [e2e-llm-inference-service] resourceVersion: '58874' [e2e-llm-inference-service] generation: 3 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io [e2e-llm-inference-service] kubernetes.io/service-name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] endpoints.kubernetes.io/last-change-trigger-time: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: v1 [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] uid: 2cf07ce1-f3cf-4944-afb2-ac9dcec6ec1a [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: kube-controller-manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: discovery.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:48:18Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:addressType: {} [e2e-llm-inference-service] f:endpoints: {} [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:endpoints.kubernetes.io/last-change-trigger-time: {} [e2e-llm-inference-service] f:generateName: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:endpointslice.kubernetes.io/managed-by: {} [e2e-llm-inference-service] f:kubernetes.io/service-name: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"2cf07ce1-f3cf-4944-afb2-ac9dcec6ec1a"}: {} [e2e-llm-inference-service] f:ports: {} [e2e-llm-inference-service] addressType: IPv4 [e2e-llm-inference-service] endpoints: [e2e-llm-inference-service] - addresses: [e2e-llm-inference-service] - 10.132.0.73 [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] ready: true [e2e-llm-inference-service] serving: true [e2e-llm-inference-service] terminating: false [e2e-llm-inference-service] targetRef: [e2e-llm-inference-service] kind: Pod [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8 [e2e-llm-inference-service] uid: 002dd39f-8e1b-4eef-89aa-485ca5bd34fa [e2e-llm-inference-service] nodeName: ip-10-0-135-188.ec2.internal [e2e-llm-inference-service] zone: us-east-1a [e2e-llm-inference-service] ports: [e2e-llm-inference-service] - name: https [e2e-llm-inference-service] protocol: TCP [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] appProtocol: https [e2e-llm-inference-service] apiVersion: discovery.k8s.io/v1 [e2e-llm-inference-service] kind: EndpointSlice [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-rb [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: de369672-9825-410d-8602-2df08f1d00a4 [e2e-llm-inference-service] resourceVersion: '57386' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:roleRef: {} [e2e-llm-inference-service] f:subjects: {} [e2e-llm-inference-service] userNames: [e2e-llm-inference-service] - system:serviceaccount:e2e-test-llm-inference-service-48639af5:llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] groupNames: null [e2e-llm-inference-service] subjects: [e2e-llm-inference-service] - kind: ServiceAccount [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-sa [e2e-llm-inference-service] roleRef: [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-role [e2e-llm-inference-service] apiVersion: authorization.openshift.io/v1 [e2e-llm-inference-service] kind: RoleBinding [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-rb [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: cfd60002-4f35-4769-8f30-c15641536b3c [e2e-llm-inference-service] resourceVersion: '57336' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:roleRef: {} [e2e-llm-inference-service] f:subjects: {} [e2e-llm-inference-service] userNames: [e2e-llm-inference-service] - system:serviceaccount:e2e-test-llm-inference-service-48639af5:llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] groupNames: null [e2e-llm-inference-service] subjects: [e2e-llm-inference-service] - kind: ServiceAccount [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve [e2e-llm-inference-service] roleRef: [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-role [e2e-llm-inference-service] apiVersion: authorization.openshift.io/v1 [e2e-llm-inference-service] kind: RoleBinding [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-role [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 2ad96673-96b5-4b8f-aa75-2a45ae3dc0f0 [e2e-llm-inference-service] resourceVersion: '57383' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:rules: {} [e2e-llm-inference-service] rules: [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] attributeRestrictions: null [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - '' [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - pods [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] attributeRestrictions: null [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - inference.networking.k8s.io [e2e-llm-inference-service] - inference.networking.x-k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - inferencemodels [e2e-llm-inference-service] - inferenceobjectives [e2e-llm-inference-service] - inferencepools [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] attributeRestrictions: null [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - inference.networking.x-k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - inferencemodelrewrites [e2e-llm-inference-service] - inferencepoolimports [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] attributeRestrictions: null [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - llm-d.ai [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - inferencemodelrewrites [e2e-llm-inference-service] - inferenceobjectives [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] attributeRestrictions: null [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - discovery.k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - endpointslices [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - create [e2e-llm-inference-service] - delete [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - patch [e2e-llm-inference-service] - update [e2e-llm-inference-service] - watch [e2e-llm-inference-service] attributeRestrictions: null [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - coordination.k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - leases [e2e-llm-inference-service] apiVersion: authorization.openshift.io/v1 [e2e-llm-inference-service] kind: Role [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-role [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] uid: 8a188e66-5389-4f22-b7b0-655d26fe5942 [e2e-llm-inference-service] resourceVersion: '57332' [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] apiVersion: rbac.authorization.k8s.io/v1 [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:rules: {} [e2e-llm-inference-service] rules: [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] attributeRestrictions: null [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - '' [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - pods [e2e-llm-inference-service] - verbs: [e2e-llm-inference-service] - get [e2e-llm-inference-service] - list [e2e-llm-inference-service] - watch [e2e-llm-inference-service] attributeRestrictions: null [e2e-llm-inference-service] apiGroups: [e2e-llm-inference-service] - inference.networking.x-k8s.io [e2e-llm-inference-service] - inference.networking.k8s.io [e2e-llm-inference-service] resources: [e2e-llm-inference-service] - inferencepools [e2e-llm-inference-service] apiVersion: authorization.openshift.io/v1 [e2e-llm-inference-service] kind: Role [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: gateway.networking.k8s.io/v1 [e2e-llm-inference-service] kind: HTTPRoute [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] serving.kserve.io/inference-pool-migrated: v1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] generation: 2 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: gateway.networking.k8s.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:serving.kserve.io/inference-pool-migrated: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] - apiVersion: gateway.networking.k8s.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:parents: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] - apiVersion: gateway.networking.k8s.io/v1beta1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] manager: pilot-discovery [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-route [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57728' [e2e-llm-inference-service] uid: 68b80c1b-a5ca-4c51-ba45-6bca07abe8d0 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] parentRefs: [e2e-llm-inference-service] - group: gateway.networking.k8s.io [e2e-llm-inference-service] kind: Gateway [e2e-llm-inference-service] name: openshift-ai-inference [e2e-llm-inference-service] namespace: openshift-ingress [e2e-llm-inference-service] rules: [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/completions [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282/v1/completions [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/chat/completions [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282/v1/chat/completions [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/responses [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282/v1/responses [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/messages [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282/v1/messages [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/completions [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/completions/ [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/chat/completions [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/chat/completions/ [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/responses [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/responses/ [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/messages [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/messages/ [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/completions [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m/v1/completions [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/chat/completions [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m/v1/chat/completions [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/responses [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m/v1/responses [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/messages [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m/v1/messages [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: '' [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: / [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: '' [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: / [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: '' [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: / [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] status: [e2e-llm-inference-service] parents: [e2e-llm-inference-service] - conditions: [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] message: Route was valid [e2e-llm-inference-service] observedGeneration: 2 [e2e-llm-inference-service] reason: Accepted [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: Accepted [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] message: All references resolved [e2e-llm-inference-service] observedGeneration: 2 [e2e-llm-inference-service] reason: ResolvedRefs [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: ResolvedRefs [e2e-llm-inference-service] controllerName: openshift.io/gateway-controller/v1 [e2e-llm-inference-service] parentRef: [e2e-llm-inference-service] group: gateway.networking.k8s.io [e2e-llm-inference-service] kind: Gateway [e2e-llm-inference-service] name: openshift-ai-inference [e2e-llm-inference-service] namespace: openshift-ingress [e2e-llm-inference-service] - conditions: [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] message: Object affected by AuthPolicy [e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-route-authn [e2e-llm-inference-service] openshift-ingress/openshift-ai-inference-authn] [e2e-llm-inference-service] observedGeneration: 2 [e2e-llm-inference-service] reason: Accepted [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: kuadrant.io/AuthPolicyAffected [e2e-llm-inference-service] controllerName: kuadrant.io/policy-controller [e2e-llm-inference-service] parentRef: [e2e-llm-inference-service] group: gateway.networking.k8s.io [e2e-llm-inference-service] kind: Gateway [e2e-llm-inference-service] name: openshift-ai-inference [e2e-llm-inference-service] namespace: openshift-ingress [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: gateway.networking.k8s.io/v1beta1 [e2e-llm-inference-service] kind: HTTPRoute [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] annotations: [e2e-llm-inference-service] serving.kserve.io/inference-pool-migrated: v1 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] generation: 2 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: gateway.networking.k8s.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:annotations: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:serving.kserve.io/inference-pool-migrated: {} [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] - apiVersion: gateway.networking.k8s.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] f:parents: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] - apiVersion: gateway.networking.k8s.io/v1beta1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] manager: pilot-discovery [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-route [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57728' [e2e-llm-inference-service] uid: 68b80c1b-a5ca-4c51-ba45-6bca07abe8d0 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] parentRefs: [e2e-llm-inference-service] - group: gateway.networking.k8s.io [e2e-llm-inference-service] kind: Gateway [e2e-llm-inference-service] name: openshift-ai-inference [e2e-llm-inference-service] namespace: openshift-ingress [e2e-llm-inference-service] rules: [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/completions [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282/v1/completions [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/chat/completions [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282/v1/chat/completions [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/responses [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282/v1/responses [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/messages [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282/v1/messages [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/completions [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/completions/ [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/chat/completions [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/chat/completions/ [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/responses [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/responses/ [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/messages [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: /v1/messages/ [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/completions [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m/v1/completions [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/chat/completions [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m/v1/chat/completions [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/responses [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m/v1/responses [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: inference.networking.k8s.io [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: /v1/messages [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m/v1/messages [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: '' [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: / [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: '' [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] filters: [e2e-llm-inference-service] - type: URLRewrite [e2e-llm-inference-service] urlRewrite: [e2e-llm-inference-service] path: [e2e-llm-inference-service] replacePrefixMatch: / [e2e-llm-inference-service] type: ReplacePrefixMatch [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: /e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] - backendRefs: [e2e-llm-inference-service] - group: '' [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] port: 8000 [e2e-llm-inference-service] weight: 1 [e2e-llm-inference-service] matches: [e2e-llm-inference-service] - headers: [e2e-llm-inference-service] - name: X-Gateway-Model-Name [e2e-llm-inference-service] type: Exact [e2e-llm-inference-service] value: publishers/e2e-test-llm-inference-service-48639af5/models/facebook/opt-125m [e2e-llm-inference-service] path: [e2e-llm-inference-service] type: PathPrefix [e2e-llm-inference-service] value: / [e2e-llm-inference-service] timeouts: [e2e-llm-inference-service] backendRequest: 0s [e2e-llm-inference-service] request: 0s [e2e-llm-inference-service] status: [e2e-llm-inference-service] parents: [e2e-llm-inference-service] - conditions: [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] message: Route was valid [e2e-llm-inference-service] observedGeneration: 2 [e2e-llm-inference-service] reason: Accepted [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: Accepted [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] message: All references resolved [e2e-llm-inference-service] observedGeneration: 2 [e2e-llm-inference-service] reason: ResolvedRefs [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: ResolvedRefs [e2e-llm-inference-service] controllerName: openshift.io/gateway-controller/v1 [e2e-llm-inference-service] parentRef: [e2e-llm-inference-service] group: gateway.networking.k8s.io [e2e-llm-inference-service] kind: Gateway [e2e-llm-inference-service] name: openshift-ai-inference [e2e-llm-inference-service] namespace: openshift-ingress [e2e-llm-inference-service] - conditions: [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] message: Object affected by AuthPolicy [e2e-test-llm-inference-service-48639af5/llmisvc-model-pvc-router-manage-e8706282-kserve-route-authn [e2e-llm-inference-service] openshift-ingress/openshift-ai-inference-authn] [e2e-llm-inference-service] observedGeneration: 2 [e2e-llm-inference-service] reason: Accepted [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: kuadrant.io/AuthPolicyAffected [e2e-llm-inference-service] controllerName: kuadrant.io/policy-controller [e2e-llm-inference-service] parentRef: [e2e-llm-inference-service] group: gateway.networking.k8s.io [e2e-llm-inference-service] kind: Gateway [e2e-llm-inference-service] name: openshift-ai-inference [e2e-llm-inference-service] namespace: openshift-ingress [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: inference.networking.k8s.io/v1 [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: inference.networking.k8s.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:appProtocol: {} [e2e-llm-inference-service] f:endpointPickerRef: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureMode: {} [e2e-llm-inference-service] f:group: {} [e2e-llm-inference-service] f:kind: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:port: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:number: {} [e2e-llm-inference-service] f:selector: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:matchLabels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:targetPorts: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] - apiVersion: inference.networking.k8s.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:parents: {} [e2e-llm-inference-service] manager: pilot-discovery [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57709' [e2e-llm-inference-service] uid: 6e11576d-8d6a-4ab9-8d9d-96bd5dacd877 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] appProtocol: http [e2e-llm-inference-service] endpointPickerRef: [e2e-llm-inference-service] failureMode: FailOpen [e2e-llm-inference-service] group: '' [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-service [e2e-llm-inference-service] port: [e2e-llm-inference-service] number: 9002 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] matchLabels: [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] targetPorts: [e2e-llm-inference-service] - number: 8000 [e2e-llm-inference-service] status: [e2e-llm-inference-service] parents: [e2e-llm-inference-service] - conditions: [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] message: Referenced by an HTTPRoute accepted by the parentRef Gateway [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] reason: Accepted [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: Accepted [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] message: Referenced ExtensionRef resolved successfully [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] reason: ResolvedRefs [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: ResolvedRefs [e2e-llm-inference-service] parentRef: [e2e-llm-inference-service] group: networking.istio.io [e2e-llm-inference-service] kind: Gateway [e2e-llm-inference-service] name: openshift-ai-inference [e2e-llm-inference-service] namespace: openshift-ingress [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: kuadrant.io/v1 [e2e-llm-inference-service] kind: AuthPolicy [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:16Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-policies [e2e-llm-inference-service] app.kubernetes.io/managed-by: odh-model-controller [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: kuadrant.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/managed-by: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:rules: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:authentication: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:public: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:anonymous: {} [e2e-llm-inference-service] f:credentials: {} [e2e-llm-inference-service] f:metrics: {} [e2e-llm-inference-service] f:overrides: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:fairness: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:objective: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:value: {} [e2e-llm-inference-service] f:priority: {} [e2e-llm-inference-service] f:response: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:success: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:headers: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:x-gateway-inference-fairness-id: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:metrics: {} [e2e-llm-inference-service] f:plain: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:expression: {} [e2e-llm-inference-service] f:priority: {} [e2e-llm-inference-service] f:x-gateway-inference-objective: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:metrics: {} [e2e-llm-inference-service] f:plain: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:expression: {} [e2e-llm-inference-service] f:priority: {} [e2e-llm-inference-service] f:targetRef: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:group: {} [e2e-llm-inference-service] f:kind: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:16Z' [e2e-llm-inference-service] - apiVersion: kuadrant.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:status: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:conditions: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"type":"Accepted"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] k:{"type":"Enforced"}: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:lastTransitionTime: {} [e2e-llm-inference-service] f:message: {} [e2e-llm-inference-service] f:reason: {} [e2e-llm-inference-service] f:status: {} [e2e-llm-inference-service] f:type: {} [e2e-llm-inference-service] f:observedGeneration: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] subresource: status [e2e-llm-inference-service] time: '2026-07-30T17:46:17Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-route-authn [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57569' [e2e-llm-inference-service] uid: 366f493c-5f1e-4dbd-bf03-f8c88425c72e [e2e-llm-inference-service] spec: [e2e-llm-inference-service] rules: [e2e-llm-inference-service] authentication: [e2e-llm-inference-service] public: [e2e-llm-inference-service] anonymous: {} [e2e-llm-inference-service] credentials: {} [e2e-llm-inference-service] metrics: false [e2e-llm-inference-service] overrides: [e2e-llm-inference-service] fairness: [e2e-llm-inference-service] value: unauthenticated [e2e-llm-inference-service] objective: [e2e-llm-inference-service] value: unauthenticated [e2e-llm-inference-service] priority: 0 [e2e-llm-inference-service] response: [e2e-llm-inference-service] success: [e2e-llm-inference-service] headers: [e2e-llm-inference-service] x-gateway-inference-fairness-id: [e2e-llm-inference-service] metrics: false [e2e-llm-inference-service] plain: [e2e-llm-inference-service] expression: auth.identity.fairness [e2e-llm-inference-service] priority: 0 [e2e-llm-inference-service] x-gateway-inference-objective: [e2e-llm-inference-service] metrics: false [e2e-llm-inference-service] plain: [e2e-llm-inference-service] expression: auth.identity.objective [e2e-llm-inference-service] priority: 0 [e2e-llm-inference-service] targetRef: [e2e-llm-inference-service] group: gateway.networking.k8s.io [e2e-llm-inference-service] kind: HTTPRoute [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-route [e2e-llm-inference-service] status: [e2e-llm-inference-service] conditions: [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:17Z' [e2e-llm-inference-service] message: AuthPolicy has been accepted [e2e-llm-inference-service] reason: Accepted [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: Accepted [e2e-llm-inference-service] - lastTransitionTime: '2026-07-30T17:46:17Z' [e2e-llm-inference-service] message: AuthPolicy has been successfully enforced [e2e-llm-inference-service] reason: Enforced [e2e-llm-inference-service] status: 'True' [e2e-llm-inference-service] type: Enforced [e2e-llm-inference-service] observedGeneration: 1 [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-scheduler [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57419' [e2e-llm-inference-service] uid: c7fd7594-1068-4d7b-b83b-fb2af303efad [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-epp-service.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-epp-service.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-shadow-service [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-shadow-svc [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57717' [e2e-llm-inference-service] uid: 5555ee7a-977e-42c5-a7ea-8dd648fa6a5a [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-inference--ip-8bbb5aea.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57426' [e2e-llm-inference-service] uid: bc2e9605-1dc2-4207-975a-674da38aef92 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1beta1 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-scheduler [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57419' [e2e-llm-inference-service] uid: c7fd7594-1068-4d7b-b83b-fb2af303efad [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-epp-service.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-epp-service.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1beta1 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-shadow-service [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-shadow-svc [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57717' [e2e-llm-inference-service] uid: 5555ee7a-977e-42c5-a7ea-8dd648fa6a5a [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-inference--ip-8bbb5aea.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1beta1 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57426' [e2e-llm-inference-service] uid: bc2e9605-1dc2-4207-975a-674da38aef92 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1alpha3 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-scheduler [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57419' [e2e-llm-inference-service] uid: c7fd7594-1068-4d7b-b83b-fb2af303efad [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-epp-service.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-epp-service.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1alpha3 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-shadow-service [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:29Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-shadow-svc [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57717' [e2e-llm-inference-service] uid: 5555ee7a-977e-42c5-a7ea-8dd648fa6a5a [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-inference--ip-8bbb5aea.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: networking.istio.io/v1alpha3 [e2e-llm-inference-service] kind: DestinationRule [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] llm-d.ai/managed: 'true' [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: networking.istio.io/v1 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:llm-d.ai/managed: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:exportTo: {} [e2e-llm-inference-service] f:host: {} [e2e-llm-inference-service] f:trafficPolicy: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:tls: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:insecureSkipVerify: {} [e2e-llm-inference-service] f:mode: {} [e2e-llm-inference-service] f:sni: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:15Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57426' [e2e-llm-inference-service] uid: bc2e9605-1dc2-4207-975a-674da38aef92 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] exportTo: [e2e-llm-inference-service] - '*' [e2e-llm-inference-service] host: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] trafficPolicy: [e2e-llm-inference-service] tls: [e2e-llm-inference-service] insecureSkipVerify: true [e2e-llm-inference-service] mode: SIMPLE [e2e-llm-inference-service] sni: llmisvc-model-pvc-router-manage-e8706282-kserve-workload-svc.e2e-test-llm-inference-service-48639af5.svc.cluster.local [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 apiVersion: inference.networking.x-k8s.io/v1alpha2 [e2e-llm-inference-service] kind: InferencePool [e2e-llm-inference-service] metadata: [e2e-llm-inference-service] creationTimestamp: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] generation: 1 [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] managedFields: [e2e-llm-inference-service] - apiVersion: inference.networking.x-k8s.io/v1alpha2 [e2e-llm-inference-service] fieldsType: FieldsV1 [e2e-llm-inference-service] fieldsV1: [e2e-llm-inference-service] f:metadata: [e2e-llm-inference-service] f:labels: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/component: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:ownerReferences: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] k:{"uid":"f782da2f-834d-4dce-b1b2-b22a0d6bd180"}: {} [e2e-llm-inference-service] f:spec: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:extensionRef: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:failureMode: {} [e2e-llm-inference-service] f:group: {} [e2e-llm-inference-service] f:kind: {} [e2e-llm-inference-service] f:name: {} [e2e-llm-inference-service] f:portNumber: {} [e2e-llm-inference-service] f:selector: [e2e-llm-inference-service] .: {} [e2e-llm-inference-service] f:app.kubernetes.io/name: {} [e2e-llm-inference-service] f:app.kubernetes.io/part-of: {} [e2e-llm-inference-service] f:kserve.io/component: {} [e2e-llm-inference-service] f:targetPortNumber: {} [e2e-llm-inference-service] manager: manager [e2e-llm-inference-service] operation: Update [e2e-llm-inference-service] time: '2026-07-30T17:46:14Z' [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-inference-pool [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] ownerReferences: [e2e-llm-inference-service] - apiVersion: serving.kserve.io/v1alpha2 [e2e-llm-inference-service] blockOwnerDeletion: true [e2e-llm-inference-service] controller: true [e2e-llm-inference-service] kind: LLMInferenceService [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] uid: f782da2f-834d-4dce-b1b2-b22a0d6bd180 [e2e-llm-inference-service] resourceVersion: '57405' [e2e-llm-inference-service] uid: 6594350f-e958-4215-97c7-f2d41658d1d5 [e2e-llm-inference-service] spec: [e2e-llm-inference-service] extensionRef: [e2e-llm-inference-service] failureMode: FailOpen [e2e-llm-inference-service] group: '' [e2e-llm-inference-service] kind: Service [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-epp-service [e2e-llm-inference-service] portNumber: 9002 [e2e-llm-inference-service] selector: [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] targetPortNumber: 8000 [e2e-llm-inference-service] status: [e2e-llm-inference-service] parent: [e2e-llm-inference-service] - conditions: [e2e-llm-inference-service] - lastTransitionTime: '1970-01-01T00:00:00Z' [e2e-llm-inference-service] message: Waiting for controller [e2e-llm-inference-service] reason: Pending [e2e-llm-inference-service] status: Unknown [e2e-llm-inference-service] type: Accepted [e2e-llm-inference-service] parentRef: [e2e-llm-inference-service] group: gateway.networking.k8s.io [e2e-llm-inference-service] kind: Status [e2e-llm-inference-service] name: default [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvc-model-pvc-router-manage-e8706282-kserve-6d9fffb56c5bmg8 [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T18:00:44Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-workload [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] kserve.io/component: workload [e2e-llm-inference-service] llm-d.ai/role: decode [e2e-llm-inference-service] pod-template-hash: 6d9fffb56c [e2e-llm-inference-service] timestamp: '2026-07-30T18:00:16Z' [e2e-llm-inference-service] window: 15.973s [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: llm-d-routing-sidecar [e2e-llm-inference-service] usage: [e2e-llm-inference-service] cpu: 17746194n [e2e-llm-inference-service] memory: 23892Ki [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] usage: [e2e-llm-inference-service] cpu: 102457709n [e2e-llm-inference-service] memory: 2403512Ki [e2e-llm-inference-service] apiVersion: metrics.k8s.io/v1beta1 [e2e-llm-inference-service] kind: PodMetrics [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:264 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:265 metadata: [e2e-llm-inference-service] name: llmisvcb19f98874e050eec8ca94d49676113f0-kserve-router-sche2vtc4 [e2e-llm-inference-service] namespace: e2e-test-llm-inference-service-48639af5 [e2e-llm-inference-service] creationTimestamp: '2026-07-30T18:00:44Z' [e2e-llm-inference-service] labels: [e2e-llm-inference-service] app.kubernetes.io/component: llminferenceservice-router-scheduler [e2e-llm-inference-service] app.kubernetes.io/name: llmisvc-model-pvc-router-manage-e8706282 [e2e-llm-inference-service] app.kubernetes.io/part-of: llminferenceservice [e2e-llm-inference-service] pod-template-hash: 7fc69df7b8 [e2e-llm-inference-service] timestamp: '2026-07-30T18:00:29Z' [e2e-llm-inference-service] window: 19.768s [e2e-llm-inference-service] containers: [e2e-llm-inference-service] - name: main [e2e-llm-inference-service] usage: [e2e-llm-inference-service] cpu: 56436159n [e2e-llm-inference-service] memory: 33760Ki [e2e-llm-inference-service] apiVersion: metrics.k8s.io/v1beta1 [e2e-llm-inference-service] kind: PodMetrics [e2e-llm-inference-service] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [test_llm_inference_service] [2026-07-30T18:00:44.317490] end - ❌ 902.675s: Missing true conditions: {'WorkloadsReady', 'Ready'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:48:23Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'PrefillWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:16Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:46:52Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:46:30Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ---------------------------- Captured log teardown ----------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.conftest:conftest.py:168 Skipping deletion of namespace e2e-test-llm-inference-service-48639af5 (SKIP_DELETION_ON_FAILURE) [e2e-llm-inference-service] _ test_llm_autoscaling_hpa_lws[router-managed-workload-llmd-simulator-lws-prometheus-scrape-scaling-hpa] _ [e2e-llm-inference-service] [gw0] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-lws', 'prometheus-scrape', 'scaling-hpa'], prompt='KSer... {'name': 'scaling-hpa-autoscale-hpa-lws-b344a3ff'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.mark.autoscaling_hpa [e2e-llm-inference-service] @pytest.mark.parametrize( [e2e-llm-inference-service] "test_case", [e2e-llm-inference-service] [ [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator-lws", [e2e-llm-inference-service] "prometheus-scrape", [e2e-llm-inference-service] "scaling-hpa", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="autoscale-hpa-lws", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_multi_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] indirect=["test_case"], [e2e-llm-inference-service] ids=generate_test_id, [e2e-llm-inference-service] ) [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def test_llm_autoscaling_hpa_lws(test_case: TestCase): [e2e-llm-inference-service] """HPA + LWS: HPA exists with WVA annotations; pods scale under load.""" [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] kserve_client = _new_kserve_client() [e2e-llm-inference-service] service_name = test_case.llm_service.metadata.name [e2e-llm-inference-service] ns = test_case.namespace [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > _create_and_wait(kserve_client, test_case) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:670: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-lws', 'prometheus-scrape', 'scaling-hpa'], prompt='KSer... {'name': 'scaling-hpa-autoscale-hpa-lws-b344a3ff'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] def _create_and_wait(kserve_client, test_case): [e2e-llm-inference-service] """Create LLMISVC and wait for it to be ready.""" [e2e-llm-inference-service] create_llmisvc(kserve_client, test_case.llm_service) [e2e-llm-inference-service] > wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client, test_case.llm_service, test_case.wait_timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:482: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] args = (, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kin...ale-hpa-b29acdba'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-lws-b344a3ff'}]}, [e2e-llm-inference-service] 'status': None}, 900) [e2e-llm-inference-service] kwargs = {}, func_name = 'wait_for_llm_isvc_ready' [e2e-llm-inference-service] timestamp_start = '2026-07-30T17:55:55.053485', start_time = 1785434155.0538018 [e2e-llm-inference-service] duration = 900.6009018421173, timestamp_end = '2026-07-30T18:10:55.654707' [e2e-llm-inference-service] [e2e-llm-inference-service] @functools.wraps(func) [e2e-llm-inference-service] def wrapper(*args, **kwargs): [e2e-llm-inference-service] func_name = func.__name__ [e2e-llm-inference-service] [e2e-llm-inference-service] timestamp_start = datetime.now().isoformat() [e2e-llm-inference-service] logger.info( [e2e-llm-inference-service] f"[{func_name}] [{timestamp_start}] start - args={args}, kwargs={kwargs}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] start_time = time.time() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > result = func(*args, **kwargs) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/logging.py:40: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] given = {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security....autoscale-hpa-b29acdba'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-lws-b344a3ff'}]}, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] timeout_seconds = 900 [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client: KServeClient, [e2e-llm-inference-service] given: V1alpha1LLMInferenceService, [e2e-llm-inference-service] timeout_seconds: int = 900, [e2e-llm-inference-service] ) -> str: [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] return True [e2e-llm-inference-service] [e2e-llm-inference-service] > return wait_for(assert_llm_isvc_ready, timeout=timeout_seconds, interval=1.0) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1376: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] assertion_fn = .assert_llm_isvc_ready at 0x7f24da5616c0> [e2e-llm-inference-service] timeout = 900, interval = 1.0 [e2e-llm-inference-service] [e2e-llm-inference-service] def wait_for( [e2e-llm-inference-service] assertion_fn: Callable[[], Any], timeout: float = 5.0, interval: float = 0.1 [e2e-llm-inference-service] ) -> Any: [e2e-llm-inference-service] """Wait for the assertion to succeed within timeout.""" [e2e-llm-inference-service] deadline = time.time() + timeout [e2e-llm-inference-service] last_msg = None [e2e-llm-inference-service] while True: [e2e-llm-inference-service] try: [e2e-llm-inference-service] > return assertion_fn() [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1387: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] > raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] E AssertionError: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1371: AssertionError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:82 Created test namespace e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret seaweedfs-s3-creds from kserve-ci-e2e-test to e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret storage-config from kserve-ci-e2e-test to e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:178 Patched default SA in e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 with secret seaweedfs-s3-creds [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:162 ConfigMap odh-kserve-custom-ca-bundle already exists in e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:159 Copied ConfigMap odh-trusted-ca-bundle from kserve-ci-e2e-test to e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig router-managed-autoscale-hpa-lw-1aa98714 in namespace e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig router-managed-autoscale-hpa-lw-1aa98714 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig router-managed-autoscale-hpa-lw-1aa98714 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig workload-llmd-simulator-lws-aut-fe7a55cc in namespace e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig workload-llmd-simulator-lws-aut-fe7a55cc [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig workload-llmd-simulator-lws-aut-fe7a55cc [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig prometheus-scrape-autoscale-hpa-b29acdba in namespace e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig prometheus-scrape-autoscale-hpa-b29acdba [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig prometheus-scrape-autoscale-hpa-b29acdba [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig scaling-hpa-autoscale-hpa-lws-b344a3ff in namespace e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig scaling-hpa-autoscale-hpa-lws-b344a3ff [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig scaling-hpa-autoscale-hpa-lws-b344a3ff [e2e-llm-inference-service] ------------------------------ Captured log call ------------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [test_llm_autoscaling_hpa_lws] [2026-07-30T17:55:54.592408] start - args=(), kwargs={'test_case': TestCase(base_refs=['router-managed', 'workload-llmd-simulator-lws', 'prometheus-scrape', 'scaling-hpa'], prompt='KServe is a', service_name='autoscale-hpa-lws', endpoint='/v1/completions', max_tokens=20, payload_formatter=None, response_assertion=, wait_timeout=900, response_timeout=60, extra_headers=None, url_getter=None, expected_gateway=None, namespace='e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2', before_test=[], after_test=[], peers=[], llm_service={'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-hpa-lws', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-hpa-lw-1aa98714'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-lws-aut-fe7a55cc'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-hpa-b29acdba'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-lws-b344a3ff'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m')} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [create_llmisvc] [2026-07-30T17:55:54.605379] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-hpa-lws', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-hpa-lw-1aa98714'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-lws-aut-fe7a55cc'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-hpa-b29acdba'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-lws-b344a3ff'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [create_llmisvc] [2026-07-30T17:55:55.053329] end - ✅ in 0.448s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [wait_for_llm_isvc_ready] [2026-07-30T17:55:55.053485] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-hpa-lws', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-hpa-lw-1aa98714'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-lws-aut-fe7a55cc'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-hpa-b29acdba'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-lws-b344a3ff'}]}, [e2e-llm-inference-service] 'status': None}, 900), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: No conditions found in status [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/autoscale-hpa-lws-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'severity': 'Info', 'status': 'False', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'Inference Pool e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/autoscale-hpa-lws-inference-pool exists but no Gateway controller has accepted it yet', 'reason': 'WaitingForGateway', 'severity': 'Info', 'status': 'False', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/autoscale-hpa-lws-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/autoscale-hpa-lws-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'HPA conditions not yet available', 'reason': 'HPAProgressing', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'LWS is progressing', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'LWS is progressing', 'reason': 'Progressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'message': 'HPA conditions not yet available', 'reason': 'HPAProgressing', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'message': 'HPA conditions not yet available', 'reason': 'HPAProgressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 9: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 10: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 11: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:1391 Timed out waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [wait_for_llm_isvc_ready] [2026-07-30T18:10:55.654707] end - ❌ 900.601s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [delete_llmisvc] [2026-07-30T18:10:55.654890] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-hpa-lws', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-hpa-lw-1aa98714'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-lws-aut-fe7a55cc'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-hpa-b29acdba'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-hpa-lws-b344a3ff'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 3 pod(s) for autoscale-hpa-lws still terminating: ['autoscale-hpa-lws-kserve-mn-0', 'autoscale-hpa-lws-kserve-mn-0-1', 'autoscale-hpa-lws-kserve-router-scheduler-5b6578b469-df9hp'] [e2e-llm-inference-service] assert not ['autoscale-hpa-lws-kserve-mn-0', 'autoscale-hpa-lws-kserve-mn-0-1', 'autoscale-hpa-lws-kserve-router-scheduler-5b6578b469-df9hp'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 1 pod(s) for autoscale-hpa-lws still terminating: ['autoscale-hpa-lws-kserve-router-scheduler-5b6578b469-df9hp'] [e2e-llm-inference-service] assert not ['autoscale-hpa-lws-kserve-router-scheduler-5b6578b469-df9hp'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [delete_llmisvc] [2026-07-30T18:11:25.998238] end - ✅ in 30.343s [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [test_llm_autoscaling_hpa_lws] [2026-07-30T18:11:25.998374] end - ❌ 931.405s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T17:56:22Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T17:57:00Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:35Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T17:56:44Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-hpa-lws-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ---------------------------- Captured log teardown ----------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.conftest:conftest.py:168 Skipping deletion of namespace e2e-test-llm-autoscaling-hpa-lws-d4cbcfd2 (SKIP_DELETION_ON_FAILURE) [e2e-llm-inference-service] _ test_llm_autoscaling_keda_lws[router-managed-workload-llmd-simulator-lws-prometheus-scrape-scaling-keda] _ [e2e-llm-inference-service] [gw0] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-lws', 'prometheus-scrape', 'scaling-keda'], prompt='KSe... {'name': 'scaling-keda-autoscale-keda-lws-1337f511'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.mark.autoscaling_keda [e2e-llm-inference-service] @pytest.mark.parametrize( [e2e-llm-inference-service] "test_case", [e2e-llm-inference-service] [ [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator-lws", [e2e-llm-inference-service] "prometheus-scrape", [e2e-llm-inference-service] "scaling-keda", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="autoscale-keda-lws", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_multi_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] indirect=["test_case"], [e2e-llm-inference-service] ids=generate_test_id, [e2e-llm-inference-service] ) [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def test_llm_autoscaling_keda_lws(test_case: TestCase): [e2e-llm-inference-service] """KEDA + LWS: ScaledObject exists with WVA annotations; pods scale under load.""" [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] kserve_client = _new_kserve_client() [e2e-llm-inference-service] service_name = test_case.llm_service.metadata.name [e2e-llm-inference-service] ns = test_case.namespace [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > _create_and_wait(kserve_client, test_case) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:728: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-lws', 'prometheus-scrape', 'scaling-keda'], prompt='KSe... {'name': 'scaling-keda-autoscale-keda-lws-1337f511'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] def _create_and_wait(kserve_client, test_case): [e2e-llm-inference-service] """Create LLMISVC and wait for it to be ready.""" [e2e-llm-inference-service] create_llmisvc(kserve_client, test_case.llm_service) [e2e-llm-inference-service] > wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client, test_case.llm_service, test_case.wait_timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:482: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] args = (, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kin...e-ked-231d315d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-lws-1337f511'}]}, [e2e-llm-inference-service] 'status': None}, 900) [e2e-llm-inference-service] kwargs = {}, func_name = 'wait_for_llm_isvc_ready' [e2e-llm-inference-service] timestamp_start = '2026-07-30T18:11:26.779046', start_time = 1785435086.7793698 [e2e-llm-inference-service] duration = 900.3845915794373, timestamp_end = '2026-07-30T18:26:27.163973' [e2e-llm-inference-service] [e2e-llm-inference-service] @functools.wraps(func) [e2e-llm-inference-service] def wrapper(*args, **kwargs): [e2e-llm-inference-service] func_name = func.__name__ [e2e-llm-inference-service] [e2e-llm-inference-service] timestamp_start = datetime.now().isoformat() [e2e-llm-inference-service] logger.info( [e2e-llm-inference-service] f"[{func_name}] [{timestamp_start}] start - args={args}, kwargs={kwargs}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] start_time = time.time() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > result = func(*args, **kwargs) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/logging.py:40: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] given = {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security....toscale-ked-231d315d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-lws-1337f511'}]}, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] timeout_seconds = 900 [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client: KServeClient, [e2e-llm-inference-service] given: V1alpha1LLMInferenceService, [e2e-llm-inference-service] timeout_seconds: int = 900, [e2e-llm-inference-service] ) -> str: [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] return True [e2e-llm-inference-service] [e2e-llm-inference-service] > return wait_for(assert_llm_isvc_ready, timeout=timeout_seconds, interval=1.0) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1376: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] assertion_fn = .assert_llm_isvc_ready at 0x7f24da5634c0> [e2e-llm-inference-service] timeout = 900, interval = 1.0 [e2e-llm-inference-service] [e2e-llm-inference-service] def wait_for( [e2e-llm-inference-service] assertion_fn: Callable[[], Any], timeout: float = 5.0, interval: float = 0.1 [e2e-llm-inference-service] ) -> Any: [e2e-llm-inference-service] """Wait for the assertion to succeed within timeout.""" [e2e-llm-inference-service] deadline = time.time() + timeout [e2e-llm-inference-service] last_msg = None [e2e-llm-inference-service] while True: [e2e-llm-inference-service] try: [e2e-llm-inference-service] > return assertion_fn() [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1387: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] > raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] E AssertionError: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1371: AssertionError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:82 Created test namespace e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret seaweedfs-s3-creds from kserve-ci-e2e-test to e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret storage-config from kserve-ci-e2e-test to e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:178 Patched default SA in e2e-test-llm-autoscaling-keda-lws-e541a132 with secret seaweedfs-s3-creds [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:162 ConfigMap odh-kserve-custom-ca-bundle already exists in e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:159 Copied ConfigMap odh-trusted-ca-bundle from kserve-ci-e2e-test to e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig router-managed-autoscale-keda-l-78828c4a in namespace e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig router-managed-autoscale-keda-l-78828c4a [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig router-managed-autoscale-keda-l-78828c4a [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig workload-llmd-simulator-lws-aut-1696d0b7 in namespace e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig workload-llmd-simulator-lws-aut-1696d0b7 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig workload-llmd-simulator-lws-aut-1696d0b7 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig prometheus-scrape-autoscale-ked-231d315d in namespace e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig prometheus-scrape-autoscale-ked-231d315d [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig prometheus-scrape-autoscale-ked-231d315d [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig scaling-keda-autoscale-keda-lws-1337f511 in namespace e2e-test-llm-autoscaling-keda-lws-e541a132 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig scaling-keda-autoscale-keda-lws-1337f511 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig scaling-keda-autoscale-keda-lws-1337f511 [e2e-llm-inference-service] ------------------------------ Captured log call ------------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [test_llm_autoscaling_keda_lws] [2026-07-30T18:11:26.699127] start - args=(), kwargs={'test_case': TestCase(base_refs=['router-managed', 'workload-llmd-simulator-lws', 'prometheus-scrape', 'scaling-keda'], prompt='KServe is a', service_name='autoscale-keda-lws', endpoint='/v1/completions', max_tokens=20, payload_formatter=None, response_assertion=, wait_timeout=900, response_timeout=60, extra_headers=None, url_getter=None, expected_gateway=None, namespace='e2e-test-llm-autoscaling-keda-lws-e541a132', before_test=[], after_test=[], peers=[], llm_service={'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-keda-lws', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-keda-lws-e541a132', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-keda-l-78828c4a'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-lws-aut-1696d0b7'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-ked-231d315d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-lws-1337f511'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m')} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [create_llmisvc] [2026-07-30T18:11:26.711801] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-keda-lws', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-keda-lws-e541a132', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-keda-l-78828c4a'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-lws-aut-1696d0b7'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-ked-231d315d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-lws-1337f511'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [create_llmisvc] [2026-07-30T18:11:26.778880] end - ✅ in 0.067s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [wait_for_llm_isvc_ready] [2026-07-30T18:11:26.779046] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-keda-lws', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-keda-lws-e541a132', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-keda-l-78828c4a'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-lws-aut-1696d0b7'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-ked-231d315d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-lws-1337f511'}]}, [e2e-llm-inference-service] 'status': None}, 900), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: No conditions found in status [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:12:08Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-keda-lws-e541a132/autoscale-keda-lws-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'severity': 'Info', 'status': 'False', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'message': 'Inference Pool e2e-test-llm-autoscaling-keda-lws-e541a132/autoscale-keda-lws-inference-pool exists but no Gateway controller has accepted it yet', 'reason': 'WaitingForGateway', 'severity': 'Info', 'status': 'False', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-keda-lws-e541a132/autoscale-keda-lws-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-keda-lws-e541a132/autoscale-keda-lws-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'message': 'ScaledObject not yet visible in cache', 'reason': 'ScaledObjectProgressing', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'message': 'LWS is progressing', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'message': 'LWS is progressing', 'reason': 'Progressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 12: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 13: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 14: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:1391 Timed out waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [wait_for_llm_isvc_ready] [2026-07-30T18:26:27.163973] end - ❌ 900.385s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [delete_llmisvc] [2026-07-30T18:26:27.164227] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-keda-lws', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-keda-lws-e541a132', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-keda-l-78828c4a'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-lws-aut-1696d0b7'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-ked-231d315d'}, [e2e-llm-inference-service] {'name': 'scaling-keda-autoscale-keda-lws-1337f511'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 3 pod(s) for autoscale-keda-lws still terminating: ['autoscale-keda-lws-kserve-mn-0', 'autoscale-keda-lws-kserve-mn-0-1', 'autoscale-keda-lws-kserve-router-scheduler-55c6bcf4c9-zmpm5'] [e2e-llm-inference-service] assert not ['autoscale-keda-lws-kserve-mn-0', 'autoscale-keda-lws-kserve-mn-0-1', 'autoscale-keda-lws-kserve-router-scheduler-55c6bcf4c9-zmpm5'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 1 pod(s) for autoscale-keda-lws still terminating: ['autoscale-keda-lws-kserve-router-scheduler-55c6bcf4c9-zmpm5'] [e2e-llm-inference-service] assert not ['autoscale-keda-lws-kserve-router-scheduler-55c6bcf4c9-zmpm5'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [delete_llmisvc] [2026-07-30T18:26:57.597259] end - ✅ in 30.432s [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [test_llm_autoscaling_keda_lws] [2026-07-30T18:26:57.597404] end - ❌ 930.898s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:12:08Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:12:51Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'severity': 'Info', 'status': 'True', 'type': 'WorkerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:12:21Z', 'message': 'failed to ensure HPA is correctly created for ScaledObject: error parsing prometheus metadata: error parsing prometheus metadata: bearer token= is required when bearer auth is enabled', 'reason': 'ScaledObjectCheckFailed', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ---------------------------- Captured log teardown ----------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.conftest:conftest.py:168 Skipping deletion of namespace e2e-test-llm-autoscaling-keda-lws-e541a132 (SKIP_DELETION_ON_FAILURE) [e2e-llm-inference-service] _ test_llm_autoscaling_cleanup_hpa[router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-hpa] _ [e2e-llm-inference-service] [gw0] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-hpa'], prom... {'name': 'scaling-hpa-autoscale-cleanup-h-aa1ae037'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.mark.autoscaling_hpa [e2e-llm-inference-service] @pytest.mark.parametrize( [e2e-llm-inference-service] "test_case", [e2e-llm-inference-service] [ [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator-no-replicas", [e2e-llm-inference-service] "prometheus-scrape", [e2e-llm-inference-service] "scaling-hpa", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="autoscale-cleanup-hpa", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] indirect=["test_case"], [e2e-llm-inference-service] ids=generate_test_id, [e2e-llm-inference-service] ) [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def test_llm_autoscaling_cleanup_hpa(test_case: TestCase): [e2e-llm-inference-service] """Removing scaling config should delete HPA.""" [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] kserve_client = _new_kserve_client() [e2e-llm-inference-service] service_name = test_case.llm_service.metadata.name [e2e-llm-inference-service] ns = test_case.namespace [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > _create_and_wait(kserve_client, test_case) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:892: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-hpa'], prom... {'name': 'scaling-hpa-autoscale-cleanup-h-aa1ae037'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] def _create_and_wait(kserve_client, test_case): [e2e-llm-inference-service] """Create LLMISVC and wait for it to be ready.""" [e2e-llm-inference-service] create_llmisvc(kserve_client, test_case.llm_service) [e2e-llm-inference-service] > wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client, test_case.llm_service, test_case.wait_timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_autoscaling_wva.py:482: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] args = (, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kin...e-cle-5a67f5d1'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-cleanup-h-aa1ae037'}]}, [e2e-llm-inference-service] 'status': None}, 900) [e2e-llm-inference-service] kwargs = {}, func_name = 'wait_for_llm_isvc_ready' [e2e-llm-inference-service] timestamp_start = '2026-07-30T18:26:59.154479', start_time = 1785436019.1547492 [e2e-llm-inference-service] duration = 900.5441663265228, timestamp_end = '2026-07-30T18:41:59.698918' [e2e-llm-inference-service] [e2e-llm-inference-service] @functools.wraps(func) [e2e-llm-inference-service] def wrapper(*args, **kwargs): [e2e-llm-inference-service] func_name = func.__name__ [e2e-llm-inference-service] [e2e-llm-inference-service] timestamp_start = datetime.now().isoformat() [e2e-llm-inference-service] logger.info( [e2e-llm-inference-service] f"[{func_name}] [{timestamp_start}] start - args={args}, kwargs={kwargs}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] start_time = time.time() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > result = func(*args, **kwargs) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/logging.py:40: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] given = {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security....toscale-cle-5a67f5d1'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-cleanup-h-aa1ae037'}]}, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] timeout_seconds = 900 [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client: KServeClient, [e2e-llm-inference-service] given: V1alpha1LLMInferenceService, [e2e-llm-inference-service] timeout_seconds: int = 900, [e2e-llm-inference-service] ) -> str: [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] return True [e2e-llm-inference-service] [e2e-llm-inference-service] > return wait_for(assert_llm_isvc_ready, timeout=timeout_seconds, interval=1.0) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1376: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] assertion_fn = .assert_llm_isvc_ready at 0x7f24da561c60> [e2e-llm-inference-service] timeout = 900, interval = 1.0 [e2e-llm-inference-service] [e2e-llm-inference-service] def wait_for( [e2e-llm-inference-service] assertion_fn: Callable[[], Any], timeout: float = 5.0, interval: float = 0.1 [e2e-llm-inference-service] ) -> Any: [e2e-llm-inference-service] """Wait for the assertion to succeed within timeout.""" [e2e-llm-inference-service] deadline = time.time() + timeout [e2e-llm-inference-service] last_msg = None [e2e-llm-inference-service] while True: [e2e-llm-inference-service] try: [e2e-llm-inference-service] > return assertion_fn() [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1387: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] def assert_llm_isvc_ready(): [e2e-llm-inference-service] out = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] given.metadata.name, [e2e-llm-inference-service] given.metadata.namespace, [e2e-llm-inference-service] given.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in out: [e2e-llm-inference-service] raise AssertionError("No status found in LLM inference service") [e2e-llm-inference-service] [e2e-llm-inference-service] status = out["status"] [e2e-llm-inference-service] if "conditions" not in status: [e2e-llm-inference-service] raise AssertionError("No conditions found in status") [e2e-llm-inference-service] [e2e-llm-inference-service] expected_true_conditions = {"Ready", "WorkloadsReady", "RouterReady"} [e2e-llm-inference-service] got_true_conditions = set() [e2e-llm-inference-service] all_condition_types = set() [e2e-llm-inference-service] [e2e-llm-inference-service] conditions = status["conditions"] [e2e-llm-inference-service] [e2e-llm-inference-service] for condition in conditions: [e2e-llm-inference-service] ctype = condition.get("type") [e2e-llm-inference-service] all_condition_types.add(ctype) [e2e-llm-inference-service] if condition.get("status") == "True": [e2e-llm-inference-service] got_true_conditions.add(ctype) [e2e-llm-inference-service] [e2e-llm-inference-service] # When TokenizerReady is present, it must also be True [e2e-llm-inference-service] if "TokenizerReady" in all_condition_types: [e2e-llm-inference-service] expected_true_conditions.add("TokenizerReady") [e2e-llm-inference-service] [e2e-llm-inference-service] missing_conditions = expected_true_conditions - got_true_conditions [e2e-llm-inference-service] if missing_conditions: [e2e-llm-inference-service] > raise AssertionError( [e2e-llm-inference-service] f"Missing true conditions: {missing_conditions}, expected {expected_true_conditions}, got {conditions}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] E AssertionError: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1371: AssertionError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:82 Created test namespace e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret seaweedfs-s3-creds from kserve-ci-e2e-test to e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret storage-config from kserve-ci-e2e-test to e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:178 Patched default SA in e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 with secret seaweedfs-s3-creds [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:162 ConfigMap odh-kserve-custom-ca-bundle already exists in e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:159 Copied ConfigMap odh-trusted-ca-bundle from kserve-ci-e2e-test to e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig router-managed-autoscale-cleanu-e5a6b97f in namespace e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig router-managed-autoscale-cleanu-e5a6b97f [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig router-managed-autoscale-cleanu-e5a6b97f [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig workload-llmd-simulator-no-repl-5d16e76d in namespace e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig workload-llmd-simulator-no-repl-5d16e76d [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig workload-llmd-simulator-no-repl-5d16e76d [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig prometheus-scrape-autoscale-cle-5a67f5d1 in namespace e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig prometheus-scrape-autoscale-cle-5a67f5d1 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig prometheus-scrape-autoscale-cle-5a67f5d1 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig scaling-hpa-autoscale-cleanup-h-aa1ae037 in namespace e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig scaling-hpa-autoscale-cleanup-h-aa1ae037 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig scaling-hpa-autoscale-cleanup-h-aa1ae037 [e2e-llm-inference-service] ------------------------------ Captured log call ------------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [test_llm_autoscaling_cleanup_hpa] [2026-07-30T18:26:58.794884] start - args=(), kwargs={'test_case': TestCase(base_refs=['router-managed', 'workload-llmd-simulator-no-replicas', 'prometheus-scrape', 'scaling-hpa'], prompt='KServe is a', service_name='autoscale-cleanup-hpa', endpoint='/v1/completions', max_tokens=20, payload_formatter=None, response_assertion=, wait_timeout=900, response_timeout=60, extra_headers=None, url_getter=None, expected_gateway=None, namespace='e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40', before_test=[], after_test=[], peers=[], llm_service={'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-cleanup-hpa', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-cleanu-e5a6b97f'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-5d16e76d'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-cle-5a67f5d1'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-cleanup-h-aa1ae037'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m')} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [create_llmisvc] [2026-07-30T18:26:58.807415] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-cleanup-hpa', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-cleanu-e5a6b97f'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-5d16e76d'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-cle-5a67f5d1'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-cleanup-h-aa1ae037'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [create_llmisvc] [2026-07-30T18:26:59.154342] end - ✅ in 0.347s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [wait_for_llm_isvc_ready] [2026-07-30T18:26:59.154479] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-cleanup-hpa', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-cleanu-e5a6b97f'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-5d16e76d'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-cle-5a67f5d1'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-cleanup-h-aa1ae037'}]}, [e2e-llm-inference-service] 'status': None}, 900), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: No conditions found in status [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:27:26Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/autoscale-cleanup-hpa-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'severity': 'Info', 'status': 'False', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'message': 'Inference Pool e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/autoscale-cleanup-hpa-inference-pool exists but no Gateway controller has accepted it yet', 'reason': 'WaitingForGateway', 'severity': 'Info', 'status': 'False', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/autoscale-cleanup-hpa-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'message': 'The following HTTPRoutes are not ready: [e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/autoscale-cleanup-hpa-kserve-route: "False" (reason "InvalidKind", message "referencing unsupported backendRef: group \\"inference.networking.x-k8s.io\\" kind \\"InferencePool\\"")]', 'reason': 'HTTPRoutesNotReady', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'message': 'HPA conditions not yet available', 'reason': 'HPAProgressing', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'reason': 'Progressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'RouterReady', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 15: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 16: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] INFO common.gateway_proxy_istio:gateway_proxy_istio.py:421 Snapshot 17: restarts={"kserve-ci-e2e-test/router-gateway-1-openshift-default": "error", "kserve-ci-e2e-test/router-gateway-2-openshift-default": "error", "openshift-ingress/openshift-ai-inference-openshift-default": "1\t{\"running\":{\"startedAt\":\"2026-07-30T17:13:57Z\"}}"} resources={"httproutes": 0, "llminferenceservices": 0, "authpolicies": 0} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:1391 Timed out waiting: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [wait_for_llm_isvc_ready] [2026-07-30T18:41:59.698918] end - ❌ 900.544s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [delete_llmisvc] [2026-07-30T18:41:59.699002] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'autoscale-cleanup-hpa', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-managed-autoscale-cleanu-e5a6b97f'}, [e2e-llm-inference-service] {'name': 'workload-llmd-simulator-no-repl-5d16e76d'}, [e2e-llm-inference-service] {'name': 'prometheus-scrape-autoscale-cle-5a67f5d1'}, [e2e-llm-inference-service] {'name': 'scaling-hpa-autoscale-cleanup-h-aa1ae037'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 2 pod(s) for autoscale-cleanup-hpa still terminating: ['autoscale-cleanup-hpa-kserve-6cfdf55fc9-s4nrr', 'autoscale-cleanup-hpa-kserve-router-scheduler-6694c4458b-ctv8m'] [e2e-llm-inference-service] assert not ['autoscale-cleanup-hpa-kserve-6cfdf55fc9-s4nrr', 'autoscale-cleanup-hpa-kserve-router-scheduler-6694c4458b-ctv8m'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: 1 pod(s) for autoscale-cleanup-hpa still terminating: ['autoscale-cleanup-hpa-kserve-router-scheduler-6694c4458b-ctv8m'] [e2e-llm-inference-service] assert not ['autoscale-cleanup-hpa-kserve-router-scheduler-6694c4458b-ctv8m'] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [delete_llmisvc] [2026-07-30T18:42:45.031382] end - ✅ in 45.332s [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [test_llm_autoscaling_cleanup_hpa] [2026-07-30T18:42:45.031514] end - ❌ 946.236s: Missing true conditions: {'Ready', 'WorkloadsReady'}, expected {'Ready', 'RouterReady', 'WorkloadsReady'}, got [{'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'severity': 'Info', 'status': 'True', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:26Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'severity': 'Info', 'status': 'False', 'type': 'ScalingReady'}, {'lastTransitionTime': '2026-07-30T18:28:04Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:27:47Z', 'message': 'the HPA was unable to compute the replica count: unable to get external metric e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40/wva_desired_replicas/&LabelSelector{MatchLabels:map[string]string{variant_name: autoscale-cleanup-hpa-kserve-hpa,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: scaledObject name is not specified', 'reason': 'FailedGetExternalMetric', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] ---------------------------- Captured log teardown ----------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.conftest:conftest.py:168 Skipping deletion of namespace e2e-test-llm-autoscaling-cleanup-hpa-a41f0e40 (SKIP_DELETION_ON_FAILURE) [e2e-llm-inference-service] _ test_llm_inference_service[router-with-refs-scheduler-managed-workload-single-cpu-model-fb-opt-125m] _ [e2e-llm-inference-service] [gw1] linux -- Python 3.11.13 /workspace/source/python/kserve/.venv/bin/python [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def _new_conn(self) -> socket.socket: [e2e-llm-inference-service] """Establish a socket connection and set nodelay settings on it. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: New socket connection. [e2e-llm-inference-service] """ [e2e-llm-inference-service] try: [e2e-llm-inference-service] > sock = connection.create_connection( [e2e-llm-inference-service] (self._dns_host, self.port), [e2e-llm-inference-service] self.timeout, [e2e-llm-inference-service] source_address=self.source_address, [e2e-llm-inference-service] socket_options=self.socket_options, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:204: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] address = ('a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', 6443) [e2e-llm-inference-service] timeout = None, source_address = None, socket_options = [(6, 1, 1)] [e2e-llm-inference-service] [e2e-llm-inference-service] def create_connection( [e2e-llm-inference-service] address: tuple[str, int], [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] source_address: tuple[str, int] | None = None, [e2e-llm-inference-service] socket_options: _TYPE_SOCKET_OPTIONS | None = None, [e2e-llm-inference-service] ) -> socket.socket: [e2e-llm-inference-service] """Connect to *address* and return the socket object. [e2e-llm-inference-service] [e2e-llm-inference-service] Convenience function. Connect to *address* (a 2-tuple ``(host, [e2e-llm-inference-service] port)``) and return the socket object. Passing the optional [e2e-llm-inference-service] *timeout* parameter will set the timeout on the socket instance [e2e-llm-inference-service] before attempting to connect. If no *timeout* is supplied, the [e2e-llm-inference-service] global default timeout setting returned by :func:`socket.getdefaulttimeout` [e2e-llm-inference-service] is used. If *source_address* is set it must be a tuple of (host, port) [e2e-llm-inference-service] for the socket to bind as a source address before making the connection. [e2e-llm-inference-service] An host of '' or port 0 tells the OS to use the default. [e2e-llm-inference-service] """ [e2e-llm-inference-service] [e2e-llm-inference-service] host, port = address [e2e-llm-inference-service] if host.startswith("["): [e2e-llm-inference-service] host = host.strip("[]") [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Using the value from allowed_gai_family() in the context of getaddrinfo lets [e2e-llm-inference-service] # us select whether to work with IPv4 DNS records, IPv6 records, or both. [e2e-llm-inference-service] # The original create_connection function always returns all records. [e2e-llm-inference-service] family = allowed_gai_family() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] host.encode("idna") [e2e-llm-inference-service] except UnicodeError: [e2e-llm-inference-service] raise LocationParseError(f"'{host}', label empty or too long") from None [e2e-llm-inference-service] [e2e-llm-inference-service] > for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/util/connection.py:60: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] host = 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' [e2e-llm-inference-service] port = 6443, family = [e2e-llm-inference-service] type = , proto = 0, flags = 0 [e2e-llm-inference-service] [e2e-llm-inference-service] def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): [e2e-llm-inference-service] """Resolve host and port into list of address info entries. [e2e-llm-inference-service] [e2e-llm-inference-service] Translate the host/port argument into a sequence of 5-tuples that contain [e2e-llm-inference-service] all the necessary arguments for creating a socket connected to that service. [e2e-llm-inference-service] host is a domain name, a string representation of an IPv4/v6 address or [e2e-llm-inference-service] None. port is a string service name such as 'http', a numeric port number or [e2e-llm-inference-service] None. By passing None as the value of host and port, you can pass NULL to [e2e-llm-inference-service] the underlying C API. [e2e-llm-inference-service] [e2e-llm-inference-service] The family, type and proto arguments can be optionally specified in order to [e2e-llm-inference-service] narrow the list of addresses returned. Passing zero as a value for each of [e2e-llm-inference-service] these arguments selects the full range of results. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # We override this function since we want to translate the numeric family [e2e-llm-inference-service] # and socket type values to enum constants. [e2e-llm-inference-service] addrlist = [] [e2e-llm-inference-service] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): [e2e-llm-inference-service] E socket.gaierror: [Errno -2] Name or service not known [e2e-llm-inference-service] [e2e-llm-inference-service] /usr/lib64/python3.11/socket.py:974: gaierror [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] body = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False, err = None [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] > response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:788: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] body = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] timeout = Timeout(connect=None, read=None, total=None), chunked = False [e2e-llm-inference-service] response_conn = None, preload_content = True, decode_content = True [e2e-llm-inference-service] enforce_content_length = True [e2e-llm-inference-service] [e2e-llm-inference-service] def _make_request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] conn: BaseHTTPConnection, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | None = None, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] response_conn: BaseHTTPConnection | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] enforce_content_length: bool = True, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Perform a request on a given urllib connection object taken from our [e2e-llm-inference-service] pool. [e2e-llm-inference-service] [e2e-llm-inference-service] :param conn: [e2e-llm-inference-service] a connection from one of our connection pools [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] Pass ``None`` to retry until you receive a response. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response_conn: [e2e-llm-inference-service] Set this to ``None`` if you will handle releasing the connection or [e2e-llm-inference-service] set the connection to have the response release it. [e2e-llm-inference-service] [e2e-llm-inference-service] :param preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded during construction. [e2e-llm-inference-service] [e2e-llm-inference-service] :param decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param enforce_content_length: [e2e-llm-inference-service] Enforce content length checking. Body returned by server must match [e2e-llm-inference-service] value of Content-Length header, if present. Otherwise, raise error. [e2e-llm-inference-service] """ [e2e-llm-inference-service] self.num_requests += 1 [e2e-llm-inference-service] [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] timeout_obj.start_connect() [e2e-llm-inference-service] conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Trigger any extra validation we need to do. [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._validate_conn(conn) [e2e-llm-inference-service] except (SocketTimeout, BaseSSLError) as e: [e2e-llm-inference-service] self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # _validate_conn() starts the connection to an HTTPS proxy [e2e-llm-inference-service] # so we need to wrap errors with 'ProxyError' here too. [e2e-llm-inference-service] except ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] # If the connection didn't successfully connect to it's proxy [e2e-llm-inference-service] # then there [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, (OSError, NewConnectionError, TimeoutError, SSLError) [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] > raise new_e [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:488: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] body = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] timeout = Timeout(connect=None, read=None, total=None), chunked = False [e2e-llm-inference-service] response_conn = None, preload_content = True, decode_content = True [e2e-llm-inference-service] enforce_content_length = True [e2e-llm-inference-service] [e2e-llm-inference-service] def _make_request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] conn: BaseHTTPConnection, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | None = None, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] response_conn: BaseHTTPConnection | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] enforce_content_length: bool = True, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Perform a request on a given urllib connection object taken from our [e2e-llm-inference-service] pool. [e2e-llm-inference-service] [e2e-llm-inference-service] :param conn: [e2e-llm-inference-service] a connection from one of our connection pools [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] Pass ``None`` to retry until you receive a response. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response_conn: [e2e-llm-inference-service] Set this to ``None`` if you will handle releasing the connection or [e2e-llm-inference-service] set the connection to have the response release it. [e2e-llm-inference-service] [e2e-llm-inference-service] :param preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded during construction. [e2e-llm-inference-service] [e2e-llm-inference-service] :param decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param enforce_content_length: [e2e-llm-inference-service] Enforce content length checking. Body returned by server must match [e2e-llm-inference-service] value of Content-Length header, if present. Otherwise, raise error. [e2e-llm-inference-service] """ [e2e-llm-inference-service] self.num_requests += 1 [e2e-llm-inference-service] [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] timeout_obj.start_connect() [e2e-llm-inference-service] conn.timeout = Timeout.resolve_default_timeout(timeout_obj.connect_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Trigger any extra validation we need to do. [e2e-llm-inference-service] try: [e2e-llm-inference-service] > self._validate_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:464: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] conn = [e2e-llm-inference-service] [e2e-llm-inference-service] def _validate_conn(self, conn: BaseHTTPConnection) -> None: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Called right before a request is made, after the socket is created. [e2e-llm-inference-service] """ [e2e-llm-inference-service] super()._validate_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] # Force connect early to allow us to validate the connection. [e2e-llm-inference-service] if conn.is_closed: [e2e-llm-inference-service] > conn.connect() [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:1106: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def connect(self) -> None: [e2e-llm-inference-service] # Today we don't need to be doing this step before the /actual/ socket [e2e-llm-inference-service] # connection, however in the future we'll need to decide whether to [e2e-llm-inference-service] # create a new socket or re-use an existing "shared" socket as a part [e2e-llm-inference-service] # of the HTTP/2 handshake dance. [e2e-llm-inference-service] if self._tunnel_host is not None and self._tunnel_port is not None: [e2e-llm-inference-service] probe_http2_host = self._tunnel_host [e2e-llm-inference-service] probe_http2_port = self._tunnel_port [e2e-llm-inference-service] else: [e2e-llm-inference-service] probe_http2_host = self.host [e2e-llm-inference-service] probe_http2_port = self.port [e2e-llm-inference-service] [e2e-llm-inference-service] # Check if the target origin supports HTTP/2. [e2e-llm-inference-service] # If the value comes back as 'None' it means that the current thread [e2e-llm-inference-service] # is probing for HTTP/2 support. Otherwise, we're waiting for another [e2e-llm-inference-service] # probe to complete, or we get a value right away. [e2e-llm-inference-service] target_supports_http2: bool | None [e2e-llm-inference-service] if "h2" in ssl_.ALPN_PROTOCOLS: [e2e-llm-inference-service] target_supports_http2 = http2_probe.acquire_and_get( [e2e-llm-inference-service] host=probe_http2_host, port=probe_http2_port [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] # If HTTP/2 isn't going to be offered it doesn't matter if [e2e-llm-inference-service] # the target supports HTTP/2. Don't want to make a probe. [e2e-llm-inference-service] target_supports_http2 = False [e2e-llm-inference-service] [e2e-llm-inference-service] if self._connect_callback is not None: [e2e-llm-inference-service] self._connect_callback( [e2e-llm-inference-service] "before connect", [e2e-llm-inference-service] thread_id=threading.get_ident(), [e2e-llm-inference-service] target_supports_http2=target_supports_http2, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] sock: socket.socket | ssl.SSLSocket [e2e-llm-inference-service] > self.sock = sock = self._new_conn() [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:759: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] [e2e-llm-inference-service] def _new_conn(self) -> socket.socket: [e2e-llm-inference-service] """Establish a socket connection and set nodelay settings on it. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: New socket connection. [e2e-llm-inference-service] """ [e2e-llm-inference-service] try: [e2e-llm-inference-service] sock = connection.create_connection( [e2e-llm-inference-service] (self._dns_host, self.port), [e2e-llm-inference-service] self.timeout, [e2e-llm-inference-service] source_address=self.source_address, [e2e-llm-inference-service] socket_options=self.socket_options, [e2e-llm-inference-service] ) [e2e-llm-inference-service] except socket.gaierror as e: [e2e-llm-inference-service] > raise NameResolutionError(self.host, self, e) from e [e2e-llm-inference-service] E urllib3.exceptions.NameResolutionError: HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connection.py:211: NameResolutionError [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] llm_isvc = {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security....router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def get_llm_service_url( [e2e-llm-inference-service] kserve_client: KServeClient, llm_isvc: V1alpha1LLMInferenceService [e2e-llm-inference-service] ): [e2e-llm-inference-service] service_name = llm_isvc.metadata.name [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > llm_isvc = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] llm_isvc.metadata.name, [e2e-llm-inference-service] llm_isvc.metadata.namespace, [e2e-llm-inference-service] llm_isvc.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1296: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] name = 'router-with-refs-test' [e2e-llm-inference-service] namespace = 'e2e-test-llm-inference-service-028f7809', version = 'v1alpha1' [e2e-llm-inference-service] [e2e-llm-inference-service] def get_llmisvc( [e2e-llm-inference-service] kserve_client: KServeClient, [e2e-llm-inference-service] name, [e2e-llm-inference-service] namespace, [e2e-llm-inference-service] version=constants.KSERVE_V1ALPHA1_VERSION, [e2e-llm-inference-service] ): [e2e-llm-inference-service] try: [e2e-llm-inference-service] > return kserve_client.api_instance.get_namespaced_custom_object( [e2e-llm-inference-service] constants.KSERVE_GROUP, [e2e-llm-inference-service] version, [e2e-llm-inference-service] namespace, [e2e-llm-inference-service] KSERVE_PLURAL_LLMINFERENCESERVICE, [e2e-llm-inference-service] name, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1204: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] group = 'serving.kserve.io', version = 'v1alpha1' [e2e-llm-inference-service] namespace = 'e2e-test-llm-inference-service-028f7809' [e2e-llm-inference-service] plural = 'llminferenceservices', name = 'router-with-refs-test' [e2e-llm-inference-service] kwargs = {'_return_http_data_only': True} [e2e-llm-inference-service] [e2e-llm-inference-service] def get_namespaced_custom_object(self, group, version, namespace, plural, name, **kwargs): # noqa: E501 [e2e-llm-inference-service] """get_namespaced_custom_object # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] Returns a namespace scoped custom object # noqa: E501 [e2e-llm-inference-service] This method makes a synchronous HTTP request by default. To make an [e2e-llm-inference-service] asynchronous HTTP request, please pass async_req=True [e2e-llm-inference-service] >>> thread = api.get_namespaced_custom_object(group, version, namespace, plural, name, async_req=True) [e2e-llm-inference-service] >>> result = thread.get() [e2e-llm-inference-service] [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param str group: the custom resource's group (required) [e2e-llm-inference-service] :param str version: the custom resource's version (required) [e2e-llm-inference-service] :param str namespace: The custom resource's namespace (required) [e2e-llm-inference-service] :param str plural: the custom resource's plural name. For TPRs this would be lowercase plural kind. (required) [e2e-llm-inference-service] :param str name: the custom object's name (required) [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: object [e2e-llm-inference-service] If the method is called asynchronously, [e2e-llm-inference-service] returns the request thread. [e2e-llm-inference-service] """ [e2e-llm-inference-service] kwargs['_return_http_data_only'] = True [e2e-llm-inference-service] > return self.get_namespaced_custom_object_with_http_info(group, version, namespace, plural, name, **kwargs) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api/custom_objects_api.py:1632: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] group = 'serving.kserve.io', version = 'v1alpha1' [e2e-llm-inference-service] namespace = 'e2e-test-llm-inference-service-028f7809' [e2e-llm-inference-service] plural = 'llminferenceservices', name = 'router-with-refs-test' [e2e-llm-inference-service] kwargs = {'_return_http_data_only': True} [e2e-llm-inference-service] local_var_params = {'_return_http_data_only': True, 'all_params': ['group', 'version', 'namespace', 'plural', 'name', 'async_req', ...], 'auth_settings': ['BearerToken'], 'body_params': None, ...} [e2e-llm-inference-service] all_params = ['group', 'version', 'namespace', 'plural', 'name', 'async_req', ...] [e2e-llm-inference-service] key = '_return_http_data_only', val = True, collection_formats = {} [e2e-llm-inference-service] path_params = {'group': 'serving.kserve.io', 'name': 'router-with-refs-test', 'namespace': 'e2e-test-llm-inference-service-028f7809', 'plural': 'llminferenceservices', ...} [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] [e2e-llm-inference-service] def get_namespaced_custom_object_with_http_info(self, group, version, namespace, plural, name, **kwargs): # noqa: E501 [e2e-llm-inference-service] """get_namespaced_custom_object # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] Returns a namespace scoped custom object # noqa: E501 [e2e-llm-inference-service] This method makes a synchronous HTTP request by default. To make an [e2e-llm-inference-service] asynchronous HTTP request, please pass async_req=True [e2e-llm-inference-service] >>> thread = api.get_namespaced_custom_object_with_http_info(group, version, namespace, plural, name, async_req=True) [e2e-llm-inference-service] >>> result = thread.get() [e2e-llm-inference-service] [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param str group: the custom resource's group (required) [e2e-llm-inference-service] :param str version: the custom resource's version (required) [e2e-llm-inference-service] :param str namespace: The custom resource's namespace (required) [e2e-llm-inference-service] :param str plural: the custom resource's plural name. For TPRs this would be lowercase plural kind. (required) [e2e-llm-inference-service] :param str name: the custom object's name (required) [e2e-llm-inference-service] :param _return_http_data_only: response data without head status code [e2e-llm-inference-service] and headers [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: tuple(object, status_code(int), headers(HTTPHeaderDict)) [e2e-llm-inference-service] If the method is called asynchronously, [e2e-llm-inference-service] returns the request thread. [e2e-llm-inference-service] """ [e2e-llm-inference-service] [e2e-llm-inference-service] local_var_params = locals() [e2e-llm-inference-service] [e2e-llm-inference-service] all_params = [ [e2e-llm-inference-service] 'group', [e2e-llm-inference-service] 'version', [e2e-llm-inference-service] 'namespace', [e2e-llm-inference-service] 'plural', [e2e-llm-inference-service] 'name' [e2e-llm-inference-service] ] [e2e-llm-inference-service] all_params.extend( [e2e-llm-inference-service] [ [e2e-llm-inference-service] 'async_req', [e2e-llm-inference-service] '_return_http_data_only', [e2e-llm-inference-service] '_preload_content', [e2e-llm-inference-service] '_request_timeout' [e2e-llm-inference-service] ] [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] for key, val in six.iteritems(local_var_params['kwargs']): [e2e-llm-inference-service] if key not in all_params: [e2e-llm-inference-service] raise ApiTypeError( [e2e-llm-inference-service] "Got an unexpected keyword argument '%s'" [e2e-llm-inference-service] " to method get_namespaced_custom_object" % key [e2e-llm-inference-service] ) [e2e-llm-inference-service] local_var_params[key] = val [e2e-llm-inference-service] del local_var_params['kwargs'] [e2e-llm-inference-service] # verify the required parameter 'group' is set [e2e-llm-inference-service] if self.api_client.client_side_validation and ('group' not in local_var_params or # noqa: E501 [e2e-llm-inference-service] local_var_params['group'] is None): # noqa: E501 [e2e-llm-inference-service] raise ApiValueError("Missing the required parameter `group` when calling `get_namespaced_custom_object`") # noqa: E501 [e2e-llm-inference-service] # verify the required parameter 'version' is set [e2e-llm-inference-service] if self.api_client.client_side_validation and ('version' not in local_var_params or # noqa: E501 [e2e-llm-inference-service] local_var_params['version'] is None): # noqa: E501 [e2e-llm-inference-service] raise ApiValueError("Missing the required parameter `version` when calling `get_namespaced_custom_object`") # noqa: E501 [e2e-llm-inference-service] # verify the required parameter 'namespace' is set [e2e-llm-inference-service] if self.api_client.client_side_validation and ('namespace' not in local_var_params or # noqa: E501 [e2e-llm-inference-service] local_var_params['namespace'] is None): # noqa: E501 [e2e-llm-inference-service] raise ApiValueError("Missing the required parameter `namespace` when calling `get_namespaced_custom_object`") # noqa: E501 [e2e-llm-inference-service] # verify the required parameter 'plural' is set [e2e-llm-inference-service] if self.api_client.client_side_validation and ('plural' not in local_var_params or # noqa: E501 [e2e-llm-inference-service] local_var_params['plural'] is None): # noqa: E501 [e2e-llm-inference-service] raise ApiValueError("Missing the required parameter `plural` when calling `get_namespaced_custom_object`") # noqa: E501 [e2e-llm-inference-service] # verify the required parameter 'name' is set [e2e-llm-inference-service] if self.api_client.client_side_validation and ('name' not in local_var_params or # noqa: E501 [e2e-llm-inference-service] local_var_params['name'] is None): # noqa: E501 [e2e-llm-inference-service] raise ApiValueError("Missing the required parameter `name` when calling `get_namespaced_custom_object`") # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] collection_formats = {} [e2e-llm-inference-service] [e2e-llm-inference-service] path_params = {} [e2e-llm-inference-service] if 'group' in local_var_params: [e2e-llm-inference-service] path_params['group'] = local_var_params['group'] # noqa: E501 [e2e-llm-inference-service] if 'version' in local_var_params: [e2e-llm-inference-service] path_params['version'] = local_var_params['version'] # noqa: E501 [e2e-llm-inference-service] if 'namespace' in local_var_params: [e2e-llm-inference-service] path_params['namespace'] = local_var_params['namespace'] # noqa: E501 [e2e-llm-inference-service] if 'plural' in local_var_params: [e2e-llm-inference-service] path_params['plural'] = local_var_params['plural'] # noqa: E501 [e2e-llm-inference-service] if 'name' in local_var_params: [e2e-llm-inference-service] path_params['name'] = local_var_params['name'] # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] [e2e-llm-inference-service] header_params = {} [e2e-llm-inference-service] [e2e-llm-inference-service] form_params = [] [e2e-llm-inference-service] local_var_files = {} [e2e-llm-inference-service] [e2e-llm-inference-service] body_params = None [e2e-llm-inference-service] # HTTP header `Accept` [e2e-llm-inference-service] header_params['Accept'] = self.api_client.select_header_accept( [e2e-llm-inference-service] ['application/json']) # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] # Authentication setting [e2e-llm-inference-service] auth_settings = ['BearerToken'] # noqa: E501 [e2e-llm-inference-service] [e2e-llm-inference-service] > return self.api_client.call_api( [e2e-llm-inference-service] '/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}', 'GET', [e2e-llm-inference-service] path_params, [e2e-llm-inference-service] query_params, [e2e-llm-inference-service] header_params, [e2e-llm-inference-service] body=body_params, [e2e-llm-inference-service] post_params=form_params, [e2e-llm-inference-service] files=local_var_files, [e2e-llm-inference-service] response_type='object', # noqa: E501 [e2e-llm-inference-service] auth_settings=auth_settings, [e2e-llm-inference-service] async_req=local_var_params.get('async_req'), [e2e-llm-inference-service] _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 [e2e-llm-inference-service] _preload_content=local_var_params.get('_preload_content', True), [e2e-llm-inference-service] _request_timeout=local_var_params.get('_request_timeout'), [e2e-llm-inference-service] collection_formats=collection_formats) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api/custom_objects_api.py:1739: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] resource_path = '/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}' [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] path_params = {'group': 'serving.kserve.io', 'name': 'router-with-refs-test', 'namespace': 'e2e-test-llm-inference-service-028f7809', 'plural': 'llminferenceservices', ...} [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] header_params = {'Accept': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = None, post_params = [], files = {}, response_type = 'object' [e2e-llm-inference-service] auth_settings = ['BearerToken'], async_req = None, _return_http_data_only = True [e2e-llm-inference-service] collection_formats = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] _host = None [e2e-llm-inference-service] [e2e-llm-inference-service] def call_api(self, resource_path, method, [e2e-llm-inference-service] path_params=None, query_params=None, header_params=None, [e2e-llm-inference-service] body=None, post_params=None, files=None, [e2e-llm-inference-service] response_type=None, auth_settings=None, async_req=None, [e2e-llm-inference-service] _return_http_data_only=None, collection_formats=None, [e2e-llm-inference-service] _preload_content=True, _request_timeout=None, _host=None): [e2e-llm-inference-service] """Makes the HTTP request (synchronous) and returns deserialized data. [e2e-llm-inference-service] [e2e-llm-inference-service] To make an async_req request, set the async_req parameter. [e2e-llm-inference-service] [e2e-llm-inference-service] :param resource_path: Path to method endpoint. [e2e-llm-inference-service] :param method: Method to call. [e2e-llm-inference-service] :param path_params: Path parameters in the url. [e2e-llm-inference-service] :param query_params: Query parameters in the url. [e2e-llm-inference-service] :param header_params: Header parameters to be [e2e-llm-inference-service] placed in the request header. [e2e-llm-inference-service] :param body: Request body. [e2e-llm-inference-service] :param post_params dict: Request post form parameters, [e2e-llm-inference-service] for `application/x-www-form-urlencoded`, `multipart/form-data`. [e2e-llm-inference-service] :param auth_settings list: Auth Settings names for the request. [e2e-llm-inference-service] :param response: Response data type. [e2e-llm-inference-service] :param files dict: key -> filename, value -> filepath, [e2e-llm-inference-service] for `multipart/form-data`. [e2e-llm-inference-service] :param async_req bool: execute request asynchronously [e2e-llm-inference-service] :param _return_http_data_only: response data without head status code [e2e-llm-inference-service] and headers [e2e-llm-inference-service] :param collection_formats: dict of collection formats for path, query, [e2e-llm-inference-service] header, and post parameters. [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] :return: [e2e-llm-inference-service] If async_req parameter is True, [e2e-llm-inference-service] the request will be called asynchronously. [e2e-llm-inference-service] The method will return the request thread. [e2e-llm-inference-service] If parameter async_req is False or missing, [e2e-llm-inference-service] then the method will return the response directly. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if not async_req: [e2e-llm-inference-service] > return self.__call_api(resource_path, method, [e2e-llm-inference-service] path_params, query_params, header_params, [e2e-llm-inference-service] body, post_params, files, [e2e-llm-inference-service] response_type, auth_settings, [e2e-llm-inference-service] _return_http_data_only, collection_formats, [e2e-llm-inference-service] _preload_content, _request_timeout, _host) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:348: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] resource_path = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] path_params = [('group', 'serving.kserve.io'), ('version', 'v1alpha1'), ('namespace', 'e2e-test-llm-inference-service-028f7809'), ('plural', 'llminferenceservices'), ('name', 'router-with-refs-test')] [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] header_params = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = None, post_params = [], files = {}, response_type = 'object' [e2e-llm-inference-service] auth_settings = ['BearerToken'], _return_http_data_only = True [e2e-llm-inference-service] collection_formats = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] _host = None [e2e-llm-inference-service] [e2e-llm-inference-service] def __call_api( [e2e-llm-inference-service] self, resource_path, method, path_params=None, [e2e-llm-inference-service] query_params=None, header_params=None, body=None, post_params=None, [e2e-llm-inference-service] files=None, response_type=None, auth_settings=None, [e2e-llm-inference-service] _return_http_data_only=None, collection_formats=None, [e2e-llm-inference-service] _preload_content=True, _request_timeout=None, _host=None): [e2e-llm-inference-service] [e2e-llm-inference-service] config = self.configuration [e2e-llm-inference-service] [e2e-llm-inference-service] # header parameters [e2e-llm-inference-service] header_params = header_params or {} [e2e-llm-inference-service] header_params.update(self.default_headers) [e2e-llm-inference-service] if self.cookie: [e2e-llm-inference-service] header_params['Cookie'] = self.cookie [e2e-llm-inference-service] if header_params: [e2e-llm-inference-service] header_params = self.sanitize_for_serialization(header_params) [e2e-llm-inference-service] header_params = dict(self.parameters_to_tuples(header_params, [e2e-llm-inference-service] collection_formats)) [e2e-llm-inference-service] [e2e-llm-inference-service] # path parameters [e2e-llm-inference-service] if path_params: [e2e-llm-inference-service] path_params = self.sanitize_for_serialization(path_params) [e2e-llm-inference-service] path_params = self.parameters_to_tuples(path_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] for k, v in path_params: [e2e-llm-inference-service] # specified safe chars, encode everything [e2e-llm-inference-service] resource_path = resource_path.replace( [e2e-llm-inference-service] '{%s}' % k, [e2e-llm-inference-service] quote(str(v), safe=config.safe_chars_for_path_param) [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # query parameters [e2e-llm-inference-service] if query_params: [e2e-llm-inference-service] query_params = self.sanitize_for_serialization(query_params) [e2e-llm-inference-service] query_params = self.parameters_to_tuples(query_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] [e2e-llm-inference-service] # post parameters [e2e-llm-inference-service] if post_params or files: [e2e-llm-inference-service] post_params = post_params if post_params else [] [e2e-llm-inference-service] post_params = self.sanitize_for_serialization(post_params) [e2e-llm-inference-service] post_params = self.parameters_to_tuples(post_params, [e2e-llm-inference-service] collection_formats) [e2e-llm-inference-service] post_params.extend(self.files_parameters(files)) [e2e-llm-inference-service] [e2e-llm-inference-service] # auth setting [e2e-llm-inference-service] self.update_params_for_auth(header_params, query_params, auth_settings) [e2e-llm-inference-service] [e2e-llm-inference-service] # body [e2e-llm-inference-service] if body: [e2e-llm-inference-service] body = self.sanitize_for_serialization(body) [e2e-llm-inference-service] [e2e-llm-inference-service] # request url [e2e-llm-inference-service] if _host is None: [e2e-llm-inference-service] url = self.configuration.host + resource_path [e2e-llm-inference-service] else: [e2e-llm-inference-service] # use server/host defined in path or operation instead [e2e-llm-inference-service] url = _host + resource_path [e2e-llm-inference-service] [e2e-llm-inference-service] # perform request and return response [e2e-llm-inference-service] > response_data = self.request( [e2e-llm-inference-service] method, url, query_params=query_params, headers=header_params, [e2e-llm-inference-service] post_params=post_params, body=body, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:180: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] post_params = [], body = None, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def request(self, method, url, query_params=None, headers=None, [e2e-llm-inference-service] post_params=None, body=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] """Makes the HTTP request using RESTClient.""" [e2e-llm-inference-service] if method == "GET": [e2e-llm-inference-service] > return self.rest_client.GET(url, [e2e-llm-inference-service] query_params=query_params, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/api_client.py:373: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] query_params = [], _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def GET(self, url, headers=None, query_params=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] > return self.request("GET", url, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] _preload_content=_preload_content, [e2e-llm-inference-service] _request_timeout=_request_timeout, [e2e-llm-inference-service] query_params=query_params) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/rest.py:244: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] query_params = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] body = None, post_params = {}, _preload_content = True, _request_timeout = None [e2e-llm-inference-service] [e2e-llm-inference-service] def request(self, method, url, query_params=None, headers=None, [e2e-llm-inference-service] body=None, post_params=None, _preload_content=True, [e2e-llm-inference-service] _request_timeout=None): [e2e-llm-inference-service] """Perform requests. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: http request method [e2e-llm-inference-service] :param url: http request url [e2e-llm-inference-service] :param query_params: query parameters in the url [e2e-llm-inference-service] :param headers: http request headers [e2e-llm-inference-service] :param body: request json body, for `application/json` [e2e-llm-inference-service] :param post_params: request post parameters, [e2e-llm-inference-service] `application/x-www-form-urlencoded` [e2e-llm-inference-service] and `multipart/form-data` [e2e-llm-inference-service] :param _preload_content: if False, the urllib3.HTTPResponse object will [e2e-llm-inference-service] be returned without reading/decoding response [e2e-llm-inference-service] data. Default is True. [e2e-llm-inference-service] :param _request_timeout: timeout setting for this request. If one [e2e-llm-inference-service] number provided, it will be total request [e2e-llm-inference-service] timeout. It can also be a pair (tuple) of [e2e-llm-inference-service] (connection, read) timeouts. [e2e-llm-inference-service] """ [e2e-llm-inference-service] method = method.upper() [e2e-llm-inference-service] assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', [e2e-llm-inference-service] 'PATCH', 'OPTIONS'] [e2e-llm-inference-service] [e2e-llm-inference-service] if post_params and body: [e2e-llm-inference-service] raise ApiValueError( [e2e-llm-inference-service] "body parameter cannot be used with post_params parameter." [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] post_params = post_params or {} [e2e-llm-inference-service] headers = headers or {} [e2e-llm-inference-service] [e2e-llm-inference-service] timeout = None [e2e-llm-inference-service] if _request_timeout: [e2e-llm-inference-service] if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): # noqa: E501,F821 [e2e-llm-inference-service] timeout = urllib3.Timeout(total=_request_timeout) [e2e-llm-inference-service] elif (isinstance(_request_timeout, tuple) and [e2e-llm-inference-service] len(_request_timeout) == 2): [e2e-llm-inference-service] timeout = urllib3.Timeout( [e2e-llm-inference-service] connect=_request_timeout[0], read=_request_timeout[1]) [e2e-llm-inference-service] [e2e-llm-inference-service] if 'Content-Type' not in headers: [e2e-llm-inference-service] headers['Content-Type'] = 'application/json' [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` [e2e-llm-inference-service] if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: [e2e-llm-inference-service] if query_params: [e2e-llm-inference-service] url += '?' + urlencode(query_params) [e2e-llm-inference-service] if (re.search('json', headers['Content-Type'], re.IGNORECASE) or [e2e-llm-inference-service] headers['Content-Type'] == 'application/apply-patch+yaml'): [e2e-llm-inference-service] if headers['Content-Type'] == 'application/json-patch+json': [e2e-llm-inference-service] if not isinstance(body, list): [e2e-llm-inference-service] headers['Content-Type'] = \ [e2e-llm-inference-service] 'application/strategic-merge-patch+json' [e2e-llm-inference-service] request_body = None [e2e-llm-inference-service] if body is not None: [e2e-llm-inference-service] request_body = json.dumps(body) [e2e-llm-inference-service] r = self.pool_manager.request( [e2e-llm-inference-service] method, url, [e2e-llm-inference-service] body=request_body, [e2e-llm-inference-service] preload_content=_preload_content, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501 [e2e-llm-inference-service] r = self.pool_manager.request( [e2e-llm-inference-service] method, url, [e2e-llm-inference-service] fields=post_params, [e2e-llm-inference-service] encode_multipart=False, [e2e-llm-inference-service] preload_content=_preload_content, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] elif headers['Content-Type'] == 'multipart/form-data': [e2e-llm-inference-service] # must del headers['Content-Type'], or the correct [e2e-llm-inference-service] # Content-Type which generated by urllib3 will be [e2e-llm-inference-service] # overwritten. [e2e-llm-inference-service] del headers['Content-Type'] [e2e-llm-inference-service] r = self.pool_manager.request( [e2e-llm-inference-service] method, url, [e2e-llm-inference-service] fields=post_params, [e2e-llm-inference-service] encode_multipart=True, [e2e-llm-inference-service] preload_content=_preload_content, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] # Pass a `string` parameter directly in the body to support [e2e-llm-inference-service] # other content types than Json when `body` argument is [e2e-llm-inference-service] # provided in serialized form [e2e-llm-inference-service] elif isinstance(body, str) or isinstance(body, bytes): [e2e-llm-inference-service] request_body = body [e2e-llm-inference-service] r = self.pool_manager.request( [e2e-llm-inference-service] method, url, [e2e-llm-inference-service] body=request_body, [e2e-llm-inference-service] preload_content=_preload_content, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] else: [e2e-llm-inference-service] # Cannot generate the request from given parameters [e2e-llm-inference-service] msg = """Cannot prepare a request message for provided [e2e-llm-inference-service] arguments. Please check that your arguments match [e2e-llm-inference-service] declared content type.""" [e2e-llm-inference-service] raise ApiException(status=0, reason=msg) [e2e-llm-inference-service] # For `GET`, `HEAD` [e2e-llm-inference-service] else: [e2e-llm-inference-service] > r = self.pool_manager.request(method, url, [e2e-llm-inference-service] fields=query_params, [e2e-llm-inference-service] preload_content=_preload_content, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] headers=headers) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/kubernetes/client/rest.py:217: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] body = None, fields = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] json = None, urlopen_kw = {'preload_content': True, 'timeout': None} [e2e-llm-inference-service] [e2e-llm-inference-service] def request( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] fields: _TYPE_FIELDS | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] json: typing.Any | None = None, [e2e-llm-inference-service] **urlopen_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Make a request using :meth:`urlopen` with the appropriate encoding of [e2e-llm-inference-service] ``fields`` based on the ``method`` used. [e2e-llm-inference-service] [e2e-llm-inference-service] This is a convenience method that requires the least amount of manual [e2e-llm-inference-service] effort. It can be used in most situations, while still having the [e2e-llm-inference-service] option to drop down to more specific methods when necessary, such as [e2e-llm-inference-service] :meth:`request_encode_url`, :meth:`request_encode_body`, [e2e-llm-inference-service] or even the lowest level :meth:`urlopen`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param fields: [e2e-llm-inference-service] Data to encode and send in the URL or request body, depending on ``method``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param json: [e2e-llm-inference-service] Data to encode and send as JSON with UTF-encoded in the request body. [e2e-llm-inference-service] The ``"Content-Type"`` header will be set to ``"application/json"`` [e2e-llm-inference-service] unless specified otherwise. [e2e-llm-inference-service] """ [e2e-llm-inference-service] method = method.upper() [e2e-llm-inference-service] [e2e-llm-inference-service] if json is not None and body is not None: [e2e-llm-inference-service] raise TypeError( [e2e-llm-inference-service] "request got values for both 'body' and 'json' parameters which are mutually exclusive" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if json is not None: [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not ("content-type" in map(str.lower, headers.keys())): [e2e-llm-inference-service] headers = HTTPHeaderDict(headers) [e2e-llm-inference-service] headers["Content-Type"] = "application/json" [e2e-llm-inference-service] [e2e-llm-inference-service] body = _json.dumps(json, separators=(",", ":"), ensure_ascii=False).encode( [e2e-llm-inference-service] "utf-8" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if body is not None: [e2e-llm-inference-service] urlopen_kw["body"] = body [e2e-llm-inference-service] [e2e-llm-inference-service] if method in self._encode_url_methods: [e2e-llm-inference-service] > return self.request_encode_url( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] fields=fields, # type: ignore[arg-type] [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] **urlopen_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/_request_methods.py:135: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] fields = [] [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] urlopen_kw = {'preload_content': True, 'timeout': None} [e2e-llm-inference-service] extra_kw = {'headers': {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'}, 'preload_content': True, 'timeout': None} [e2e-llm-inference-service] [e2e-llm-inference-service] def request_encode_url( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] fields: _TYPE_ENCODE_URL_FIELDS | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] **urlopen_kw: str, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Make a request using :meth:`urlopen` with the ``fields`` encoded in [e2e-llm-inference-service] the url. This is useful for request methods like GET, HEAD, DELETE, etc. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param fields: [e2e-llm-inference-service] Data to encode and send in the URL. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] extra_kw: dict[str, typing.Any] = {"headers": headers} [e2e-llm-inference-service] extra_kw.update(urlopen_kw) [e2e-llm-inference-service] [e2e-llm-inference-service] if fields: [e2e-llm-inference-service] url += "?" + urlencode(fields) [e2e-llm-inference-service] [e2e-llm-inference-service] > return self.urlopen(method, url, **extra_kw) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/_request_methods.py:182: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = 'https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] redirect = True [e2e-llm-inference-service] kw = {'assert_same_host': False, 'headers': {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'}, 'preload_content': True, 'redirect': False, ...} [e2e-llm-inference-service] u = Url(scheme='https', auth=None, host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', p...espaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test', query=None, fragment=None) [e2e-llm-inference-service] conn = [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, method: str, url: str, redirect: bool = True, **kw: typing.Any [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Same as :meth:`urllib3.HTTPConnectionPool.urlopen` [e2e-llm-inference-service] with custom cross-host redirect logic and only sends the request-uri [e2e-llm-inference-service] portion of the ``url``. [e2e-llm-inference-service] [e2e-llm-inference-service] The given ``url`` parameter must be absolute, such that an appropriate [e2e-llm-inference-service] :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. [e2e-llm-inference-service] """ [e2e-llm-inference-service] u = parse_url(url) [e2e-llm-inference-service] [e2e-llm-inference-service] if u.scheme is None: [e2e-llm-inference-service] warnings.warn( [e2e-llm-inference-service] "URLs without a scheme (ie 'https://') are deprecated and will raise an error " [e2e-llm-inference-service] "in urllib3 v3.0. To avoid this FutureWarning ensure all URLs " [e2e-llm-inference-service] "start with 'https://' or 'http://'. Read more in this issue: " [e2e-llm-inference-service] "https://github.com/urllib3/urllib3/issues/2920", [e2e-llm-inference-service] category=FutureWarning, [e2e-llm-inference-service] stacklevel=2, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) [e2e-llm-inference-service] [e2e-llm-inference-service] kw["assert_same_host"] = False [e2e-llm-inference-service] kw["redirect"] = False [e2e-llm-inference-service] [e2e-llm-inference-service] if "headers" not in kw: [e2e-llm-inference-service] kw["headers"] = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if self._proxy_requires_url_absolute_form(u): [e2e-llm-inference-service] response = conn.urlopen(method, url, **kw) [e2e-llm-inference-service] else: [e2e-llm-inference-service] > response = conn.urlopen(method, u.request_uri, **kw) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/poolmanager.py:457: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] body = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] retries = Retry(total=2, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = ConnectionResetError(104, 'Connection reset by peer'), clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] body = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] retries = Retry(total=1, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = ConnectTimeoutError( BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] body = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False [e2e-llm-inference-service] err = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] retries.sleep() [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of the error for the retry warning. [e2e-llm-inference-service] err = e [e2e-llm-inference-service] [e2e-llm-inference-service] finally: [e2e-llm-inference-service] if not clean_exit: [e2e-llm-inference-service] # We hit some kind of exception, handled or otherwise. We need [e2e-llm-inference-service] # to throw the connection away unless explicitly told not to. [e2e-llm-inference-service] # Close the connection, set the variable to None, and make sure [e2e-llm-inference-service] # we put the None back in the pool to avoid leaking it. [e2e-llm-inference-service] if conn: [e2e-llm-inference-service] conn.close() [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] release_this_conn = True [e2e-llm-inference-service] [e2e-llm-inference-service] if release_this_conn: [e2e-llm-inference-service] # Put the connection back to be reused. If the connection is [e2e-llm-inference-service] # expired then it will be None, which will get replaced with a [e2e-llm-inference-service] # fresh connection during _get_conn. [e2e-llm-inference-service] self._put_conn(conn) [e2e-llm-inference-service] [e2e-llm-inference-service] if not conn: [e2e-llm-inference-service] # Try again [e2e-llm-inference-service] log.warning( [e2e-llm-inference-service] "Retrying (%r) after connection broken by '%r': %s", retries, err, url [e2e-llm-inference-service] ) [e2e-llm-inference-service] > return self.urlopen( [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] body, [e2e-llm-inference-service] headers, [e2e-llm-inference-service] retries, [e2e-llm-inference-service] redirect, [e2e-llm-inference-service] assert_same_host, [e2e-llm-inference-service] timeout=timeout, [e2e-llm-inference-service] pool_timeout=pool_timeout, [e2e-llm-inference-service] release_conn=release_conn, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] body_pos=body_pos, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:872: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] body = None [e2e-llm-inference-service] headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'OpenAPI-Generator/32.0.1/python'} [e2e-llm-inference-service] retries = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] redirect = False, assert_same_host = False, timeout = None, pool_timeout = None [e2e-llm-inference-service] release_conn = True, chunked = False, body_pos = None, preload_content = True [e2e-llm-inference-service] decode_content = True, response_kw = {}, destination_scheme = None, conn = None [e2e-llm-inference-service] release_this_conn = True, http_tunnel_required = False, err = None [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] def urlopen( # type: ignore[override] [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str, [e2e-llm-inference-service] url: str, [e2e-llm-inference-service] body: _TYPE_BODY | None = None, [e2e-llm-inference-service] headers: typing.Mapping[str, str] | None = None, [e2e-llm-inference-service] retries: Retry | bool | int | None = None, [e2e-llm-inference-service] redirect: bool = True, [e2e-llm-inference-service] assert_same_host: bool = True, [e2e-llm-inference-service] timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, [e2e-llm-inference-service] pool_timeout: int | None = None, [e2e-llm-inference-service] release_conn: bool | None = None, [e2e-llm-inference-service] chunked: bool = False, [e2e-llm-inference-service] body_pos: _TYPE_BODY_POSITION | None = None, [e2e-llm-inference-service] preload_content: bool = True, [e2e-llm-inference-service] decode_content: bool = True, [e2e-llm-inference-service] **response_kw: typing.Any, [e2e-llm-inference-service] ) -> BaseHTTPResponse: [e2e-llm-inference-service] """ [e2e-llm-inference-service] Get a connection from the pool and perform an HTTP request. This is the [e2e-llm-inference-service] lowest level call for making a request, so you'll need to specify all [e2e-llm-inference-service] the raw details. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] More commonly, it's appropriate to use a convenience method [e2e-llm-inference-service] such as :meth:`request`. [e2e-llm-inference-service] [e2e-llm-inference-service] .. note:: [e2e-llm-inference-service] [e2e-llm-inference-service] `release_conn` will only behave as expected if [e2e-llm-inference-service] `preload_content=False` because we want to make [e2e-llm-inference-service] `preload_content=False` the default behaviour someday soon without [e2e-llm-inference-service] breaking backwards compatibility. [e2e-llm-inference-service] [e2e-llm-inference-service] :param method: [e2e-llm-inference-service] HTTP request method (such as GET, POST, PUT, etc.) [e2e-llm-inference-service] [e2e-llm-inference-service] :param url: [e2e-llm-inference-service] The URL to perform the request on. [e2e-llm-inference-service] [e2e-llm-inference-service] :param body: [e2e-llm-inference-service] Data to send in the request body, either :class:`str`, :class:`bytes`, [e2e-llm-inference-service] an iterable of :class:`str`/:class:`bytes`, or a file-like object. [e2e-llm-inference-service] [e2e-llm-inference-service] :param headers: [e2e-llm-inference-service] Dictionary of custom headers to send, such as User-Agent, [e2e-llm-inference-service] If-None-Match, etc. If None, pool headers are used. If provided, [e2e-llm-inference-service] these headers completely replace any pool-specific headers. [e2e-llm-inference-service] [e2e-llm-inference-service] :param retries: [e2e-llm-inference-service] Configure the number of retries to allow before raising a [e2e-llm-inference-service] :class:`~urllib3.exceptions.MaxRetryError` exception. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a [e2e-llm-inference-service] :class:`~urllib3.util.retry.Retry` object for fine-grained control [e2e-llm-inference-service] over different types of retries. [e2e-llm-inference-service] Pass an integer number to retry connection errors that many times, [e2e-llm-inference-service] but no other types of errors. Pass zero to never retry. [e2e-llm-inference-service] [e2e-llm-inference-service] If ``False``, then retries are disabled and any exception is raised [e2e-llm-inference-service] immediately. Also, instead of raising a MaxRetryError on redirects, [e2e-llm-inference-service] the redirect response will be returned. [e2e-llm-inference-service] [e2e-llm-inference-service] :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. [e2e-llm-inference-service] [e2e-llm-inference-service] :param redirect: [e2e-llm-inference-service] If True, automatically handle redirects (status codes 301, 302, [e2e-llm-inference-service] 303, 307, 308). Each redirect counts as a retry. Disabling retries [e2e-llm-inference-service] will disable redirect, too. [e2e-llm-inference-service] [e2e-llm-inference-service] :param assert_same_host: [e2e-llm-inference-service] If ``True``, will make sure that the host of the pool requests is [e2e-llm-inference-service] consistent else will raise HostChangedError. When ``False``, you can [e2e-llm-inference-service] use the pool on an HTTP proxy and request foreign hosts. [e2e-llm-inference-service] [e2e-llm-inference-service] :param timeout: [e2e-llm-inference-service] If specified, overrides the default timeout for this one [e2e-llm-inference-service] request. It may be a float (in seconds) or an instance of [e2e-llm-inference-service] :class:`urllib3.util.Timeout`. [e2e-llm-inference-service] [e2e-llm-inference-service] :param pool_timeout: [e2e-llm-inference-service] If set and the pool is set to block=True, then this method will [e2e-llm-inference-service] block for ``pool_timeout`` seconds and raise EmptyPoolError if no [e2e-llm-inference-service] connection is available within the time period. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool preload_content: [e2e-llm-inference-service] If True, the response's body will be preloaded into memory. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool decode_content: [e2e-llm-inference-service] If True, will attempt to decode the body based on the [e2e-llm-inference-service] 'content-encoding' header. [e2e-llm-inference-service] [e2e-llm-inference-service] :param release_conn: [e2e-llm-inference-service] If False, then the urlopen call will not release the connection [e2e-llm-inference-service] back into the pool once a response is received (but will release if [e2e-llm-inference-service] you read the entire contents of the response such as when [e2e-llm-inference-service] `preload_content=True`). This is useful if you're not preloading [e2e-llm-inference-service] the response's content immediately. You will need to call [e2e-llm-inference-service] ``r.release_conn()`` on the response ``r`` to return the connection [e2e-llm-inference-service] back into the pool. If None, it takes the value of ``preload_content`` [e2e-llm-inference-service] which defaults to ``True``. [e2e-llm-inference-service] [e2e-llm-inference-service] :param bool chunked: [e2e-llm-inference-service] If True, urllib3 will send the body using chunked transfer [e2e-llm-inference-service] encoding. Otherwise, urllib3 will send the body using the standard [e2e-llm-inference-service] content-length form. Defaults to False. [e2e-llm-inference-service] [e2e-llm-inference-service] :param int body_pos: [e2e-llm-inference-service] Position to seek to in file-like body in the event of a retry or [e2e-llm-inference-service] redirect. Typically this won't need to be set because urllib3 will [e2e-llm-inference-service] auto-populate the value when needed. [e2e-llm-inference-service] """ [e2e-llm-inference-service] # Ensure that the URL we're connecting to is properly encoded [e2e-llm-inference-service] if url.startswith("/"): [e2e-llm-inference-service] # URLs starting with / are inherently schemeless. [e2e-llm-inference-service] url = to_str(_encode_target(url)) [e2e-llm-inference-service] destination_scheme = None [e2e-llm-inference-service] else: [e2e-llm-inference-service] parsed_url = parse_url(url) [e2e-llm-inference-service] destination_scheme = parsed_url.scheme [e2e-llm-inference-service] url = to_str(parsed_url.url) [e2e-llm-inference-service] [e2e-llm-inference-service] if headers is None: [e2e-llm-inference-service] headers = self.headers [e2e-llm-inference-service] [e2e-llm-inference-service] if not isinstance(retries, Retry): [e2e-llm-inference-service] retries = Retry.from_int(retries, redirect=redirect, default=self.retries) [e2e-llm-inference-service] [e2e-llm-inference-service] if release_conn is None: [e2e-llm-inference-service] release_conn = preload_content [e2e-llm-inference-service] [e2e-llm-inference-service] # Check host [e2e-llm-inference-service] if assert_same_host and not self.is_same_host(url): [e2e-llm-inference-service] raise HostChangedError(self, url, retries) [e2e-llm-inference-service] [e2e-llm-inference-service] conn = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Track whether `conn` needs to be released before [e2e-llm-inference-service] # returning/raising/recursing. Update this variable if necessary, and [e2e-llm-inference-service] # leave `release_conn` constant throughout the function. That way, if [e2e-llm-inference-service] # the function recurses, the original value of `release_conn` will be [e2e-llm-inference-service] # passed down into the recursive call, and its value will be respected. [e2e-llm-inference-service] # [e2e-llm-inference-service] # See issue #651 [1] for details. [e2e-llm-inference-service] # [e2e-llm-inference-service] # [1] [e2e-llm-inference-service] release_this_conn = release_conn [e2e-llm-inference-service] [e2e-llm-inference-service] http_tunnel_required = connection_requires_http_tunnel( [e2e-llm-inference-service] self.proxy, self.proxy_config, destination_scheme [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Merge the proxy headers. Only done when not using HTTP CONNECT. We [e2e-llm-inference-service] # have to copy the headers dict so we can safely change it without those [e2e-llm-inference-service] # changes being reflected in anyone else's copy. [e2e-llm-inference-service] if not http_tunnel_required: [e2e-llm-inference-service] headers = headers.copy() # type: ignore[attr-defined] [e2e-llm-inference-service] headers.update(self.proxy_headers) # type: ignore[union-attr] [e2e-llm-inference-service] [e2e-llm-inference-service] # Must keep the exception bound to a separate variable or else Python 3 [e2e-llm-inference-service] # complains about UnboundLocalError. [e2e-llm-inference-service] err = None [e2e-llm-inference-service] [e2e-llm-inference-service] # Keep track of whether we cleanly exited the except block. This [e2e-llm-inference-service] # ensures we do proper cleanup in finally. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] [e2e-llm-inference-service] # Rewind body position, if needed. Record current position [e2e-llm-inference-service] # for future rewinds in the event of a redirect/retry. [e2e-llm-inference-service] body_pos = set_file_position(body, body_pos) [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] # Request a connection from the queue. [e2e-llm-inference-service] timeout_obj = self._get_timeout(timeout) [e2e-llm-inference-service] conn = self._get_conn(timeout=pool_timeout) [e2e-llm-inference-service] [e2e-llm-inference-service] conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] [e2e-llm-inference-service] [e2e-llm-inference-service] # Is this a closed/new connection that requires CONNECT tunnelling? [e2e-llm-inference-service] if self.proxy is not None and http_tunnel_required and conn.is_closed: [e2e-llm-inference-service] try: [e2e-llm-inference-service] self._prepare_proxy(conn) [e2e-llm-inference-service] except (BaseSSLError, OSError, SocketTimeout) as e: [e2e-llm-inference-service] self._raise_timeout( [e2e-llm-inference-service] err=e, url=self.proxy.url, timeout_value=conn.timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] # If we're going to release the connection in ``finally:``, then [e2e-llm-inference-service] # the response doesn't need to know about the connection. Otherwise [e2e-llm-inference-service] # it will also try to release it and we'll have a double-release [e2e-llm-inference-service] # mess. [e2e-llm-inference-service] response_conn = conn if not release_conn else None [e2e-llm-inference-service] [e2e-llm-inference-service] # Make the request on the HTTPConnection object [e2e-llm-inference-service] response = self._make_request( [e2e-llm-inference-service] conn, [e2e-llm-inference-service] method, [e2e-llm-inference-service] url, [e2e-llm-inference-service] timeout=timeout_obj, [e2e-llm-inference-service] body=body, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] chunked=chunked, [e2e-llm-inference-service] retries=retries, [e2e-llm-inference-service] response_conn=response_conn, [e2e-llm-inference-service] preload_content=preload_content, [e2e-llm-inference-service] decode_content=decode_content, [e2e-llm-inference-service] **response_kw, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] # Everything went great! [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] [e2e-llm-inference-service] except EmptyPoolError: [e2e-llm-inference-service] # Didn't get a connection from the pool, no need to clean up [e2e-llm-inference-service] clean_exit = True [e2e-llm-inference-service] release_this_conn = False [e2e-llm-inference-service] raise [e2e-llm-inference-service] [e2e-llm-inference-service] except ( [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] ProtocolError, [e2e-llm-inference-service] BaseSSLError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] CertificateError, [e2e-llm-inference-service] ProxyError, [e2e-llm-inference-service] ) as e: [e2e-llm-inference-service] # Discard the connection for these exceptions. It will be [e2e-llm-inference-service] # replaced during the next _get_conn() call. [e2e-llm-inference-service] clean_exit = False [e2e-llm-inference-service] new_e: Exception = e [e2e-llm-inference-service] if isinstance(e, (BaseSSLError, CertificateError)): [e2e-llm-inference-service] new_e = SSLError(e) [e2e-llm-inference-service] if isinstance( [e2e-llm-inference-service] new_e, [e2e-llm-inference-service] ( [e2e-llm-inference-service] OSError, [e2e-llm-inference-service] NewConnectionError, [e2e-llm-inference-service] TimeoutError, [e2e-llm-inference-service] SSLError, [e2e-llm-inference-service] HTTPException, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ) and (conn and conn.proxy and not conn.has_connected_to_proxy): [e2e-llm-inference-service] new_e = _wrap_proxy_error(new_e, conn.proxy.scheme) [e2e-llm-inference-service] elif isinstance(new_e, (OSError, HTTPException)): [e2e-llm-inference-service] new_e = ProtocolError("Connection aborted.", new_e) [e2e-llm-inference-service] [e2e-llm-inference-service] > retries = retries.increment( [e2e-llm-inference-service] method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/connectionpool.py:842: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] self = Retry(total=0, connect=None, read=None, redirect=None, status=None) [e2e-llm-inference-service] method = 'GET' [e2e-llm-inference-service] url = '/apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test' [e2e-llm-inference-service] response = None [e2e-llm-inference-service] error = NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.c...a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)") [e2e-llm-inference-service] _pool = [e2e-llm-inference-service] _stacktrace = [e2e-llm-inference-service] [e2e-llm-inference-service] def increment( [e2e-llm-inference-service] self, [e2e-llm-inference-service] method: str | None = None, [e2e-llm-inference-service] url: str | None = None, [e2e-llm-inference-service] response: BaseHTTPResponse | None = None, [e2e-llm-inference-service] error: Exception | None = None, [e2e-llm-inference-service] _pool: ConnectionPool | None = None, [e2e-llm-inference-service] _stacktrace: TracebackType | None = None, [e2e-llm-inference-service] ) -> Self: [e2e-llm-inference-service] """Return a new Retry object with incremented retry counters. [e2e-llm-inference-service] [e2e-llm-inference-service] :param response: A response object, or None, if the server did not [e2e-llm-inference-service] return a response. [e2e-llm-inference-service] :type response: :class:`~urllib3.response.BaseHTTPResponse` [e2e-llm-inference-service] :param Exception error: An error encountered during the request, or [e2e-llm-inference-service] None if the response was received successfully. [e2e-llm-inference-service] [e2e-llm-inference-service] :return: A new ``Retry`` object. [e2e-llm-inference-service] """ [e2e-llm-inference-service] if self.total is False and error: [e2e-llm-inference-service] # Disabled, indicate to re-raise the error. [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] [e2e-llm-inference-service] total = self.total [e2e-llm-inference-service] if total is not None: [e2e-llm-inference-service] total -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] connect = self.connect [e2e-llm-inference-service] read = self.read [e2e-llm-inference-service] redirect = self.redirect [e2e-llm-inference-service] status_count = self.status [e2e-llm-inference-service] other = self.other [e2e-llm-inference-service] cause = "unknown" [e2e-llm-inference-service] status = None [e2e-llm-inference-service] redirect_location = None [e2e-llm-inference-service] [e2e-llm-inference-service] if error and self._is_connection_error(error): [e2e-llm-inference-service] # Connect retry? [e2e-llm-inference-service] if connect is False: [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] elif connect is not None: [e2e-llm-inference-service] connect -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif error and self._is_read_error(error): [e2e-llm-inference-service] # Read retry? [e2e-llm-inference-service] if read is False or method is None or not self._is_method_retryable(method): [e2e-llm-inference-service] raise reraise(type(error), error, _stacktrace) [e2e-llm-inference-service] elif read is not None: [e2e-llm-inference-service] read -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif error: [e2e-llm-inference-service] # Other retry? [e2e-llm-inference-service] if other is not None: [e2e-llm-inference-service] other -= 1 [e2e-llm-inference-service] [e2e-llm-inference-service] elif response and response.get_redirect_location(): [e2e-llm-inference-service] # Redirect retry? [e2e-llm-inference-service] if redirect is not None: [e2e-llm-inference-service] redirect -= 1 [e2e-llm-inference-service] cause = "too many redirects" [e2e-llm-inference-service] response_redirect_location = response.get_redirect_location() [e2e-llm-inference-service] if response_redirect_location: [e2e-llm-inference-service] redirect_location = response_redirect_location [e2e-llm-inference-service] status = response.status [e2e-llm-inference-service] [e2e-llm-inference-service] else: [e2e-llm-inference-service] # Incrementing because of a server error like a 500 in [e2e-llm-inference-service] # status_forcelist and the given method is in the allowed_methods [e2e-llm-inference-service] cause = ResponseError.GENERIC_ERROR [e2e-llm-inference-service] if response and response.status: [e2e-llm-inference-service] if status_count is not None: [e2e-llm-inference-service] status_count -= 1 [e2e-llm-inference-service] cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) [e2e-llm-inference-service] status = response.status [e2e-llm-inference-service] [e2e-llm-inference-service] history = self.history + ( [e2e-llm-inference-service] RequestHistory(method, url, error, status, redirect_location), [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] new_retry = self.new( [e2e-llm-inference-service] total=total, [e2e-llm-inference-service] connect=connect, [e2e-llm-inference-service] read=read, [e2e-llm-inference-service] redirect=redirect, [e2e-llm-inference-service] status=status_count, [e2e-llm-inference-service] other=other, [e2e-llm-inference-service] history=history, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if new_retry.is_exhausted(): [e2e-llm-inference-service] reason = error or ResponseError(cause) [e2e-llm-inference-service] > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] [e2e-llm-inference-service] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] [e2e-llm-inference-service] ../../python/kserve/.venv/lib64/python3.11/site-packages/urllib3/util/retry.py:543: MaxRetryError [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] def get_successful_response(): [e2e-llm-inference-service] try: [e2e-llm-inference-service] if test_case.url_getter: [e2e-llm-inference-service] service_url = test_case.url_getter(kserve_client, test_case.llm_service) [e2e-llm-inference-service] else: [e2e-llm-inference-service] > service_url = get_llm_service_url(kserve_client, test_case.llm_service) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1230: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] args = (, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kin...outer-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}) [e2e-llm-inference-service] kwargs = {}, func_name = 'get_llm_service_url' [e2e-llm-inference-service] timestamp_start = '2026-07-30T19:03:10.801647', start_time = 1785438190.802384 [e2e-llm-inference-service] duration = 392.7594265937805, timestamp_end = '2026-07-30T19:09:43.561814' [e2e-llm-inference-service] [e2e-llm-inference-service] @functools.wraps(func) [e2e-llm-inference-service] def wrapper(*args, **kwargs): [e2e-llm-inference-service] func_name = func.__name__ [e2e-llm-inference-service] [e2e-llm-inference-service] timestamp_start = datetime.now().isoformat() [e2e-llm-inference-service] logger.info( [e2e-llm-inference-service] f"[{func_name}] [{timestamp_start}] start - args={args}, kwargs={kwargs}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] start_time = time.time() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > result = func(*args, **kwargs) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/logging.py:40: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] llm_isvc = {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security....router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None} [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def get_llm_service_url( [e2e-llm-inference-service] kserve_client: KServeClient, llm_isvc: V1alpha1LLMInferenceService [e2e-llm-inference-service] ): [e2e-llm-inference-service] service_name = llm_isvc.metadata.name [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] llm_isvc = get_llmisvc( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] llm_isvc.metadata.name, [e2e-llm-inference-service] llm_isvc.metadata.namespace, [e2e-llm-inference-service] llm_isvc.api_version.split("/")[1], [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] if "status" not in llm_isvc: [e2e-llm-inference-service] raise ValueError( [e2e-llm-inference-service] f"❌ No status found in LLM inference service {service_name} status: {llm_isvc}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] status = llm_isvc["status"] [e2e-llm-inference-service] [e2e-llm-inference-service] if "url" in status and status["url"]: [e2e-llm-inference-service] return status["url"] [e2e-llm-inference-service] [e2e-llm-inference-service] if ( [e2e-llm-inference-service] "addresses" in status [e2e-llm-inference-service] and status["addresses"] [e2e-llm-inference-service] and len(status["addresses"]) > 0 [e2e-llm-inference-service] ): [e2e-llm-inference-service] first_address = status["addresses"][0] [e2e-llm-inference-service] if "url" in first_address: [e2e-llm-inference-service] return first_address["url"] [e2e-llm-inference-service] [e2e-llm-inference-service] raise ValueError( [e2e-llm-inference-service] f"❌ No URL found in LLM inference service {service_name} status" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] except Exception as e: [e2e-llm-inference-service] > raise ValueError( [e2e-llm-inference-service] f"❌ Failed to get URL for LLM inference service {service_name}: {e}" [e2e-llm-inference-service] ) from e [e2e-llm-inference-service] E ValueError: ❌ Failed to get URL for LLM inference service router-with-refs-test: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1327: ValueError [e2e-llm-inference-service] [e2e-llm-inference-service] The above exception was the direct cause of the following exception: [e2e-llm-inference-service] [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-with-refs', 'scheduler-managed', 'workload-single-cpu', 'model-fb-opt-125m'], prompt='KSer... {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] @pytest.mark.parametrize( [e2e-llm-inference-service] "test_case", [e2e-llm-inference-service] [ [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-with-gateway-ref", [e2e-llm-inference-service] "router-with-managed-route", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/completions", [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=create_response_assertion(with_field="choices"), [e2e-llm-inference-service] expected_gateway="router-gateway-1", [e2e-llm-inference-service] before_test=[ [e2e-llm-inference-service] lambda tc: create_router_resources( [e2e-llm-inference-service] gateways=[ [e2e-llm-inference-service] make_router_gateway( [e2e-llm-inference-service] "router-gateway-1", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] pytest.mark.custom_gateway, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-custom-route-timeout", [e2e-llm-inference-service] "scheduler-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="custom-route-timeout-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-with-refs", [e2e-llm-inference-service] "scheduler-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="router-with-refs-test", [e2e-llm-inference-service] expected_gateway="router-gateway-1", [e2e-llm-inference-service] before_test=[ [e2e-llm-inference-service] lambda tc: create_router_resources( [e2e-llm-inference-service] gateways=[ [e2e-llm-inference-service] make_router_gateway( [e2e-llm-inference-service] "router-gateway-1", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] routes=[ [e2e-llm-inference-service] make_router_main_route( [e2e-llm-inference-service] "router-route-1", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] "router-gateway-1", [e2e-llm-inference-service] "router-with-refs-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] make_router_health_route( [e2e-llm-inference-service] "router-route-2", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] "router-gateway-1", [e2e-llm-inference-service] "router-with-refs-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.custom_gateway, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=["router-managed", "workload-pd-cpu", "model-fb-opt-125m"], [e2e-llm-inference-service] prompt="You are an expert in Kubernetes-native machine learning serving platforms, with deep knowledge of the KServe project. " [e2e-llm-inference-service] "Explain the challenges of serving large-scale models, GPU scheduling, and how KServe integrates with capabilities like multi-model serving. " [e2e-llm-inference-service] "Provide a detailed comparison with open source alternatives, focusing on operational trade-offs.", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-custom-route-timeout-pd", [e2e-llm-inference-service] "scheduler-managed", [e2e-llm-inference-service] "workload-pd-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="You are an expert in Kubernetes-native machine learning serving platforms, with deep knowledge of the KServe project. " [e2e-llm-inference-service] "Explain the challenges of serving large-scale models, GPU scheduling, and how KServe integrates with capabilities like multi-model serving. " [e2e-llm-inference-service] "Provide a detailed comparison with open source alternatives, focusing on operational trade-offs.", [e2e-llm-inference-service] service_name="custom-route-timeout-pd-test", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-with-refs-pd", [e2e-llm-inference-service] "scheduler-managed", [e2e-llm-inference-service] "workload-pd-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="You are an expert in Kubernetes-native machine learning serving platforms, with deep knowledge of the KServe project. " [e2e-llm-inference-service] "Explain the challenges of serving large-scale models, GPU scheduling, and how KServe integrates with capabilities like multi-model serving. " [e2e-llm-inference-service] "Provide a detailed comparison with open source alternatives, focusing on operational trade-offs.", [e2e-llm-inference-service] service_name="router-with-refs-pd-test", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] expected_gateway="router-gateway-2", [e2e-llm-inference-service] before_test=[ [e2e-llm-inference-service] lambda tc: create_router_resources( [e2e-llm-inference-service] gateways=[ [e2e-llm-inference-service] make_router_gateway( [e2e-llm-inference-service] "router-gateway-2", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] routes=[ [e2e-llm-inference-service] make_router_main_route( [e2e-llm-inference-service] "router-route-3", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] "router-gateway-2", [e2e-llm-inference-service] "router-with-refs-pd-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] make_router_health_route( [e2e-llm-inference-service] "router-route-4", [e2e-llm-inference-service] tc.namespace, [e2e-llm-inference-service] "router-gateway-2", [e2e-llm-inference-service] "router-with-refs-pd-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.custom_gateway, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-dp-ep-gpu", [e2e-llm-inference-service] "workload-dp-ep-prefill-gpu", [e2e-llm-inference-service] "model-deepseek-v2-lite", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="Delve into the multifaceted implications of a fully disaggregated cloud architecture, specifically " [e2e-llm-inference-service] "where the compute plane (P) and the data plane (D) are independently deployed and managed for a " [e2e-llm-inference-service] "geographically distributed, high-throughput, low-latency microservices ecosystem. Beyond the " [e2e-llm-inference-service] "fundamental challenges of network latency and data consistency, elaborate on the advanced " [e2e-llm-inference-service] "considerations and trade-offs inherent in such a setup: 1. Network Architecture and Protocols: " [e2e-llm-inference-service] "How would the network fabric and underlying protocols (e.g., RDMA, custom transport layers) need to " [e2e-llm-inference-service] "evolve to support optimal performance and minimize inter-plane communication overhead, especially for " [e2e-llm-inference-service] "synchronous operations? Discuss the role of network programmability (e.g., SDN, P4) in dynamically " [e2e-llm-inference-service] "optimizing routing and traffic flow between P and D. 2. Advanced Data Consistency and Durability: " [e2e-llm-inference-service] "Explore sophisticated data consistency models (e.g., causal consistency, strong eventual consistency) " [e2e-llm-inference-service] "and their applicability in balancing performance and data integrity across a globally distributed data plane. " [e2e-llm-inference-service] "Detail strategies for ensuring data durability and fault tolerance, including multi-region replication, " [e2e-llm-inference-service] "intelligent partitioning, and recovery mechanisms in the event of partial or full plane failures. " [e2e-llm-inference-service] "3. Dynamic Resource Orchestration and Cost Optimization: Analyze how an orchestration layer would intelligently " [e2e-llm-inference-service] "manage the independent scaling of compute (P) and data (D) resources, considering fluctuating workloads, " [e2e-llm-inference-service] "cost efficiency, and performance targets (e.g., using predictive analytics for resource provisioning). " [e2e-llm-inference-service] "Discuss mechanisms for dynamically reallocating compute nodes to different data partitions based on " [e2e-llm-inference-service] "workload patterns and data locality, potentially involving live migration strategies. " [e2e-llm-inference-service] "4. Security and Compliance in a Distributed Landscape: Address the enhanced security perimeter " [e2e-llm-inference-service] "challenges, including securing communication channels between P and D (encryption in transit, mutual TLS), " [e2e-llm-inference-service] "fine-grained access control to data at rest and in motion, and identity management across disaggregated " [e2e-llm-inference-service] "components. Discuss how such an architecture impacts compliance with regulatory frameworks (e.g., GDPR, HIPAA) " [e2e-llm-inference-service] "concerning data sovereignty, privacy, and auditability. 5. Operational Complexity and Observability: " [e2e-llm-inference-service] "Examine the increased complexity in monitoring, logging, and tracing across highly decoupled compute and " [e2e-llm-inference-service] "data planes. What specialized tooling and practices (e.g., distributed tracing with OpenTelemetry, advanced AIOps) " [e2e-llm-inference-service] "would be essential? How would incident response and troubleshooting differ in this disaggregated environment " [e2e-llm-inference-service] "compared to traditional integrated systems? Consider the challenges of pinpointing root causes across " [e2e-llm-inference-service] "independent failures. 6. Real-world Applicability and Future Trends: Identify specific industries " [e2e-llm-inference-service] "or use cases (e.g., high-frequency trading, IoT edge processing, large language model inference) " [e2e-llm-inference-service] "where the benefits of P/D disaggregation would strongly outweigh its complexities. " [e2e-llm-inference-service] "Conclude by speculating on emerging technologies or paradigms (e.g., serverless compute functions " [e2e-llm-inference-service] "directly interacting with object storage, in-memory disaggregation) that could further drive or " [e2e-llm-inference-service] "transform P/D disaggregation in cloud computing.", [e2e-llm-inference-service] max_tokens=2000, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_gpu, [e2e-llm-inference-service] pytest.mark.cluster_nvidia, [e2e-llm-inference-service] pytest.mark.cluster_nvidia_roce, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-no-scheduler", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="What is KServe?", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.no_scheduler, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-simulated-dp-ep-cpu", [e2e-llm-inference-service] "model-fb-opt-125m", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="This test simulates DP+EP that can run on CPU, the idea is to test the LWS-based deployment, " [e2e-llm-inference-service] "but without the resources requirements for DP+EP (GPUs and ROCe/IB).", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_multi_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Scheduler config tests [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-inline-config", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-inline-config-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Chat completions endpoint coverage [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] "model-qwen2.5-0.5b", [e2e-llm-inference-service] ], [e2e-llm-inference-service] model_name="Qwen/Qwen2.5-0.5B-Instruct", [e2e-llm-inference-service] endpoint="/v1/chat/completions", [e2e-llm-inference-service] prompt="What is KServe?", [e2e-llm-inference-service] payload_formatter=chat_completions_payload, [e2e-llm-inference-service] response_assertion=create_response_assertion(with_field="choices"), [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-configmap-ref", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-configmap-ref-test", [e2e-llm-inference-service] before_test=[ [e2e-llm-inference-service] lambda tc: create_scheduler_configmap(namespace=tc.namespace) [e2e-llm-inference-service] ], [e2e-llm-inference-service] after_test=[ [e2e-llm-inference-service] lambda tc: delete_scheduler_configmap(namespace=tc.namespace) [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-replicas", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-ha-replicas-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-custom-template", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-custom-template-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[pytest.mark.cluster_cpu, pytest.mark.cluster_single_node], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Scheduler v0.6 → v0.7 migration tests. [e2e-llm-inference-service] # Deploy v0.6-style configs and verify the controller migrates them [e2e-llm-inference-service] # so the v0.7 scheduler boots successfully. [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-v06-pd-config-migration", [e2e-llm-inference-service] "workload-llmd-simulator-pd", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-v06-pd-migration-test", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-v06-nonzero-threshold-migration", [e2e-llm-inference-service] "workload-llmd-simulator-pd", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="scheduler-v06-threshold-migration-test", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Standalone tokenizer — clean path: token-producer in inline config [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-tokenizer-kvcache", [e2e-llm-inference-service] "workload-llmd-simulator-kvcache", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="tokenizer-clean-path-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Standalone tokenizer — migration path: legacy precise-prefix-cache-scorer [e2e-llm-inference-service] # triggers auto-provisioned tokenizer without explicit tokenizer:{} field [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "scheduler-with-precise-prefix-cache-inline-config", [e2e-llm-inference-service] "workload-llmd-simulator-kvcache", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] service_name="tokenizer-migration-path-test", [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Models endpoint coverage [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/models", [e2e-llm-inference-service] response_assertion=create_response_assertion(with_field="data"), [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Model-based routing via X-Gateway-Model-Name header — /v1/completions [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/completions", [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches("facebook/opt-125m"), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/facebook/opt-125m", [e2e-llm-inference-service] }, [e2e-llm-inference-service] peers=[ [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] "model-qwen2.5-0.5b", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/completions", [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches( [e2e-llm-inference-service] "Qwen/Qwen2.5-0.5B-Instruct" [e2e-llm-inference-service] ), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/Qwen/Qwen2.5-0.5B-Instruct", [e2e-llm-inference-service] }, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] pytest.mark.model_routing, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Model-based routing via X-Gateway-Model-Name header — /v1/chat/completions [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/chat/completions", [e2e-llm-inference-service] prompt="What is KServe?", [e2e-llm-inference-service] payload_formatter=chat_completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches("facebook/opt-125m"), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/facebook/opt-125m", [e2e-llm-inference-service] }, [e2e-llm-inference-service] peers=[ [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-llmd-simulator", [e2e-llm-inference-service] "model-qwen2.5-0.5b", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/chat/completions", [e2e-llm-inference-service] prompt="What is KServe?", [e2e-llm-inference-service] payload_formatter=chat_completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches( [e2e-llm-inference-service] "Qwen/Qwen2.5-0.5B-Instruct" [e2e-llm-inference-service] ), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/Qwen/Qwen2.5-0.5B-Instruct", [e2e-llm-inference-service] }, [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.llmd_simulator, [e2e-llm-inference-service] pytest.mark.model_routing, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Model-based routing via X-Gateway-Model-Name header — LoRA adapter [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m-with-lora-hf", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/completions", [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] model_name="publishers/{namespace}/models/lora-adapter-1", [e2e-llm-inference-service] payload_formatter=completions_payload, [e2e-llm-inference-service] response_assertion=assert_model_field_matches( [e2e-llm-inference-service] "publishers/{namespace}/models/lora-adapter-1" [e2e-llm-inference-service] ), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/lora-adapter-1", [e2e-llm-inference-service] }, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.model_routing, [e2e-llm-inference-service] pytest.mark.lora, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # Model-based routing via X-Gateway-Model-Name header — /v1/models (base + LoRA) [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-fb-opt-125m-with-lora-hf", [e2e-llm-inference-service] ], [e2e-llm-inference-service] endpoint="/v1/models", [e2e-llm-inference-service] response_assertion=assert_models_contains( [e2e-llm-inference-service] "facebook/opt-125m", [e2e-llm-inference-service] "publishers/{namespace}/models/facebook/opt-125m", [e2e-llm-inference-service] "lora-adapter-1", [e2e-llm-inference-service] "publishers/{namespace}/models/lora-adapter-1", [e2e-llm-inference-service] ), [e2e-llm-inference-service] url_getter=get_model_routing_url, [e2e-llm-inference-service] extra_headers={ [e2e-llm-inference-service] MODEL_ROUTING_HEADER: "publishers/{namespace}/models/facebook/opt-125m", [e2e-llm-inference-service] }, [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.model_routing, [e2e-llm-inference-service] pytest.mark.lora, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] # PVC storage tests -- validate direct PVC volume mount with real vLLM serving [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-single-cpu", [e2e-llm-inference-service] "model-pvc", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] before_test=[lambda tc: ensure_pvc_with_model(namespace=tc.namespace)], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.pvc_storage, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-pd-cpu", [e2e-llm-inference-service] "model-pvc", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] response_assertion=assert_200_with_choices, [e2e-llm-inference-service] before_test=[lambda tc: ensure_pvc_with_model(namespace=tc.namespace)], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_single_node, [e2e-llm-inference-service] pytest.mark.pvc_storage, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] pytest.param( [e2e-llm-inference-service] TestCase( [e2e-llm-inference-service] base_refs=[ [e2e-llm-inference-service] "router-managed", [e2e-llm-inference-service] "workload-simulated-dp-ep-cpu", [e2e-llm-inference-service] "model-pvc", [e2e-llm-inference-service] ], [e2e-llm-inference-service] prompt="KServe is a", [e2e-llm-inference-service] before_test=[lambda tc: ensure_pvc_with_model(namespace=tc.namespace)], [e2e-llm-inference-service] ), [e2e-llm-inference-service] marks=[ [e2e-llm-inference-service] pytest.mark.cluster_cpu, [e2e-llm-inference-service] pytest.mark.cluster_multi_node, [e2e-llm-inference-service] pytest.mark.pvc_storage, [e2e-llm-inference-service] ], [e2e-llm-inference-service] ), [e2e-llm-inference-service] ], [e2e-llm-inference-service] indirect=["test_case"], [e2e-llm-inference-service] ids=generate_test_id, [e2e-llm-inference-service] ) [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def test_llm_inference_service(test_case: TestCase): # noqa: F811 [e2e-llm-inference-service] inject_k8s_proxy() [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = KServeClient( [e2e-llm-inference-service] config_file=os.environ.get("KUBECONFIG", "~/.kube/config"), [e2e-llm-inference-service] client_configuration=client.Configuration(), [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] service_name = test_case.llm_service.metadata.name [e2e-llm-inference-service] prefix = test_case.log_prefix [e2e-llm-inference-service] [e2e-llm-inference-service] test_failed = False [e2e-llm-inference-service] try: [e2e-llm-inference-service] print(f"{prefix} Creating LLMInferenceService {service_name}") [e2e-llm-inference-service] create_llmisvc(kserve_client, test_case.llm_service) [e2e-llm-inference-service] print(f"{prefix} Waiting for LLMInferenceService {service_name} to be ready") [e2e-llm-inference-service] wait_for_llm_isvc_ready( [e2e-llm-inference-service] kserve_client, test_case.llm_service, test_case.wait_timeout [e2e-llm-inference-service] ) [e2e-llm-inference-service] print(f"{prefix} Waiting for model response from {service_name}") [e2e-llm-inference-service] > wait_for_model_response( [e2e-llm-inference-service] kserve_client, [e2e-llm-inference-service] test_case, [e2e-llm-inference-service] test_case.wait_timeout, [e2e-llm-inference-service] extra_headers=test_case.extra_headers, [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:870: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] args = (, TestCase(base_refs=['router-with-refs', 'scheduler-... {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m'), 900) [e2e-llm-inference-service] kwargs = {'extra_headers': None}, func_name = 'wait_for_model_response' [e2e-llm-inference-service] timestamp_start = '2026-07-30T18:51:28.654173', start_time = 1785437488.6544714 [e2e-llm-inference-service] duration = 1094.907615661621, timestamp_end = '2026-07-30T19:09:43.562088' [e2e-llm-inference-service] [e2e-llm-inference-service] @functools.wraps(func) [e2e-llm-inference-service] def wrapper(*args, **kwargs): [e2e-llm-inference-service] func_name = func.__name__ [e2e-llm-inference-service] [e2e-llm-inference-service] timestamp_start = datetime.now().isoformat() [e2e-llm-inference-service] logger.info( [e2e-llm-inference-service] f"[{func_name}] [{timestamp_start}] start - args={args}, kwargs={kwargs}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] start_time = time.time() [e2e-llm-inference-service] [e2e-llm-inference-service] try: [e2e-llm-inference-service] > result = func(*args, **kwargs) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/logging.py:40: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] kserve_client = [e2e-llm-inference-service] test_case = TestCase(base_refs=['router-with-refs', 'scheduler-managed', 'workload-single-cpu', 'model-fb-opt-125m'], prompt='KSer... {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m') [e2e-llm-inference-service] timeout_seconds = 900, extra_headers = None [e2e-llm-inference-service] [e2e-llm-inference-service] @log_execution [e2e-llm-inference-service] def wait_for_model_response( [e2e-llm-inference-service] kserve_client: KServeClient, [e2e-llm-inference-service] test_case: TestCase, # noqa: F811 [e2e-llm-inference-service] timeout_seconds: int = 900, [e2e-llm-inference-service] extra_headers: Optional[Dict[str, str]] = None, [e2e-llm-inference-service] ) -> str: [e2e-llm-inference-service] def get_successful_response(): [e2e-llm-inference-service] try: [e2e-llm-inference-service] if test_case.url_getter: [e2e-llm-inference-service] service_url = test_case.url_getter(kserve_client, test_case.llm_service) [e2e-llm-inference-service] else: [e2e-llm-inference-service] service_url = get_llm_service_url(kserve_client, test_case.llm_service) [e2e-llm-inference-service] except Exception as e: [e2e-llm-inference-service] raise AssertionError(f"❌ Failed to get service URL: {e}") from e [e2e-llm-inference-service] [e2e-llm-inference-service] model_url = service_url + test_case.endpoint [e2e-llm-inference-service] [e2e-llm-inference-service] headers = {"Content-Type": "application/json"} [e2e-llm-inference-service] ns = test_case.namespace or "" [e2e-llm-inference-service] resolved_headers = ( [e2e-llm-inference-service] {k: v.format(namespace=ns) for k, v in extra_headers.items()} [e2e-llm-inference-service] if extra_headers [e2e-llm-inference-service] else {} [e2e-llm-inference-service] ) [e2e-llm-inference-service] headers.update(resolved_headers) [e2e-llm-inference-service] if test_case.payload_formatter is not None: [e2e-llm-inference-service] test_payload = test_case.payload_formatter(test_case) [e2e-llm-inference-service] elif test_case.prompt is not None: [e2e-llm-inference-service] test_payload = { [e2e-llm-inference-service] "model": resolved_headers.get( [e2e-llm-inference-service] MODEL_ROUTING_HEADER, test_case.model_name [e2e-llm-inference-service] ), [e2e-llm-inference-service] "prompt": test_case.prompt, [e2e-llm-inference-service] "max_tokens": test_case.max_tokens, [e2e-llm-inference-service] } [e2e-llm-inference-service] else: [e2e-llm-inference-service] test_payload = None [e2e-llm-inference-service] [e2e-llm-inference-service] logger.info(f"Calling LLM service at {model_url} with payload {test_payload}") [e2e-llm-inference-service] try: [e2e-llm-inference-service] if test_payload is not None: [e2e-llm-inference-service] response = post_with_retry( [e2e-llm-inference-service] model_url, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] json_data=test_payload, [e2e-llm-inference-service] timeout=test_case.response_timeout, [e2e-llm-inference-service] ) [e2e-llm-inference-service] else: [e2e-llm-inference-service] response = get_with_retry( [e2e-llm-inference-service] model_url, [e2e-llm-inference-service] headers=headers, [e2e-llm-inference-service] timeout=test_case.response_timeout, [e2e-llm-inference-service] ) [e2e-llm-inference-service] except Exception as e: [e2e-llm-inference-service] logger.error(f"❌ Failed to call model: {e}") [e2e-llm-inference-service] raise AssertionError(f"❌ Failed to call model: {e}") from e [e2e-llm-inference-service] [e2e-llm-inference-service] logger.info(f"Model response is {response.status_code}: {response.text[:500]}") [e2e-llm-inference-service] [e2e-llm-inference-service] if 200 <= response.status_code < 300: [e2e-llm-inference-service] return response [e2e-llm-inference-service] raise AssertionError( [e2e-llm-inference-service] f"Service returned {response.status_code}: {response.text}" [e2e-llm-inference-service] ) [e2e-llm-inference-service] [e2e-llm-inference-service] > response = wait_for(get_successful_response, timeout=timeout_seconds, interval=5.0) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1284: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] assertion_fn = .get_successful_response at 0x7f9b13c33740> [e2e-llm-inference-service] timeout = 900, interval = 5.0 [e2e-llm-inference-service] [e2e-llm-inference-service] def wait_for( [e2e-llm-inference-service] assertion_fn: Callable[[], Any], timeout: float = 5.0, interval: float = 0.1 [e2e-llm-inference-service] ) -> Any: [e2e-llm-inference-service] """Wait for the assertion to succeed within timeout.""" [e2e-llm-inference-service] deadline = time.time() + timeout [e2e-llm-inference-service] last_msg = None [e2e-llm-inference-service] while True: [e2e-llm-inference-service] try: [e2e-llm-inference-service] > return assertion_fn() [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1387: [e2e-llm-inference-service] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [e2e-llm-inference-service] [e2e-llm-inference-service] def get_successful_response(): [e2e-llm-inference-service] try: [e2e-llm-inference-service] if test_case.url_getter: [e2e-llm-inference-service] service_url = test_case.url_getter(kserve_client, test_case.llm_service) [e2e-llm-inference-service] else: [e2e-llm-inference-service] service_url = get_llm_service_url(kserve_client, test_case.llm_service) [e2e-llm-inference-service] except Exception as e: [e2e-llm-inference-service] > raise AssertionError(f"❌ Failed to get service URL: {e}") from e [e2e-llm-inference-service] E AssertionError: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:1232: AssertionError [e2e-llm-inference-service] ------------------------------ Captured log setup ------------------------------ [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:82 Created test namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret seaweedfs-s3-creds from kserve-ci-e2e-test to e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:131 Copied secret storage-config from kserve-ci-e2e-test to e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:178 Patched default SA in e2e-test-llm-inference-service-028f7809 with secret seaweedfs-s3-creds [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:162 ConfigMap odh-kserve-custom-ca-bundle already exists in e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.namespace:namespace.py:159 Copied ConfigMap odh-trusted-ca-bundle from kserve-ci-e2e-test to e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:34 Checking Gateway router-gateway-1 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:62 Resource not found, creating Gateway router-gateway-1 [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:70 ✓ Successfully created Gateway router-gateway-1 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1692 ✓ Created/updated Gateway router-gateway-1 [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:121 Checking HttpRoute router-route-1 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:149 Resource not found, creating HttpRoute router-route-1 [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:157 ✓ Successfully created HttpRoute router-route-1 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1701 ✓ Created/updated HTTPRoute router-route-1 [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:121 Checking HttpRoute router-route-2 in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:149 Resource not found, creating HttpRoute router-route-2 [e2e-llm-inference-service] INFO kserve.trace:gw_api.py:157 ✓ Successfully created HttpRoute router-route-2 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1701 ✓ Created/updated HTTPRoute router-route-2 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig router-with-refs-router-with-re-997af47d in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig router-with-refs-router-with-re-997af47d [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig router-with-refs-router-with-re-997af47d [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig scheduler-managed-router-with-r-6bb62f6a in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig scheduler-managed-router-with-r-6bb62f6a [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig scheduler-managed-router-with-r-6bb62f6a [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig workload-single-cpu-router-with-ec5d4bfa in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig workload-single-cpu-router-with-ec5d4bfa [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig workload-single-cpu-router-with-ec5d4bfa [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1718 Checking LLMInferenceServiceConfig model-fb-opt-125m-router-with-r-6d64416a in namespace e2e-test-llm-inference-service-028f7809 [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1744 Resource not found, creating LLMInferenceServiceConfig model-fb-opt-125m-router-with-r-6d64416a [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1754 ✓ Successfully created LLMInferenceServiceConfig model-fb-opt-125m-router-with-r-6d64416a [e2e-llm-inference-service] ------------------------------ Captured log call ------------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [test_llm_inference_service] [2026-07-30T18:49:00.288980] start - args=(), kwargs={'test_case': TestCase(base_refs=['router-with-refs', 'scheduler-managed', 'workload-single-cpu', 'model-fb-opt-125m'], prompt='KServe is a', service_name='router-with-refs-test', endpoint='/v1/completions', max_tokens=20, payload_formatter=None, response_assertion=, wait_timeout=900, response_timeout=60, extra_headers=None, url_getter=None, expected_gateway='router-gateway-1', namespace='e2e-test-llm-inference-service-028f7809', before_test=[ at 0x7f9b18cdeb60>], after_test=[], peers=[], llm_service={'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m')} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:fixtures.py:1769 No HTTP proxy configured for k8s client [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [create_llmisvc] [2026-07-30T18:49:00.301740] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [create_llmisvc] [2026-07-30T18:49:01.654728] end - ✅ in 1.353s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [wait_for_llm_isvc_ready] [2026-07-30T18:49:01.654896] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}, 900), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: No conditions found in status [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'WorkloadsReady', 'Ready', 'RouterReady'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'GatewaysReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'message': 'Deployment rollout in progress', 'reason': 'Progressing', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'reason': 'Progressing', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'WorkloadsReady', 'Ready', 'RouterReady'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'GatewaysReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:49:36Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:49:36Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:49:36Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:49:36Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:49:36Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: Missing true conditions: {'WorkloadsReady', 'Ready'}, expected {'WorkloadsReady', 'RouterReady', 'Ready'}, got [{'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'GatewaysReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'HTTPRoutesReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'InferencePoolReady'}, {'lastTransitionTime': '2026-07-30T18:49:36Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'severity': 'Info', 'status': 'False', 'type': 'MainWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:49:15Z', 'severity': 'Info', 'status': 'True', 'type': 'PresetsCombined'}, {'lastTransitionTime': '2026-07-30T18:49:36Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'Ready'}, {'lastTransitionTime': '2026-07-30T18:49:55Z', 'status': 'True', 'type': 'RouterReady'}, {'lastTransitionTime': '2026-07-30T18:49:55Z', 'severity': 'Info', 'status': 'True', 'type': 'SchedulerWorkloadReady'}, {'lastTransitionTime': '2026-07-30T18:49:36Z', 'message': 'Deployment does not have minimum availability.', 'reason': 'MinimumReplicasUnavailable', 'status': 'False', 'type': 'WorkloadsReady'}] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [wait_for_llm_isvc_ready] [2026-07-30T18:51:28.653998] end - ✅ in 146.999s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [wait_for_model_response] [2026-07-30T18:51:28.654173] start - args=(, TestCase(base_refs=['router-with-refs', 'scheduler-managed', 'workload-single-cpu', 'model-fb-opt-125m'], prompt='KServe is a', service_name='router-with-refs-test', endpoint='/v1/completions', max_tokens=20, payload_formatter=None, response_assertion=, wait_timeout=900, response_timeout=60, extra_headers=None, url_getter=None, expected_gateway='router-gateway-1', namespace='e2e-test-llm-inference-service-028f7809', before_test=[ at 0x7f9b18cdeb60>], after_test=[], peers=[], llm_service={'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}, model_name='facebook/opt-125m'), 900), kwargs={'extra_headers': None} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:51:28.654478] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:43 [get_llm_service_url] [2026-07-30T18:51:28.663338] end - ✅ in 0.009s [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1257 Calling LLM service at http://abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com/e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions with payload {'model': 'facebook/opt-125m', 'prompt': 'KServe is a', 'max_tokens': 20} [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=7, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=6, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=5, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPConnection(host='abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com', port=80): Failed to resolve 'abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com' ([Errno -2] Name or service not known)")': /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:1273 ❌ Failed to call model: HTTPConnectionPool(host='abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com', port=80): Max retries exceeded with url: /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions (Caused by NameResolutionError("HTTPConnection(host='abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com', port=80): Failed to resolve 'abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to call model: HTTPConnectionPool(host='abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com', port=80): Max retries exceeded with url: /e2e-test-llm-inference-service-028f7809/router-with-refs-test/v1/completions (Caused by NameResolutionError("HTTPConnection(host='abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com', port=80): Failed to resolve 'abfc93bef4fda4a779e749413f8f0127-1662654592.us-east-1.elb.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:58:35.420203] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:58:35.462062] end - ❌ 0.041s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '30cc2c98-c151-4105-af75-4c9065eaff40', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '30cc2c98-c151-4105-af75-4c9065eaff40', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:58:40.462596] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:58:40.468700] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '5b7e782c-381d-4089-a2b7-c9e1642133ee', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '5b7e782c-381d-4089-a2b7-c9e1642133ee', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:58:45.468955] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:58:45.474432] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '422d6198-1704-48cb-bcab-0814c5c7c844', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '422d6198-1704-48cb-bcab-0814c5c7c844', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:58:50.474829] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:58:50.480228] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '4db48cd3-5cbb-4002-815d-de76f049e094', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '4db48cd3-5cbb-4002-815d-de76f049e094', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:58:55.480588] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:58:55.486312] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'd757ec2e-2d02-457e-bbdd-c7192214bbee', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'd757ec2e-2d02-457e-bbdd-c7192214bbee', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:58:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:00.486558] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:00.492293] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3d2cc155-f2e3-4fee-87c8-a74a6f5854e0', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3d2cc155-f2e3-4fee-87c8-a74a6f5854e0', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:05.492529] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:05.498661] end - ❌ 0.006s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'a118a59c-2539-4b9a-83c3-29ae6e9c656e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'a118a59c-2539-4b9a-83c3-29ae6e9c656e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:10.498918] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:10.504518] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '36899e8d-8333-4469-ae35-ff3cb79bd96e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:10 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '36899e8d-8333-4469-ae35-ff3cb79bd96e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:10 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:15.504810] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:15.514098] end - ❌ 0.009s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f25d9e6e-8a5e-40fb-b70b-608a89c9a080', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:15 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f25d9e6e-8a5e-40fb-b70b-608a89c9a080', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:15 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:20.514404] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:20.521807] end - ❌ 0.006s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f0799049-4df3-4673-ba3e-e67bac5866c2', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:20 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f0799049-4df3-4673-ba3e-e67bac5866c2', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:20 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:25.522230] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:25.528266] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '4de8c383-8342-4264-b64e-d0826509b35e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:25 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '4de8c383-8342-4264-b64e-d0826509b35e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:25 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:30.528603] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:30.539495] end - ❌ 0.010s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3c5510f9-5ce8-49bb-9da4-4605c6b7a4bc', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:30 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3c5510f9-5ce8-49bb-9da4-4605c6b7a4bc', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:30 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:35.539850] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:35.548647] end - ❌ 0.008s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '09149e06-9bb6-4203-a202-8a15e6fc32f3', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '09149e06-9bb6-4203-a202-8a15e6fc32f3', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:40.548912] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:40.558630] end - ❌ 0.009s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'ff612385-74ff-48e3-83b5-ab7405466997', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'ff612385-74ff-48e3-83b5-ab7405466997', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:45.558879] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:45.564481] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '2afba5a7-0cb8-4242-b3d6-7f52a04cf830', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '2afba5a7-0cb8-4242-b3d6-7f52a04cf830', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:50.564859] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:50.571489] end - ❌ 0.006s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '44ff687b-7379-4862-aea4-c8329f6c758e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '44ff687b-7379-4862-aea4-c8329f6c758e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T18:59:55.571724] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T18:59:55.577313] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1f42679a-cbd0-4501-9016-b2e615355862', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1f42679a-cbd0-4501-9016-b2e615355862', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 18:59:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:00.577544] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:00.583416] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1c80c713-9b8d-4ab6-9049-899f7c97296f', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1c80c713-9b8d-4ab6-9049-899f7c97296f', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:05.583686] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:05.589620] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '2edbd822-e593-4b83-8a47-7b90fe923f2e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '2edbd822-e593-4b83-8a47-7b90fe923f2e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:10.589967] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:10.595723] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '02374cf6-d2b7-4bf8-a25a-dfba6c09d0e4', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:10 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '02374cf6-d2b7-4bf8-a25a-dfba6c09d0e4', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:10 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:15.596055] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:15.601223] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3f0ed498-0743-469a-b021-f9616d69bf3d', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:15 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3f0ed498-0743-469a-b021-f9616d69bf3d', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:15 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:20.601487] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:20.606886] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1d2538ce-1fbf-4e40-9f6c-064b1bf49ebe', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:20 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1d2538ce-1fbf-4e40-9f6c-064b1bf49ebe', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:20 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:25.607150] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:25.612285] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3090510b-2238-4ad2-9160-f3a601214d00', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:25 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3090510b-2238-4ad2-9160-f3a601214d00', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:25 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:30.612545] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:30.617667] end - ❌ 0.004s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '9235c027-f86d-446d-8196-a59a55f72bd1', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:30 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '9235c027-f86d-446d-8196-a59a55f72bd1', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:30 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:35.617911] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:35.625153] end - ❌ 0.007s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1e864bbe-c5f8-4adf-be1e-6276d3d1095e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1e864bbe-c5f8-4adf-be1e-6276d3d1095e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:40.625418] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:40.630795] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'c5bbea08-0584-4f0a-94c7-cb8ae6c0cf87', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'c5bbea08-0584-4f0a-94c7-cb8ae6c0cf87', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:45.631195] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:45.636482] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'b79273d5-5028-46b5-b726-f90557f71889', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'b79273d5-5028-46b5-b726-f90557f71889', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:50.636727] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:50.642176] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '695ac6bd-581b-48c5-b4f1-7de053c055d6', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '695ac6bd-581b-48c5-b4f1-7de053c055d6', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:00:55.642451] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:00:55.648153] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '09959cc7-0ef5-497f-89ed-7f257251cd91', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '09959cc7-0ef5-497f-89ed-7f257251cd91', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:00:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:00.648367] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:00.653426] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'bbdf8144-8d72-47d8-b84c-3900d6620e87', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'bbdf8144-8d72-47d8-b84c-3900d6620e87', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:05.653700] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:05.659292] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'b36b7f26-7a66-4ac6-b866-27e42239fee9', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'b36b7f26-7a66-4ac6-b866-27e42239fee9', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:10.659550] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:10.665161] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'becf776b-d90b-4c63-bbdb-1b13f34fa603', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:10 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'becf776b-d90b-4c63-bbdb-1b13f34fa603', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:10 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:15.665552] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:15.671685] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1141e5f5-f636-4085-8c3d-96196f315a65', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:15 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1141e5f5-f636-4085-8c3d-96196f315a65', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:15 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:20.671966] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:20.677565] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '9ba736f2-ded2-4cf8-bd41-6609d376c004', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:20 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '9ba736f2-ded2-4cf8-bd41-6609d376c004', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:20 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:25.677842] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:25.683519] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'dd0ca799-087f-4964-b861-e72c183d15c5', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:25 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'dd0ca799-087f-4964-b861-e72c183d15c5', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:25 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:30.683925] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:30.689247] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'ceae0a8f-79ee-4a4d-b16d-2254b08e761f', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:30 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'ceae0a8f-79ee-4a4d-b16d-2254b08e761f', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:30 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:35.689495] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:35.695126] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '6876af4b-13da-423a-9b10-fe8fe7cc56aa', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '6876af4b-13da-423a-9b10-fe8fe7cc56aa', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:40.695473] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:40.701356] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'aa761aeb-3bdc-4714-8ce9-6f5788ca81e2', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'aa761aeb-3bdc-4714-8ce9-6f5788ca81e2', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:45.701664] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:45.709730] end - ❌ 0.008s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '6c76590b-1cb3-480d-9ed9-fc35b8d3ef58', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '6c76590b-1cb3-480d-9ed9-fc35b8d3ef58', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:50.710099] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:50.715447] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '9026d4da-905f-41f8-8a1e-a511c4257853', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '9026d4da-905f-41f8-8a1e-a511c4257853', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:01:55.715757] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:01:55.720707] end - ❌ 0.004s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '29f03d4a-e95e-4afb-ba19-24acbc176287', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '29f03d4a-e95e-4afb-ba19-24acbc176287', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:01:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:00.720950] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:00.726140] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3df3937f-ca52-402d-acb7-8acb4e7cb77a', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '3df3937f-ca52-402d-acb7-8acb4e7cb77a', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:05.726376] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:05.731382] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '13bfb397-9b19-4fc9-9efc-a8a838d0528b', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '13bfb397-9b19-4fc9-9efc-a8a838d0528b', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:10.731659] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:10.736611] end - ❌ 0.004s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '7b9d7c7c-acae-409c-8cb0-04b94b7be45b', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:10 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '7b9d7c7c-acae-409c-8cb0-04b94b7be45b', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:10 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:15.736848] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:15.742054] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '9eec74b2-0a87-4e29-8346-b9efb5e3841d', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:15 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '9eec74b2-0a87-4e29-8346-b9efb5e3841d', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:15 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:20.742293] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:20.747639] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1c2724aa-ab99-48d4-af9b-32bc5a4f92d3', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:20 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '1c2724aa-ab99-48d4-af9b-32bc5a4f92d3', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:20 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:25.747918] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:25.753581] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '5f57aca6-5be3-4d3a-9ff9-48fafe90cf7e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:25 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '5f57aca6-5be3-4d3a-9ff9-48fafe90cf7e', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:25 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:30.753935] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:30.759761] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'a8164f08-fc71-44bb-bf8c-4741168c71c0', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:30 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'a8164f08-fc71-44bb-bf8c-4741168c71c0', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:30 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:35.760164] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:35.765296] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'af12803a-eafa-4107-b97b-9fede3968afc', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'af12803a-eafa-4107-b97b-9fede3968afc', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:35 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:40.765544] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:40.770900] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '0ba17bf7-8869-4b19-b738-7c5a25bb1f2b', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '0ba17bf7-8869-4b19-b738-7c5a25bb1f2b', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:40 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:45.771321] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:45.777264] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f23848aa-c285-4920-9ad6-3dfc375fbb34', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'f23848aa-c285-4920-9ad6-3dfc375fbb34', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:45 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:50.777657] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:50.783209] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'ebafdeeb-e99d-4bbf-a22c-15dbd2737541', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': 'ebafdeeb-e99d-4bbf-a22c-15dbd2737541', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:50 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:02:55.783452] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:02:55.789155] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '528a7303-f45b-4573-a32f-551e7621ff52', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '528a7303-f45b-4573-a32f-551e7621ff52', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:02:55 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:03:00.789539] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:03:00.795217] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '95b9fe6e-c7d6-45db-abed-987c2635f222', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:03:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '95b9fe6e-c7d6-45db-abed-987c2635f222', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:03:00 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:03:05.795541] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:03:05.801388] end - ❌ 0.005s: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '036778ea-bfd3-4cf4-a25f-267d888c303c', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:03:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:test_llm_inference_service.py:1394 Waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: ❌ Exception when calling CustomObjectsApi->get_namespaced_custom_object for LLMInferenceService: (500) [e2e-llm-inference-service] Reason: Internal Server Error [e2e-llm-inference-service] HTTP response headers: HTTPHeaderDict({'Audit-Id': '036778ea-bfd3-4cf4-a25f-267d888c303c', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'X-Kubernetes-Pf-Flowschema-Uid': 'bf1ac4d7-c8b5-4d92-b632-d2fc8bcbc2e4', 'X-Kubernetes-Pf-Prioritylevel-Uid': '627aedcf-b25c-4f13-adda-af5083c4c269', 'Date': 'Thu, 30 Jul 2026 19:03:05 GMT', 'Content-Length': '330'}) [e2e-llm-inference-service] HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"conversion webhook for serving.kserve.io/v1alpha2, Kind=LLMInferenceService failed: Post \"https://llmisvc-webhook-server-service.kserve.svc:443/convert?timeout=30s\": no endpoints available for service \"llmisvc-webhook-server-service\"","code":500} [e2e-llm-inference-service] [e2e-llm-inference-service] [e2e-llm-inference-service] INFO e2e.llmisvc.logging:logging.py:34 [get_llm_service_url] [2026-07-30T19:03:10.801647] start - args=(, {'api_version': 'serving.kserve.io/v1alpha1', [e2e-llm-inference-service] 'kind': 'LLMInferenceService', [e2e-llm-inference-service] 'metadata': {'annotations': {'security.opendatahub.io/enable-auth': 'false'}, [e2e-llm-inference-service] 'creation_timestamp': None, [e2e-llm-inference-service] 'deletion_grace_period_seconds': None, [e2e-llm-inference-service] 'deletion_timestamp': None, [e2e-llm-inference-service] 'finalizers': None, [e2e-llm-inference-service] 'generate_name': None, [e2e-llm-inference-service] 'generation': None, [e2e-llm-inference-service] 'labels': None, [e2e-llm-inference-service] 'managed_fields': None, [e2e-llm-inference-service] 'name': 'router-with-refs-test', [e2e-llm-inference-service] 'namespace': 'e2e-test-llm-inference-service-028f7809', [e2e-llm-inference-service] 'owner_references': None, [e2e-llm-inference-service] 'resource_version': None, [e2e-llm-inference-service] 'self_link': None, [e2e-llm-inference-service] 'uid': None}, [e2e-llm-inference-service] 'spec': {'baseRefs': [{'name': 'router-with-refs-router-with-re-997af47d'}, [e2e-llm-inference-service] {'name': 'scheduler-managed-router-with-r-6bb62f6a'}, [e2e-llm-inference-service] {'name': 'workload-single-cpu-router-with-ec5d4bfa'}, [e2e-llm-inference-service] {'name': 'model-fb-opt-125m-router-with-r-6d64416a'}]}, [e2e-llm-inference-service] 'status': None}), kwargs={} [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectionResetError(104, 'Connection reset by peer')': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(, 'Connection to a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com timed out. (connect timeout=None)')': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [get_llm_service_url] [2026-07-30T19:09:43.561814] end - ❌ 392.759s: ❌ Failed to get URL for LLM inference service router-with-refs-test: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:1391 Timed out waiting: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [wait_for_model_response] [2026-07-30T19:09:43.562088] end - ❌ 1094.908s: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:test_llm_inference_service.py:903 [router-with-refs-scheduler-managed-workload-single-cpu-model-fb-opt-125m] ❌ ERROR: Failed to call llm inference service router-with-refs-test: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:243 # Diagnostics for 'router-with-refs-test' in 'e2e-test-llm-inference-service-028f7809' [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:244 --- [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:247 # LLMInferenceService router-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:258 # failed to dump LLMInferenceService: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/events [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/events [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/events [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:91 # ❌ failed to list events: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/events (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] INFO e2e.llmisvc.logging:diagnostic.py:162 # failed to list pods: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/configmaps?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/configmaps?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/configmaps?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/endpoints?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/endpoints?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/endpoints?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/events?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/events?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/events?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/limitranges?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/limitranges?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/limitranges?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/persistentvolumeclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/persistentvolumeclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/persistentvolumeclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/podtemplates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/podtemplates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/podtemplates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/replicationcontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/replicationcontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/replicationcontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourcequotas?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourcequotas?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourcequotas?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/serviceaccounts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/serviceaccounts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/serviceaccounts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/services?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/services?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /api/v1/namespaces/e2e-test-llm-inference-service-028f7809/services?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/controllerrevisions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/controllerrevisions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/controllerrevisions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/daemonsets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/daemonsets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/daemonsets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/deployments?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/deployments?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/deployments?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/replicasets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/replicasets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/replicasets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/statefulsets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/statefulsets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps/v1/namespaces/e2e-test-llm-inference-service-028f7809/statefulsets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/events.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/events?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/events.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/events?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/events.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/events?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/autoscaling/v2/namespaces/e2e-test-llm-inference-service-028f7809/horizontalpodautoscalers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/autoscaling/v2/namespaces/e2e-test-llm-inference-service-028f7809/horizontalpodautoscalers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/autoscaling/v2/namespaces/e2e-test-llm-inference-service-028f7809/horizontalpodautoscalers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/autoscaling/v1/namespaces/e2e-test-llm-inference-service-028f7809/horizontalpodautoscalers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/autoscaling/v1/namespaces/e2e-test-llm-inference-service-028f7809/horizontalpodautoscalers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/autoscaling/v1/namespaces/e2e-test-llm-inference-service-028f7809/horizontalpodautoscalers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/batch/v1/namespaces/e2e-test-llm-inference-service-028f7809/cronjobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/batch/v1/namespaces/e2e-test-llm-inference-service-028f7809/cronjobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/batch/v1/namespaces/e2e-test-llm-inference-service-028f7809/cronjobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/batch/v1/namespaces/e2e-test-llm-inference-service-028f7809/jobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/batch/v1/namespaces/e2e-test-llm-inference-service-028f7809/jobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/batch/v1/namespaces/e2e-test-llm-inference-service-028f7809/jobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ingresses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ingresses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ingresses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/networkpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/networkpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/networkpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/policy/v1/namespaces/e2e-test-llm-inference-service-028f7809/poddisruptionbudgets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/policy/v1/namespaces/e2e-test-llm-inference-service-028f7809/poddisruptionbudgets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/policy/v1/namespaces/e2e-test-llm-inference-service-028f7809/poddisruptionbudgets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/rbac.authorization.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindings?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/rbac.authorization.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindings?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/rbac.authorization.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindings?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/rbac.authorization.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/roles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/rbac.authorization.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/roles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/rbac.authorization.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/roles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/storage.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/csistoragecapacities?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/storage.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/csistoragecapacities?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/storage.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/csistoragecapacities?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/coordination.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/leases?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/coordination.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/leases?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/coordination.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/leases?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/discovery.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/endpointslices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/discovery.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/endpointslices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/discovery.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/endpointslices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/resource.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourceclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/resource.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourceclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/resource.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourceclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/resource.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourceclaimtemplates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/resource.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourceclaimtemplates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/resource.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/resourceclaimtemplates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/deploymentconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/deploymentconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/apps.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/deploymentconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindingrestrictions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindingrestrictions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindingrestrictions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindings?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindings?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/rolebindings?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/roles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/roles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorization.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/roles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/build.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/buildconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/build.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/buildconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/build.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/buildconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/build.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/builds?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/build.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/builds?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/build.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/builds?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagestreams?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagestreams?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagestreams?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagestreamtags?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagestreamtags?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagestreamtags?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagetags?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagetags?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/image.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagetags?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/quota.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/appliedclusterresourcequotas?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/quota.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/appliedclusterresourcequotas?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/quota.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/appliedclusterresourcequotas?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/route.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/routes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/route.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/routes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/route.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/routes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/template.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/templates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/template.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/templates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/template.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/templates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/template.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/templateinstances?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/template.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/templateinstances?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/template.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/templateinstances?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/packages.operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/packagemanifests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/packages.operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/packagemanifests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/packages.operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/packagemanifests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/config.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagepolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/config.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagepolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/config.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/imagepolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ingresscontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ingresscontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ingresscontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.openshift.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/istiocsrs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.openshift.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/istiocsrs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.openshift.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/istiocsrs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/acme.cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/orders?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/acme.cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/orders?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/acme.cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/orders?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/acme.cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/challenges?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/acme.cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/challenges?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/acme.cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/challenges?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/certificates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/certificates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/certificates?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/issuers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/issuers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/issuers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/certificaterequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/certificaterequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cert-manager.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/certificaterequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cloudcredential.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/credentialsrequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cloudcredential.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/credentialsrequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/cloudcredential.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/credentialsrequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/httproutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/httproutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/httproutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/grpcroutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/grpcroutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/grpcroutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/httproutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/httproutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/httproutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/referencegrants?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/referencegrants?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/gateway.networking.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/referencegrants?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/inference.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/inferencepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/inference.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/inferencepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/inference.networking.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/inferencepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/ingress.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/dnsrecords?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/ingress.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/dnsrecords?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/ingress.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/dnsrecords?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.cni.cncf.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/network-attachment-definitions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.cni.cncf.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/network-attachment-definitions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.cni.cncf.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/network-attachment-definitions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/ipamclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/ipamclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/ipamclaims?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressfirewalls?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressfirewalls?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressfirewalls?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/userdefinednetworks?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/userdefinednetworks?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/userdefinednetworks?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressqoses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressqoses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/k8s.ovn.org/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressqoses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/dnspolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/dnspolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/dnspolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/tlspolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/tlspolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/tlspolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ratelimitpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ratelimitpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/ratelimitpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/authpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/authpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/authpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/kuadrants?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/kuadrants?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/kuadrants?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/dnshealthcheckprobes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/dnshealthcheckprobes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/dnshealthcheckprobes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/tokenratelimitpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/tokenratelimitpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/tokenratelimitpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/dnsrecords?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/dnsrecords?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/dnsrecords?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/leaderworkerset.x-k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/leaderworkersets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/leaderworkerset.x-k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/leaderworkersets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/leaderworkerset.x-k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/leaderworkersets?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/probes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/probes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/probes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/podmonitors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/podmonitors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/podmonitors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/prometheusrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/prometheusrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/prometheusrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/servicemonitors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/servicemonitors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/servicemonitors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/thanosrulers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/thanosrulers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/thanosrulers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/prometheuses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/prometheuses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/prometheuses?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagerconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagerconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagerconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagerconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagerconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/alertmanagerconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertrelabelconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertrelabelconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertrelabelconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertingrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertingrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/monitoring.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/alertingrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/network.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorpkis?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/network.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorpkis?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/network.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorpkis?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/network.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressrouters?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/network.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressrouters?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/network.operator.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/egressrouters?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/proxyconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/proxyconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/proxyconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/envoyfilters?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/envoyfilters?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/envoyfilters?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/destinationrules?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/workloadgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/workloadentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/gateways?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/sidecars?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/serviceentries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/networking.istio.io/v1alpha3/namespaces/e2e-test-llm-inference-service-028f7809/virtualservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/nim.opendatahub.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/accounts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/nim.opendatahub.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/accounts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/nim.opendatahub.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/accounts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v2/namespaces/e2e-test-llm-inference-service-028f7809/operatorconditions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v2/namespaces/e2e-test-llm-inference-service-028f7809/operatorconditions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v2/namespaces/e2e-test-llm-inference-service-028f7809/operatorconditions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorconditions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorconditions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorconditions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1/namespaces/e2e-test-llm-inference-service-028f7809/operatorgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/operatorgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/operatorgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/operatorgroups?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/catalogsources?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/catalogsources?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/catalogsources?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/installplans?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/installplans?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/installplans?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/clusterserviceversions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/clusterserviceversions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/clusterserviceversions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/subscriptions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/subscriptions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operators.coreos.com/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/subscriptions?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/peerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/peerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/peerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/requestauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/requestauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/requestauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/authorizationpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/authorizationpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/authorizationpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/authorizationpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/authorizationpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/authorizationpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/peerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/peerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/peerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/requestauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/requestauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/security.istio.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/requestauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/snapshot.storage.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/volumesnapshots?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/snapshot.storage.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/volumesnapshots?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/snapshot.storage.k8s.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/volumesnapshots?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/telemetry.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/telemetries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/telemetry.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/telemetries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/telemetry.istio.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/telemetries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/telemetry.istio.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/telemetries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/telemetry.istio.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/telemetries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/telemetry.istio.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/telemetries?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/tuned.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/profiles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/tuned.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/profiles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/tuned.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/profiles?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/tuned.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/tuneds?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/tuned.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/tuneds?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/tuned.openshift.io/v1/namespaces/e2e-test-llm-inference-service-028f7809/tuneds?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/podnetworkconnectivitychecks?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/podnetworkconnectivitychecks?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/controlplane.operator.openshift.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/podnetworkconnectivitychecks?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeyrequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeyrequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeyrequests?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeys?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeys?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeys?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apiproducts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apiproducts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apiproducts?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeyapprovals?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeyapprovals?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/devportal.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/apikeyapprovals?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/eventing.keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/cloudeventsources?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/eventing.keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/cloudeventsources?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/eventing.keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/cloudeventsources?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.istio.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/wasmplugins?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.istio.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/wasmplugins?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.istio.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/wasmplugins?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/planpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/planpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/planpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/telemetrypolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/telemetrypolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/telemetrypolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/oidcpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/oidcpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/extensions.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/oidcpolicies?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/http.keda.sh/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/interceptorroutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/http.keda.sh/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/interceptorroutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/http.keda.sh/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/interceptorroutes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/http.keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/httpscaledobjects?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/http.keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/httpscaledobjects?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/http.keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/httpscaledobjects?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/scaledobjects?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/scaledobjects?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/scaledobjects?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/triggerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/triggerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/triggerauthentications?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/scaledjobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/scaledjobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/scaledjobs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/kedacontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/kedacontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/keda.sh/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/kedacontrollers?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/limitador.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/limitadors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/limitador.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/limitadors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/limitador.kuadrant.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/limitadors?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/inferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/inferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/inferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceserviceconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceserviceconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceserviceconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/inferencegraphs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/inferencegraphs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/inferencegraphs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceserviceconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceserviceconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceserviceconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/servingruntimes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/servingruntimes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/servingruntimes?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/trainedmodels?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/trainedmodels?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/trainedmodels?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/overlappingrangeipreservations?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/overlappingrangeipreservations?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/overlappingrangeipreservations?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/nodeslicepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/nodeslicepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/nodeslicepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/ippools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/ippools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/whereabouts.cni.cncf.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/ippools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/inference.networking.x-k8s.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferencepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/inference.networking.x-k8s.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferencepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/inference.networking.x-k8s.io/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferencepools?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/llm-d.ai/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferenceobjectives?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/llm-d.ai/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferenceobjectives?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/llm-d.ai/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferenceobjectives?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/llm-d.ai/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferencemodelrewrites?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/llm-d.ai/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferencemodelrewrites?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/llm-d.ai/v1alpha2/namespaces/e2e-test-llm-inference-service-028f7809/inferencemodelrewrites?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/helm.openshift.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/projecthelmchartrepositories?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/helm.openshift.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/projecthelmchartrepositories?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/helm.openshift.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/projecthelmchartrepositories?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.authorino.kuadrant.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/authorinos?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.authorino.kuadrant.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/authorinos?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/operator.authorino.kuadrant.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/authorinos?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorino.kuadrant.io/v1beta3/namespaces/e2e-test-llm-inference-service-028f7809/authconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorino.kuadrant.io/v1beta3/namespaces/e2e-test-llm-inference-service-028f7809/authconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/authorino.kuadrant.io/v1beta3/namespaces/e2e-test-llm-inference-service-028f7809/authconfigs?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/metrics.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/metrics.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] WARNING urllib3.connectionpool:connectionpool.py:869 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")': /apis/metrics.k8s.io/v1beta1/namespaces/e2e-test-llm-inference-service-028f7809/pods?labelSelector=app.kubernetes.io%2Fpart-of%3Dllminferenceservice%2Capp.kubernetes.io%2Fname%3Drouter-with-refs-test [e2e-llm-inference-service] ERROR e2e.llmisvc.logging:logging.py:48 [test_llm_inference_service] [2026-07-30T19:09:47.064625] end - ❌ 1246.775s: ❌ Failed to get service URL: ❌ Failed to get URL for LLM inference service router-with-refs-test: HTTPSConnectionPool(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Max retries exceeded with url: /apis/serving.kserve.io/v1alpha1/namespaces/e2e-test-llm-inference-service-028f7809/llminferenceservices/router-with-refs-test (Caused by NameResolutionError("HTTPSConnection(host='a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com', port=6443): Failed to resolve 'a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com' ([Errno -2] Name or service not known)")) [e2e-llm-inference-service] ---------------------------- Captured log teardown ----------------------------- [e2e-llm-inference-service] INFO e2e.llmisvc.conftest:conftest.py:168 Skipping deletion of namespace e2e-test-llm-inference-service-028f7809 (SKIP_DELETION_ON_FAILURE) [e2e-llm-inference-service] =============================== warnings summary =============================== [e2e-llm-inference-service] llmisvc/test_flow_control.py::test_flow_control_smoke[cluster_cpu-cluster_single_node-flow-control-utilization-detector] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-no-scheduler-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] /workspace/source/python/kserve/.venv/lib64/python3.11/site-packages/pytest_asyncio/plugin.py:761: DeprecationWarning: The event_loop fixture provided by pytest-asyncio has been redefined in [e2e-llm-inference-service] /workspace/source/test/e2e/conftest.py:43 [e2e-llm-inference-service] Replacing the event_loop fixture with a custom implementation is deprecated [e2e-llm-inference-service] and will lead to errors in the future. [e2e-llm-inference-service] If you want to request an asyncio event loop with a scope other than function [e2e-llm-inference-service] scope, use the "scope" argument to the asyncio mark when marking the tests. [e2e-llm-inference-service] If you want to return different types of event loops, use the event_loop_policy [e2e-llm-inference-service] fixture. [e2e-llm-inference-service] [e2e-llm-inference-service] warnings.warn( [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_flow_control.py::test_flow_control_smoke[cluster_cpu-cluster_single_node-flow-control-utilization-detector] [e2e-llm-inference-service] llmisvc/test_flow_control.py:47: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_flow_control.py::test_flow_control_smoke[cluster_cpu-cluster_single_node-flow-control-concurrency-detector] [e2e-llm-inference-service] llmisvc/test_flow_control.py:47: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-no-scheduler-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_multi_node-router-managed-workload-simulated-dp-ep-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-inline-config-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-model-qwen2.5-0.5b] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-configmap-ref-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-replicas-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-custom-template-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-v06-pd-config-migration-workload-llmd-simulator-pd] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-v06-nonzero-threshold-migration-workload-llmd-simulator-pd] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-tokenizer-kvcache-workload-llmd-simulator-kvcache] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-scheduler-with-precise-prefix-cache-inline-config-workload-llmd-simulator-kvcache] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator0] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator1] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator2] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m-with-lora-hf0] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m-with-lora-hf1] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-pvc] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-pd-cpu-model-pvc] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_multi_node-router-managed-workload-simulated-dp-ep-cpu-model-pvc] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service_stop.py::test_llm_stop_feature[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service_stop.py:40: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_tls.py::test_llm_tls_resources[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_tls.py:92: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.llminferenceservice [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-gateway-ref-router-with-managed-route-model-fb-opt-125m-workload-llmd-simulator] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-custom-route-timeout-scheduler-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-refs-scheduler-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] llmisvc/test_llm_inference_service.py:243: PytestWarning: The test is marked with '@pytest.mark.asyncio' but it is not an async function. Please remove the asyncio mark. If the test is not marked explicitly, check for global marks applied via 'pytestmark'. [e2e-llm-inference-service] @pytest.mark.asyncio(loop_scope="session") [e2e-llm-inference-service] [e2e-llm-inference-service] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html [e2e-llm-inference-service] - generated xml file: /workspace/artifacts-dir/junit_e2e-llminferenceservice_and_cluster_cpu_and_not_autoscaling_and_not_tracing.xml - [e2e-llm-inference-service] --------------------------------- JSON report ---------------------------------- [e2e-llm-inference-service] report saved to: /workspace/artifacts-dir/e2e_results-llminferenceservice_and_cluster_cpu_and_not_autoscaling_and_not_tracing.json [e2e-llm-inference-service] =========================== short test summary info ============================ [e2e-llm-inference-service] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_hpa_deployment[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_keda_deployment[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-keda] [e2e-llm-inference-service] FAILED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-pd-cpu-model-pvc] [e2e-llm-inference-service] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_hpa_lws[cluster_cpu-cluster_multi_node-router-managed-workload-llmd-simulator-lws-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_keda_lws[cluster_cpu-cluster_multi_node-router-managed-workload-llmd-simulator-lws-prometheus-scrape-scaling-keda] [e2e-llm-inference-service] FAILED llmisvc/test_llm_autoscaling_wva.py::test_llm_autoscaling_cleanup_hpa[cluster_cpu-cluster_single_node-router-managed-workload-llmd-simulator-no-replicas-prometheus-scrape-scaling-hpa] [e2e-llm-inference-service] FAILED llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-refs-scheduler-managed-workload-single-cpu-model-fb-opt-125m] [e2e-llm-inference-service] ERROR llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] ERROR llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-custom-route-timeout-pd-scheduler-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] ERROR llmisvc/test_llm_inference_service.py::test_llm_inference_service[cluster_cpu-cluster_single_node-router-with-refs-pd-scheduler-managed-workload-pd-cpu-model-fb-opt-125m] [e2e-llm-inference-service] !!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 10 failures !!!!!!!!!!!!!!!!!!!!!!!!!! [e2e-llm-inference-service] !!!!!!!!!!!! xdist.dsession.Interrupted: stopping after 5 failures !!!!!!!!!!!!! [e2e-llm-inference-service] = 7 failed, 52 passed, 3 skipped, 29 warnings, 3 errors in 6983.31s (1:56:23) == [must-gather] [must-gather ] OUT 2026-07-30T19:09:50.369786631Z Using must-gather plug-in image: quay.io/modh/must-gather:rhoai-2.24 [must-gather] When opening a support case, bugzilla, or issue please include the following summary data along with any other requested information: [must-gather] error getting cluster version: Get "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/config.openshift.io/v1/clusterversions/version": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host [must-gather] ClusterID: [must-gather] ClientVersion: 4.21.10 [must-gather] ClusterVersion: Installing "" for : [must-gather] error getting cluster operators: Get "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/config.openshift.io/v1/clusteroperators": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host [must-gather] ClusterOperators: [must-gather] clusteroperators are missing [must-gather] [must-gather] [must-gather] [must-gather] [must-gather] Error running must-gather collection: [must-gather] creating temp namespace: Post "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host [must-gather] [must-gather] Falling back to `oc adm inspect clusterversion.v1.config.openshift.io,clusteroperators.v1.config.openshift.io` to collect basic cluster types. [must-gather] E0730 19:09:50.395602 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.399866 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.405780 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.410806 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.415560 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.422925 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.430824 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.439435 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] error completing cluster type inspection: error running backup collection: Get "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host [must-gather] Falling back to `oc adm inspect namespace/openshift-cluster-version` to collect basic cluster named resources. [must-gather] E0730 19:09:50.448073 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.453179 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.458374 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] E0730 19:09:50.462989 23 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s\": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host" [must-gather] error completing cluster named resource inspection: error running backup collection: Get "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api?timeout=32s": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host [must-gather] [must-gather] [must-gather] Reprinting Cluster State: [must-gather] When opening a support case, bugzilla, or issue please include the following summary data along with any other requested information: [must-gather] error getting cluster version: Get "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/config.openshift.io/v1/clusterversions/version": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host [must-gather] ClusterID: [must-gather] ClientVersion: 4.21.10 [must-gather] ClusterVersion: Installing "" for : [must-gather] error getting cluster operators: Get "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/apis/config.openshift.io/v1/clusteroperators": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host [must-gather] ClusterOperators: [must-gather] clusteroperators are missing [must-gather] [must-gather] [must-gather] error: creating temp namespace: Post "https://a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com:6443/api/v1/namespaces": dial tcp: lookup a3400844a39984b4baf14ef0992f5cf9-5d09deedd00666d5.elb.us-east-1.amazonaws.com on 172.30.0.10:53: no such host [git-push-artifacts] WORK_DIR: /workspace/odh-ci-artifacts [git-push-artifacts] REPO_PATH: opendatahub-io/odh-build-metadata [git-push-artifacts] REPO_BRANCH: ci-artifacts [git-push-artifacts] SPARSE_FILE_PATH: test-artifacts/docs [git-push-artifacts] SOURCE_PATH: /workspace/artifacts-dir [git-push-artifacts] DEST_PATH: test-artifacts/kserve-group-test-xwbt8 [git-push-artifacts] ALWAYS_PASS: false [git-push-artifacts] configuring gh token [git-push-artifacts] taking github token from Konflux bot [git-push-artifacts] Initialized empty Git repository in /workspace/odh-ci-artifacts/.git/ [git-push-artifacts] Using partial fetch with sparse checkout for: test-artifacts/docs [git-push-artifacts] From https://github.com/opendatahub-io/odh-build-metadata [git-push-artifacts] * branch ci-artifacts -> FETCH_HEAD [git-push-artifacts] * [new branch] ci-artifacts -> origin/ci-artifacts [git-push-artifacts] Already on 'ci-artifacts' [git-push-artifacts] branch 'ci-artifacts' set up to track 'origin/ci-artifacts'. [git-push-artifacts] TASK_NAME=kserve-group-test-xwbt8-e2e-llm-inference-service [git-push-artifacts] PIPELINERUN_NAME=kserve-group-test-xwbt8 [git-push-artifacts] From https://github.com/opendatahub-io/odh-build-metadata [git-push-artifacts] * branch ci-artifacts -> FETCH_HEAD [git-push-artifacts] Already up to date. [git-push-artifacts] -rw-r--r--. 1 root 1001540000 178174 Jul 30 19:09 /workspace/odh-ci-artifacts/test-artifacts/kserve-group-test-xwbt8/e2e-llm-inference-service.tar.gz [git-push-artifacts] [ci-artifacts 4438375] Updating CI Artifacts in e2e-llm-inference-service [git-push-artifacts] 1 file changed, 0 insertions(+), 0 deletions(-) [git-push-artifacts] create mode 100644 test-artifacts/kserve-group-test-xwbt8/e2e-llm-inference-service.tar.gz [git-push-artifacts] From https://github.com/opendatahub-io/odh-build-metadata [git-push-artifacts] * branch ci-artifacts -> FETCH_HEAD [git-push-artifacts] Already up to date. [git-push-artifacts] To https://github.com/opendatahub-io/odh-build-metadata.git [git-push-artifacts] 09d2343..4438375 ci-artifacts -> ci-artifacts [fail-if-needed] Failing pipeline because deploy-and-e2e step failed container step-fail-if-needed has failed : [{"key":"StartedAt","value":"2026-07-30T19:10:04.810Z","type":3}]