fix(launch): pass per-variant URL + CONTAINER to verify-full.sh (#20)

AlexCPU's report: launch.sh selected the dual variant correctly,
switch.sh booted the stack on port 8010 with container
'vllm-qwen36-27b-dual', then ran verify-full.sh without passing URL
or CONTAINER. verify-full fell back to defaults (URL=
http://localhost:8020, CONTAINER=vllm-qwen36-27b) and reported 6/8
checks failed because it was hitting the wrong endpoint.

Fix: move the port-resolution block above the verify call, add a
per-variant container-name mapping mirroring the port mapping, and
pass URL + CONTAINER through to bash $VERIFY. Also surfaces the
resolved values in the launcher output so users can see what the
verify run is actually targeting.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
noonghunna
2026-05-01 12:57:09 +00:00
parent cc4f0835e6
commit 77ca5767f5

View File

@@ -198,24 +198,9 @@ echo "[launch] selected variant: ${VARIANT}"
echo ""
"$SWITCH" "$VARIANT"
if [[ $SKIP_VERIFY -eq 1 ]]; then
echo "[launch] --no-verify — skipping verify-full.sh"
else
echo ""
echo "[launch] running verify-full.sh against the new server..."
echo ""
bash "$VERIFY" || {
echo ""
echo "[launch] some checks failed — see hints above. Common cases:"
echo " - 'reasoning field empty' on llama.cpp = expected (parser gap, not a bug)"
echo " - 'Genesis patches' / 'MTP acceptance' skipped on llama.cpp = expected (vLLM-only checks)"
exit 1
}
fi
# Resolve the actual endpoint port the same way switch.sh does:
# explicit $PORT > per-variant default. Mirrors VARIANT_DEFAULT_PORT in
# switch.sh — keep in sync if you add a new variant.
# Resolve the actual endpoint port + container name the same way switch.sh
# does: explicit $PORT / $CONTAINER > per-variant default. Mirrors
# VARIANT_DEFAULT_PORT in switch.sh — keep in sync if you add a new variant.
declare -A LAUNCH_DEFAULT_PORT=(
[vllm/default]=8020
[vllm/long-vision]=8020
@@ -230,8 +215,38 @@ declare -A LAUNCH_DEFAULT_PORT=(
[llamacpp/default]=8020
[llamacpp/concurrent]=8020
)
declare -A LAUNCH_DEFAULT_CONTAINER=(
[vllm/default]=vllm-qwen36-27b
[vllm/long-vision]=vllm-qwen36-27b-long-vision
[vllm/long-text]=vllm-qwen36-27b-long-text
[vllm/bounded-thinking]=vllm-qwen36-27b-bounded-thinking
[vllm/tools-text]=vllm-qwen36-27b
[vllm/minimal]=vllm-qwen36-27b-minimal
[vllm/dual]=vllm-qwen36-27b-dual
[vllm/dual-turbo]=vllm-qwen36-27b-dual-turbo
[vllm/dual-dflash]=vllm-qwen36-27b-dual-dflash
[vllm/dual-dflash-noviz]=vllm-qwen36-27b-dual-dflash-noviz
[llamacpp/default]=llama-cpp-qwen36-27b
[llamacpp/concurrent]=llama-cpp-qwen36-27b-concurrent
)
ENDPOINT_PORT="${PORT:-${LAUNCH_DEFAULT_PORT[$VARIANT]:-8020}}"
ENDPOINT_URL="http://localhost:${ENDPOINT_PORT}"
ENDPOINT_CONTAINER="${CONTAINER:-${LAUNCH_DEFAULT_CONTAINER[$VARIANT]:-vllm-qwen36-27b}}"
if [[ $SKIP_VERIFY -eq 1 ]]; then
echo "[launch] --no-verify — skipping verify-full.sh"
else
echo ""
echo "[launch] running verify-full.sh against the new server (URL=${ENDPOINT_URL}, CONTAINER=${ENDPOINT_CONTAINER})..."
echo ""
URL="$ENDPOINT_URL" CONTAINER="$ENDPOINT_CONTAINER" bash "$VERIFY" || {
echo ""
echo "[launch] some checks failed — see hints above. Common cases:"
echo " - 'reasoning field empty' on llama.cpp = expected (parser gap, not a bug)"
echo " - 'Genesis patches' / 'MTP acceptance' skipped on llama.cpp = expected (vLLM-only checks)"
exit 1
}
fi
echo ""
echo "[launch] done. Endpoint: ${ENDPOINT_URL}"