Files
enginex-ascend-910-vllm/tests/e2e/doctests/002-pip-binary-installation-test.sh
Sun Ruoxi 7f8a1b1f7a init v0.23.0
Signed-off-by: Sun Ruoxi <sunruoxi@4paradigm.com>
2026-08-27 15:11:51 +08:00

87 lines
3.1 KiB
Bash

#!/bin/bash
#
# Copyright (c) 2025 Huawei Technologies Co., Ltd. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This file is a part of the vllm-ascend project.
#
trap clean_venv EXIT
function install_system_packages() {
if command -v apt-get >/dev/null; then
apt-get update -y && apt-get install -y gcc g++ cmake libnuma-dev wget git curl jq
elif command -v yum >/dev/null; then
yum update -y && yum install -y gcc g++ cmake numactl-devel wget git curl jq
else
echo "Unknown package manager. Please install curl manually."
fi
}
function config_pip_mirror() {
pip config set global.index-url http://cache-service.nginx-pypi-cache.svc.cluster.local/pypi/simple
pip config set global.trusted-host cache-service.nginx-pypi-cache.svc.cluster.local
if [ -f /etc/os-release ]; then
. /etc/os-release
case "$ID" in
ubuntu|debian)
sed -Ei 's@(ports|archive).ubuntu.com@cache-service.nginx-pypi-cache.svc.cluster.local:8081@g' /etc/apt/sources.list
;;
openEuler|centos|rhel|fedora)
sed -Ei 's@https?://[^/]+/(openeuler|centos|fedora)@http://cache-service.nginx-pypi-cache.svc.cluster.local:8081/\1@g' /etc/yum.repos.d/*.repo
;;
esac
fi
}
function install_binary_test() {
config_pip_mirror
install_system_packages
create_vllm_venv
pip install -r ${SCRIPT_DIR}/../../docs/requirements-docs.txt
PIP_VLLM_VERSION=$(get_version pip_vllm_version)
VLLM_VERSION=$(get_version vllm_version)
PIP_VLLM_ASCEND_VERSION=$(get_version pip_vllm_ascend_version)
_info "====> Install vllm==${PIP_VLLM_VERSION} and vllm-ascend ${PIP_VLLM_ASCEND_VERSION}"
# Setup extra-index-url for public PyPI mirror, Ascend packages, and PyTorch CPU wheels.
local pip_extra_index_urls=(
"https://mirrors.huaweicloud.com/repository/pypi/variant"
"https://mirrors.huaweicloud.com/ascend/repos/pypi"
"https://download.pytorch.org/whl/cpu/"
)
local IFS=" "
pip config set global.extra-index-url "${pip_extra_index_urls[*]}"
# The vLLM version already in pypi, we install from pypi.
pip install --default-timeout=300 --retries 3 vllm=="${PIP_VLLM_VERSION}"
pip install vllm-ascend=="${PIP_VLLM_ASCEND_VERSION}"
pip list | grep vllm
# Verify the installation
_info "====> Run offline example test"
pip install modelscope
cd ${SCRIPT_DIR}/../../examples && python3 ./offline_inference_npu.py
cd -
}
_info "====> Start install_binary_test"
time install_binary_test