Skip to content

Commit abba7a5

Browse files
committed
review - use VLLM_RENDER_URL env variable, placeholder for hf token
Signed-off-by: Maya Barnea <mayab@il.ibm.com>
1 parent f5b1b85 commit abba7a5

11 files changed

Lines changed: 41 additions & 24 deletions

File tree

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ export VLLM_IMAGE ?= $(VLLM_SIMULATOR_TAG_BASE):$(VLLM_SIMULATOR_TAG)
4040
# CPU-only vLLM image that exposes `vllm launch render` for the token-producer
4141
# plugin's HTTP backend.
4242
export VLLM_RENDER_IMAGE ?= vllm/vllm-openai-cpu:v0.21.0
43+
export VLLM_RENDER_PORT ?= 8082
44+
export VLLM_RENDER_URL ?= http://vllm-render:$(VLLM_RENDER_PORT)
4345

4446
BUILDER_TAG ?= dev
4547
BUILDER_TAG_BASE ?= $(IMAGE_REGISTRY)/$(BUILDER_IMAGE_NAME)

deploy/components/vllm-decode/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ spec:
6767
- "--port=8200"
6868
- "--model=${MODEL_NAME}"
6969
- "--data-parallel-size=${VLLM_DATA_PARALLEL_SIZE}"
70-
- "--render-url=http://vllm-render:8082"
70+
- "--render-url=${VLLM_RENDER_URL}"
7171
- "${VLLM_EXTRA_ARGS_D}"
7272
ports:
7373
- name: http

deploy/components/vllm-encode/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ spec:
3030
- "--data-parallel-size=${VLLM_DATA_PARALLEL_SIZE}"
3131
- "--no-enable-prefix-caching"
3232
- "--mm-encoder-only"
33-
- "--render-url=http://vllm-render:8082"
33+
- "--render-url=${VLLM_RENDER_URL}"
3434
- "${VLLM_EXTRA_ARGS_E}"
3535
ports:
3636
- name: encode-http

deploy/components/vllm-prefill/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ spec:
2828
- "--model=${MODEL_NAME}"
2929
- "--port=8000"
3030
- "--data-parallel-size=${VLLM_DATA_PARALLEL_SIZE}"
31-
- "--render-url=http://vllm-render:8082"
31+
- "--render-url=${VLLM_RENDER_URL}"
3232
- "${VLLM_EXTRA_ARGS_P}"
3333
ports:
3434
- name: prefill-http

deploy/environments/dev/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ Variables substituted at deploy time via `envsubst` or Go test `substituteMany`:
7070
| `VLLM_IMAGE` | vLLM container image (simulator or real) | `ghcr.io/llm-d/llm-d-inference-sim:v0.9.2` |
7171
| `SIDECAR_IMAGE` | Routing sidecar image | `ghcr.io/llm-d/llm-d-router-disagg-sidecar:dev` |
7272
| `VLLM_RENDER_IMAGE` | vLLM render sidecar image | `vllm/vllm-openai-cpu:v0.21.0` |
73+
| `VLLM_RENDER_PORT` | Port the vllm-render Service listens on | `8082` |
74+
| `VLLM_RENDER_URL` | URL of the vllm-render Service used by decode/encode/prefill pods | `http://vllm-render:${VLLM_RENDER_PORT}` |
7375
| `MODEL_NAME` | Model name passed to vLLM. Can be a real HuggingFace model (e.g. `TinyLlama/TinyLlama-1.1B-Chat-v1.0`, `Qwen/Qwen3-VL-2B-Instruct`) or an arbitrary name when using the simulator (e.g. `food-review`) | `food-review` |
7476
| `POOL_NAME` | InferencePool name | `food-review-inference-pool` |
7577
| `VLLM_REPLICA_COUNT_E` | Encode deployment replicas | `1` |

