From ba3d4a1c1e014340ea4bcd1d70d9a42df40620ae Mon Sep 17 00:00:00 2001 From: lukotong-7 Date: Mon, 17 Nov 2025 21:10:37 +0800 Subject: [PATCH 1/2] fix mooncake-ci-test: Remove PYTHON_VERSION variable and adapt for different docker versions Signed-off-by: lukotong-7 --- bin/install_test.sh | 1 - tests/mooncake-ci-test/Readme.md | 1 - tests/mooncake-ci-test/install.sh | 25 ++++++++----------- tests/mooncake-ci-test/run.sh | 11 ++++---- .../scripts/1p1d-erdma-test.sh | 4 ++- tests/mooncake-ci-test/scripts/common.sh | 13 +++------- 6 files changed, 22 insertions(+), 33 deletions(-) diff --git a/bin/install_test.sh b/bin/install_test.sh index 3e4829f..b3014b7 100755 --- a/bin/install_test.sh +++ b/bin/install_test.sh @@ -15,7 +15,6 @@ testsuite=$1 . $TONE_ROOT/lib/common.sh security_setting - . $TONE_BM_SUITE_DIR/install.sh check_and_create_path $TONE_BM_BUILD_DIR diff --git a/tests/mooncake-ci-test/Readme.md b/tests/mooncake-ci-test/Readme.md index ffd9743..ccaca5a 100644 --- a/tests/mooncake-ci-test/Readme.md +++ b/tests/mooncake-ci-test/Readme.md @@ -11,7 +11,6 @@ functional ## Parameters - __ARTIFACT_ID__ : the artifact id -- __PYTHON_VERSION__ : the python version - __REGISTRY_ADDR__ : the image used to run test - __USE_HUGGINGFACE_MIRROR__ : whether to use huggingface mirror - __HUGGINGFACE_MIRROR__ : the huggingface mirror diff --git a/tests/mooncake-ci-test/install.sh b/tests/mooncake-ci-test/install.sh index d5a435a..72db64d 100644 --- a/tests/mooncake-ci-test/install.sh +++ b/tests/mooncake-ci-test/install.sh @@ -6,19 +6,15 @@ # GIT_URL= CONTAINER_NAME=${CONTAINER_NAME:-"mooncake-ci-test"} -PYTHON_VERSION=${PYTHON_VERSION:-"3.12"} MODEL_CACHE=${MODEL_CACHE:-"/root/.cache"} readonly SSH_CMD="ssh -o StrictHostKeyChecking=no" -REGISTRY_ADDR=${REGISTRY_ADDR:-"lmsysorg/sglang:v0.5.5"} -# REGISTRY_ADDR : the image used to run test -# CLIENT= -# SERVER= +REGISTRY_ADDR=${REGISTRY_ADDR:-"lmsysorg/sglang:latest"} USE_HUGGINGFACE_MIRROR=${USE_HUGGINGFACE_MIRROR:-true} HUGGINGFACE_MIRROR=${HUGGINGFACE_MIRROR:-"https://hf-mirror.com"} USE_MODELSCOPE=${USE_MODELSCOPE:-true} REMOTE_TEST_DIR=${REMOTE_TEST_DIR:-"/tmp/mooncake_ci_test"} -# PYTHON_VERSION : python version -# ARTIFACT_ID= + +# REGISTRY_ADDR : the image used to run test . $TONE_BM_SUITE_DIR/scripts/common.sh @@ -37,10 +33,9 @@ install() server_ip=$(extract_ip_from_string $SERVER) echo "SERVER: $server_ip, CLIENT: $client_ip" - cat > ~/.shrc << EOF + cat > $TONE_BM_RUN_DIR/.shrc << EOF # Mooncake CI Test Environment Variables export CONTAINER_NAME=${CONTAINER_NAME} -export PYTHON_VERSION=${PYTHON_VERSION} export MODEL_CACHE=${MODEL_CACHE} export ARTIFACT_ID=${ARTIFACT_ID} export REGISTRY_ADDR=${REGISTRY_ADDR} @@ -59,18 +54,18 @@ EOF echo "SERVER: $SERVER, CLIENT: $CLIENT" if [ -n "$CLIENT" ]; then echo "Mooncake CI Test Environment Variables:" - cat ~/.shrc + cat $TONE_BM_RUN_DIR/.shrc echo "Copying test script to remote server $client_ip..." ${SSH_CMD} $client_ip "rm -rf ${REMOTE_TEST_DIR} && mkdir -p ${REMOTE_TEST_DIR}" scp -r $TONE_BM_SUITE_DIR/scripts $client_ip:${REMOTE_TEST_DIR} && \ - scp ~/.shrc $client_ip:~/.shrc + scp $TONE_BM_RUN_DIR/.shrc $client_ip:$REMOTE_TEST_DIR/.shrc if [ $? -ne 0 ]; then echo "Failed to copy files to remote server" exit 1 fi echo "Get mooncake whl on remote server $client_ip..." - ${SSH_CMD} $client_ip "source ~/.shrc && cd ${REMOTE_TEST_DIR} && source ./scripts/common.sh && get_whl" + ${SSH_CMD} $client_ip "cd ${REMOTE_TEST_DIR} && source ./.shrc && source ./scripts/common.sh && get_whl" if [ $? -ne 0 ]; then echo "Failed to get mooncake whl on remote server" exit 1 @@ -82,9 +77,9 @@ EOF echo "===== Starting Local Installation =====" echo "Get mooncake whl on local machine..." - sed -i "s|^export ISREMOTE=.*$|export ISREMOTE=0|" ~/.shrc - sed -i 's|^export BASE_DIR=.*$|export BASE_DIR='"$TONE_BM_RUN_DIR"'|' ~/.shrc - source ~/.shrc && get_whl + sed -i "s|^export ISREMOTE=.*$|export ISREMOTE=0|" $TONE_BM_RUN_DIR/.shrc + sed -i 's|^export BASE_DIR=.*$|export BASE_DIR='"$TONE_BM_RUN_DIR"'|' $TONE_BM_RUN_DIR/.shrc + source $TONE_BM_RUN_DIR/.shrc && get_whl if [ $? -ne 0 ]; then echo "Failed to get mooncake whl on local machine" exit 1 diff --git a/tests/mooncake-ci-test/run.sh b/tests/mooncake-ci-test/run.sh index 6da1112..930d220 100644 --- a/tests/mooncake-ci-test/run.sh +++ b/tests/mooncake-ci-test/run.sh @@ -7,6 +7,7 @@ CONTAINER_NAME=${CONTAINER_NAME:-"mooncake-ci-test"} readonly SSH_CMD="ssh -o StrictHostKeyChecking=no" SUPPORT_MODELS=("Qwen/Qwen3-8B" "deepseek-ai/DeepSeek-V2-Lite") +REMOTE_TEST_DIR=${REMOTE_TEST_DIR:-"/tmp/mooncake_ci_test"} run_single_model() { @@ -18,7 +19,7 @@ run_single_model() echo "Launching docker container on local machine..." $TONE_BM_SUITE_DIR/scripts/$test.sh setup $model_name_clean echo -e "\n\nLaunching docker container on remote machine..." - ${SSH_CMD} $client_ip "source ~/.shrc; cd \$BASE_DIR/scripts && ./$test.sh setup $model_name_clean" + ${SSH_CMD} $client_ip "source $REMOTE_TEST_DIR/.shrc; cd \$BASE_DIR/scripts && ./$test.sh setup $model_name_clean" # Local start server if ! $TONE_BM_SUITE_DIR/scripts/$test.sh start_server $model_name $model_name_clean; then @@ -26,7 +27,7 @@ run_single_model() exit 1 fi # Remote start server - if ! ${SSH_CMD} $client_ip "source ~/.shrc; cd \$BASE_DIR/scripts && ./$test.sh start_server $model_name $model_name_clean"; then + if ! ${SSH_CMD} $client_ip "source $REMOTE_TEST_DIR/.shrc; cd \$BASE_DIR/scripts && ./$test.sh start_server $model_name $model_name_clean"; then echo "ERROR: Failed to start remote server for model $model_name" exit 1 fi @@ -43,7 +44,7 @@ run_single_model() run() { - source ~/.shrc + source $TONE_BM_RUN_DIR/.shrc if [ -z "$client_ip" ] || [ -z "$server_ip" ]; then echo "Please specify client and server IPs" exit 1 @@ -88,9 +89,9 @@ parse() # Overall test result if [ "$all_passed" = true ]; then - echo "$test: Pass" + echo "$test:Pass" else - echo "$test: Fail" + echo "$test:Fail" fi } \ No newline at end of file diff --git a/tests/mooncake-ci-test/scripts/1p1d-erdma-test.sh b/tests/mooncake-ci-test/scripts/1p1d-erdma-test.sh index 0d092b9..db563aa 100755 --- a/tests/mooncake-ci-test/scripts/1p1d-erdma-test.sh +++ b/tests/mooncake-ci-test/scripts/1p1d-erdma-test.sh @@ -1,6 +1,8 @@ #!/bin/bash -source ~/.shrc +set -e + +source $BASE_DIR/.shrc if [ "$ISREMOTE" == "0" ]; then . $TONE_BM_SUITE_DIR/scripts/common.sh diff --git a/tests/mooncake-ci-test/scripts/common.sh b/tests/mooncake-ci-test/scripts/common.sh index 845dd12..5b146b8 100755 --- a/tests/mooncake-ci-test/scripts/common.sh +++ b/tests/mooncake-ci-test/scripts/common.sh @@ -15,7 +15,6 @@ setup_log_directory(){ docker_launch(){ local extra_args=$1 - image_server_id=`docker images -f "reference=${REGISTRY_ADDR}" | awk '{print $3}' | grep -v -i IMAGE` docker_run_cmd="docker run --name ${CONTAINER_NAME} \ -d --ipc=host --cap-add=SYS_PTRACE --network=host --gpus all \ @@ -23,7 +22,7 @@ docker_launch(){ -v ${MODEL_CACHE}:/root/.cache $extra_args --privileged \ -v $BASE_DIR:/test_run \ --entrypoint bash \ - ${image_server_id} -c \"hostname;sleep 360000\"" + ${REGISTRY_ADDR} -c \"hostname;sleep 360000\"" echo "Executing Docker run command:" echo "$docker_run_cmd" @@ -172,14 +171,8 @@ get_whl(){ get_image(){ # only support run in container - if [ -z "$REGISTRY_ADDR" ]; then - if [ "$PYTHON_VERSION" == "3.12" ]; then - REGISTRY_ADDR=lmsysorg/sglang:latest - else - echo "Please provide REGISTRY_ADDR!" - return 1 - fi - fi + echo "Get image $REGISTRY_ADDR" + if ! docker inspect $REGISTRY_ADDR >/dev/null 2>&1; then echo "Image ${REGISTRY_ADDR} not found, pulling..." docker pull $REGISTRY_ADDR -- Gitee From 4de83efe1132c186f2d788e80495070c8197b8bf Mon Sep 17 00:00:00 2001 From: lukotong-7 Date: Thu, 20 Nov 2025 10:27:23 +0800 Subject: [PATCH 2/2] add git repo support --- tests/mooncake-ci-test/install.sh | 4 +++- tests/mooncake-ci-test/scripts/common.sh | 4 +--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/mooncake-ci-test/install.sh b/tests/mooncake-ci-test/install.sh index 72db64d..22dc4d1 100644 --- a/tests/mooncake-ci-test/install.sh +++ b/tests/mooncake-ci-test/install.sh @@ -13,6 +13,7 @@ USE_HUGGINGFACE_MIRROR=${USE_HUGGINGFACE_MIRROR:-true} HUGGINGFACE_MIRROR=${HUGGINGFACE_MIRROR:-"https://hf-mirror.com"} USE_MODELSCOPE=${USE_MODELSCOPE:-true} REMOTE_TEST_DIR=${REMOTE_TEST_DIR:-"/tmp/mooncake_ci_test"} +GIT_REPO=${GIT_REPO:-"kvcache-ai/Mooncake"} # REGISTRY_ADDR : the image used to run test @@ -46,6 +47,7 @@ export USE_HUGGINGFACE_MIRROR=${USE_HUGGINGFACE_MIRROR} export HUGGINGFACE_MIRROR=${HUGGINGFACE_MIRROR} export USE_MODELSCOPE=${USE_MODELSCOPE} export BASE_DIR=${REMOTE_TEST_DIR} +export GIT_REPO=${GIT_REPO} EOF find $TONE_BM_SUITE_DIR/scripts -name '*.sh' -exec chmod +x {} \; @@ -87,4 +89,4 @@ EOF echo "Local installation completed successfully" echo "===== Installation Completed =====" -} \ No newline at end of file +} diff --git a/tests/mooncake-ci-test/scripts/common.sh b/tests/mooncake-ci-test/scripts/common.sh index 5b146b8..7289bb6 100755 --- a/tests/mooncake-ci-test/scripts/common.sh +++ b/tests/mooncake-ci-test/scripts/common.sh @@ -148,7 +148,7 @@ get_whl(){ rm -f mooncake.zip rm -f *.whl gh api -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/repos/kvcache-ai/Mooncake/actions/artifacts/$ARTIFACT_ID/zip \ + -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/repos/${GIT_REPO}/actions/artifacts/$ARTIFACT_ID/zip \ > mooncake.zip unzip -o mooncake.zip @@ -235,5 +235,3 @@ check_proxy_ready() { echo "ERROR: Server failed to start within timeout" return 1 } - - -- Gitee