diff --git a/charts/sglang/Chart.yaml b/charts/sglang/Chart.yaml index 31035b4..f5ec047 100644 --- a/charts/sglang/Chart.yaml +++ b/charts/sglang/Chart.yaml @@ -5,7 +5,7 @@ home: https://github.com/modelsphere/helm-charts sources: - https://github.com/modelsphere/helm-charts type: application -version: 0.9.18 +version: 0.9.19 appVersion: "1.0.0" # CART is vendored under charts/cart -- already present, so no `helm dependency diff --git a/charts/sglang/templates/pd-ds.yaml b/charts/sglang/templates/pd-ds.yaml index 715e7fa..0c8e112 100644 --- a/charts/sglang/templates/pd-ds.yaml +++ b/charts/sglang/templates/pd-ds.yaml @@ -269,7 +269,13 @@ spec: HW_PORT={{ ternary (int $root.Values.hangWatcher.port) 0 $root.Values.hangWatcher.enabled }} probe_identity() { local ip=$1 budget=${2:-5400} waited=0 - [ "$HW_PORT" -eq 0 ] && { echo '|'; return 0; } + # The function returns the tuple on stdout; all breadcrumb logs + # go to stderr so they land in the container log instead of + # polluting the captured return value. + [ "$HW_PORT" -eq 0 ] && { + echo "router: $ip identity sentinel (hangWatcher disabled at render)" >&2 + echo '|'; return 0 + } while :; do local out # python3 heredoc: body and terminator sit at the block scalar's @@ -294,7 +300,14 @@ spec: PY ) local rrc=$? - if [ $rrc -eq 0 ]; then echo "$out"; return 0; fi + if [ $rrc -eq 0 ]; then + if [ "$out" = '|' ]; then + echo "router: $ip identity sentinel (sidecar has no /engine)" >&2 + else + echo "router: $ip identity $out" >&2 + fi + echo "$out"; return 0 + fi if [ $waited -ge $budget ]; then echo "router: $ip identity probe gave no usable answer after ${budget}s; recording ip||" >&2 echo '|'; return 0 @@ -315,6 +328,7 @@ spec: } write_role_snapshot prefill "$PF_IPS" write_role_snapshot decode "$DC_IPS" + echo "router: boot script done, exec into router" >&2 # shellcheck disable=SC2086 exec python3 -m sglang_router.launch_router \ --pd-disaggregation \ diff --git a/charts/vllm/Chart.yaml b/charts/vllm/Chart.yaml index f40eb8d..ac608cc 100644 --- a/charts/vllm/Chart.yaml +++ b/charts/vllm/Chart.yaml @@ -5,7 +5,7 @@ home: https://github.com/modelsphere/helm-charts sources: - https://github.com/modelsphere/helm-charts type: application -version: 0.8.17 +version: 0.8.18 appVersion: "1.0.0" # CART is vendored under charts/cart -- already present, so no `helm dependency diff --git a/charts/vllm/templates/pd-ds.yaml b/charts/vllm/templates/pd-ds.yaml index cd0c8dd..59ea7f7 100644 --- a/charts/vllm/templates/pd-ds.yaml +++ b/charts/vllm/templates/pd-ds.yaml @@ -318,7 +318,13 @@ spec: HW_PORT={{ ternary (int $root.Values.hangWatcher.port) 0 $root.Values.hangWatcher.enabled }} probe_identity() { local ip=$1 budget=${2:-5400} waited=0 - [ "$HW_PORT" -eq 0 ] && { echo '|'; return 0; } + # The function returns the tuple on stdout; all breadcrumb logs + # go to stderr so they land in the container log instead of + # polluting the captured return value. + [ "$HW_PORT" -eq 0 ] && { + echo "router: $ip identity sentinel (hangWatcher disabled at render)" >&2 + echo '|'; return 0 + } while :; do local out # python3 heredoc: body and terminator sit at the block scalar's @@ -343,7 +349,14 @@ spec: PY ) local rrc=$? - if [ $rrc -eq 0 ]; then echo "$out"; return 0; fi + if [ $rrc -eq 0 ]; then + if [ "$out" = '|' ]; then + echo "router: $ip identity sentinel (sidecar has no /engine)" >&2 + else + echo "router: $ip identity $out" >&2 + fi + echo "$out"; return 0 + fi if [ $waited -ge $budget ]; then echo "router: $ip identity probe gave no usable answer after ${budget}s; recording ip||" >&2 echo '|'; return 0 @@ -364,6 +377,7 @@ spec: } write_role_snapshot prefill "$PF_IPS" write_role_snapshot decode "$DC_IPS" + echo "router: boot script done, exec into router" >&2 # shellcheck disable=SC2086 exec vllm-router \ --vllm-pd-disaggregation \