deploy/environments/dev/base-kind-istio/vllm-render.yaml

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,43 @@ spec:
1919
image: ${VLLM_RENDER_IMAGE}
2020
imagePullPolicy: IfNotPresent
2121
command: ["vllm", "launch", "render"]
22-
args: ["${MODEL_NAME}", "--port=8082"]
22+
args: ["${MODEL_NAME}", "--port=${VLLM_RENDER_PORT}"]
23+
# For gated models, inject HF_TOKEN via a Secret reference:
24+
# env:
25+
# - name: HF_TOKEN
26+
# valueFrom:
27+
# secretKeyRef:
28+
# name: hf-token
29+
# key: token
2330
ports:
2431
- name: render-http
25-
containerPort: 8082
32+
containerPort: ${VLLM_RENDER_PORT}
2633
startupProbe:
2734
httpGet:
2835
path: /health
29-
port: 8082
36+
port: ${VLLM_RENDER_PORT}
3037
initialDelaySeconds: 2
3138
periodSeconds: 1
3239
failureThreshold: 600
3340
timeoutSeconds: 1
3441
livenessProbe:
3542
httpGet:
3643
path: /health
37-
port: 8082
44+
port: ${VLLM_RENDER_PORT}
3845
periodSeconds: 10
3946
failureThreshold: 5
4047
timeoutSeconds: 1
4148
readinessProbe:
4249
httpGet:
4350
path: /health
44-
port: 8082
51+
port: ${VLLM_RENDER_PORT}
4552
periodSeconds: 5
4653
failureThreshold: 1
4754
timeoutSeconds: 1
4855
volumeMounts:
4956
- name: model-cache
5057
mountPath: /root/.cache/huggingface
51-
volumes:
58+
volumes:
5259
- name: model-cache
5360
emptyDir: {}
5461
---
@@ -64,6 +71,6 @@ spec:
6471
ports:
6572
- name: http
6673
protocol: TCP
67-
port: 8082
68-
targetPort: 8082
74+
port: ${VLLM_RENDER_PORT}
75+
targetPort: ${VLLM_RENDER_PORT}
6976
type: ClusterIP

deploy/environments/dev/e2e-infra/vllm-render.yaml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,35 +20,34 @@ spec:
2020
imagePullPolicy: IfNotPresent
2121
args:
2222
- "--model=${MODEL_NAME}"
23-
- "--port=8082"
23+
- "--port=${VLLM_RENDER_PORT}"
2424
- "--mode=echo"
2525
- "--force-dummy-tokenizer"
2626
ports:
2727
- name: http
28-
containerPort: 8082
28+
containerPort: ${VLLM_RENDER_PORT}
2929
startupProbe:
3030
httpGet:
3131
path: /health
32-
port: 8082
32+
port: ${VLLM_RENDER_PORT}
3333
initialDelaySeconds: 2
3434
periodSeconds: 1
3535
failureThreshold: 600
3636
timeoutSeconds: 1
3737
livenessProbe:
3838
httpGet:
3939
path: /health
40-
port: 8082
40+
port: ${VLLM_RENDER_PORT}
4141
periodSeconds: 10
4242
failureThreshold: 5
4343
timeoutSeconds: 1
4444
readinessProbe:
4545
httpGet:
4646
path: /health
47-
port: 8082
47+
port: ${VLLM_RENDER_PORT}
4848
periodSeconds: 5
4949
failureThreshold: 1
5050
timeoutSeconds: 1
51-
volumes: []
5251
---
5352
apiVersion: v1
5453
kind: Service
@@ -62,6 +61,6 @@ spec:
6261
ports:
6362
- name: http
6463
protocol: TCP
65-
port: 8082
66-
targetPort: 8082
64+
port: ${VLLM_RENDER_PORT}
65+
targetPort: ${VLLM_RENDER_PORT}
6766
type: ClusterIP

deploy/environments/dev/epd/patch-decode.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ spec:
2222
- "--block-size=16"
2323
- "--data-parallel-size=${VLLM_DATA_PARALLEL_SIZE}"
2424
- "--zmq-endpoint=tcp://${EPP_NAME}.${NAMESPACE}.svc.cluster.local:5557"
25-
- "--render-url=http://vllm-render:8082"
25+
- "--render-url=${VLLM_RENDER_URL}"
2626
- "${VLLM_EXTRA_ARGS_D}"
2727
ports:
2828
- $patch: replace

scripts/kind-dev-env.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ export SIDECAR_IMAGE
6565
# Set a default VLLM_RENDER_IMAGE if not provided (CPU-only vLLM image that
6666
# runs `vllm launch render` for the token-producer plugin's HTTP backend).
6767
export VLLM_RENDER_IMAGE="${VLLM_RENDER_IMAGE:-vllm/vllm-openai-cpu:v0.21.0}"
68+
export VLLM_RENDER_PORT="${VLLM_RENDER_PORT:-8082}"
69+
export VLLM_RENDER_URL="${VLLM_RENDER_URL:-http://vllm-render:${VLLM_RENDER_PORT}}"
6870

6971
# Set the inference pool name for the deployment
7072
export POOL_NAME="${POOL_NAME:-${MODEL_NAME_SAFE}-inference-pool}"
@@ -385,14 +387,14 @@ kubectl --context ${KUBE_CONTEXT} create configmap epp-config --from-file=epp-co
385387
# Deploy Istio base (shared infrastructure)
386388
kubectl kustomize --enable-helm deploy/environments/dev/base-kind-istio \
387389
| envsubst '${POOL_NAME} ${MODEL_NAME} ${MODEL_NAME_SAFE} ${EPP_NAME} ${EPP_IMAGE} ${VLLM_IMAGE} \
388-
${SIDECAR_IMAGE} ${VLLM_RENDER_IMAGE} ${TARGET_PORTS} ${NAMESPACE} ${METRICS_ENDPOINT_AUTH} \
390+
${SIDECAR_IMAGE} ${VLLM_RENDER_IMAGE} ${VLLM_RENDER_PORT} ${VLLM_RENDER_URL} ${TARGET_PORTS} ${NAMESPACE} ${METRICS_ENDPOINT_AUTH} \
389391
${VLLM_REPLICA_COUNT_E} ${VLLM_REPLICA_COUNT_P} ${VLLM_REPLICA_COUNT_D} ${VLLM_DATA_PARALLEL_SIZE}' \
390392
| kubectl --context ${KUBE_CONTEXT} apply -f -
391393

392394
# Deploy scenario-specific vLLM components
393395
kubectl kustomize --enable-helm ${KUSTOMIZE_DIR} \
394396
| envsubst '${POOL_NAME} ${MODEL_NAME} ${MODEL_NAME_SAFE} ${EPP_NAME} ${EPP_IMAGE} ${VLLM_IMAGE} \
395-
${SIDECAR_IMAGE} ${VLLM_RENDER_IMAGE} ${TARGET_PORTS} ${NAMESPACE} \
397+
${SIDECAR_IMAGE} ${VLLM_RENDER_IMAGE} ${VLLM_RENDER_PORT} ${VLLM_RENDER_URL} ${TARGET_PORTS} ${NAMESPACE} \
396398
${VLLM_REPLICA_COUNT_E} ${VLLM_REPLICA_COUNT_P} ${VLLM_REPLICA_COUNT_D} ${VLLM_DATA_PARALLEL_SIZE} \
397399
${KV_CONNECTOR_TYPE} ${EC_CONNECTOR_TYPE} ${CONNECTOR_TYPE} ${KV_CACHE_ENABLED} ${HF_TOKEN} ${VLLM_SIM_MODE} \
398400
${DECODE_ROLE} ${VLLM_EXTRA_ARGS_E} ${VLLM_EXTRA_ARGS_P} ${VLLM_EXTRA_ARGS_D}' \

test/e2e/e2e_suite_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ const (
6060
metricsTestLabel = "Metrics"
6161
deprecatedPDTestLabel = "DeprecatedPD"
6262
disaggTestLabel = "Disagg"
63+
64+
// images
65+
simulatorImg = "ghcr.io/llm-d/llm-d-inference-sim:v0.9.2"
6366
)
6467

6568
var (
@@ -74,9 +77,10 @@ var (
7477

7578
containerRuntime = env.GetEnvString("CONTAINER_RUNTIME", "docker", ginkgo.GinkgoLogr)
7679
eppImage = env.GetEnvString("EPP_IMAGE", "ghcr.io/llm-d/llm-d-router-endpoint-picker:dev", ginkgo.GinkgoLogr)
77-
vllmSimImage = env.GetEnvString("VLLM_IMAGE", "ghcr.io/llm-d/llm-d-inference-sim:v0.9.2", ginkgo.GinkgoLogr)
80+
vllmSimImage = env.GetEnvString("VLLM_IMAGE", simulatorImg, ginkgo.GinkgoLogr)
7881
sideCarImage = env.GetEnvString("SIDECAR_IMAGE", "ghcr.io/llm-d/llm-d-router-disagg-sidecar:dev", ginkgo.GinkgoLogr)
79-
vllmRenderImage = env.GetEnvString("VLLM_RENDER_IMAGE", "ghcr.io/llm-d/llm-d-inference-sim:v0.9.2", ginkgo.GinkgoLogr)
82+
vllmRenderImage = env.GetEnvString("VLLM_RENDER_IMAGE", simulatorImg, ginkgo.GinkgoLogr)
83+
vllmRenderPort = env.GetEnvString("VLLM_RENDER_PORT", "8082", ginkgo.GinkgoLogr)
8084
loadRenderImage = env.GetEnvBool("LOAD_VLLM_RENDER_IMAGE", true, ginkgo.GinkgoLogr)
8185
// nsName is the namespace in which the K8S objects will be created
8286
nsName = env.GetEnvString("NAMESPACE", "default", ginkgo.GinkgoLogr)

0 commit comments

Comments
 (0)