Skip to content

Commit 3180b6a

Browse files
committed
VLLM docker error fix
Signed-off-by: Jereshea J M <[email protected]>
1 parent a55cf15 commit 3180b6a

14 files changed

+2598
-2539
lines changed

AudioQnA/tests/test_compose_multilang_on_epyc.sh

Lines changed: 99 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -18,115 +18,119 @@ LOG_PATH="$WORKPATH/tests/logs"
1818
ip_address=$(hostname -I | awk '{print $1}')
1919

2020
function build_docker_images() {
21-
opea_branch=${opea_branch:-"main"}
22-
23-
cd $WORKPATH/docker_image_build
24-
git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git
25-
pushd GenAIComps
26-
echo "GenAIComps test commit is $(git rev-parse HEAD)"
27-
docker build --no-cache -t ${REGISTRY}/comps-base:${TAG} --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f Dockerfile .
28-
popd && sleep 1s
29-
30-
git clone https://github.com/vllm-project/vllm.git
31-
cd ./vllm/
32-
VLLM_VER=v0.9.0.1
33-
echo "Check out vLLM tag ${VLLM_VER}"
34-
git checkout ${VLLM_VER} &> /dev/null && cd ../
35-
36-
echo "Build all the images with --no-cache, check docker_image_build.log for details..."
37-
service_list="audioqna-multilang audioqna-ui whisper gpt-sovits vllm"
38-
docker compose -f build.yaml build ${service_list} --no-cache > ${LOG_PATH}/docker_image_build.log
39-
40-
docker images && sleep 1s
21+
opea_branch=${opea_branch:-"main"}
22+
23+
cd $WORKPATH/docker_image_build
24+
git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git
25+
pushd GenAIComps
26+
echo "GenAIComps test commit is $(git rev-parse HEAD)"
27+
docker build --no-cache -t ${REGISTRY}/comps-base:${TAG} --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f Dockerfile .
28+
popd && sleep 1s
29+
30+
git clone https://github.com/vllm-project/vllm.git
31+
cd ./vllm/
32+
VLLM_VER=v0.9.0.1
33+
echo "Check out vLLM tag ${VLLM_VER}"
34+
git checkout ${VLLM_VER} &>/dev/null
35+
VLLM_REQ_FILE="requirements/cpu.txt"
36+
if ! grep -q "^transformers" "$VLLM_REQ_FILE"; then
37+
echo "Adding transformers<4.54.0 to $VLLM_REQ_FILE"
38+
echo "transformers<4.54.0" >>"$VLLM_REQ_FILE"
39+
fi
40+
cd ../
41+
42+
echo "Build all the images with --no-cache, check docker_image_build.log for details..."
43+
service_list="audioqna-multilang audioqna-ui whisper gpt-sovits vllm"
44+
docker compose -f build.yaml build ${service_list} --no-cache >${LOG_PATH}/docker_image_build.log
45+
46+
docker images && sleep 1s
4147
}
4248

4349
function start_services() {
44-
cd $WORKPATH/docker_compose/amd/cpu/epyc/
45-
export host_ip=${ip_address}
46-
source set_env.sh
47-
# sed -i "s/backend_address/$ip_address/g" $WORKPATH/ui/svelte/.env
48-
49-
# Start Docker Containers
50-
docker compose -f compose_multilang.yaml up -d > ${LOG_PATH}/start_services_with_compose.log
51-
n=0
52-
until [[ "$n" -ge 200 ]]; do
53-
docker logs vllm-service > $LOG_PATH/vllm_service_start.log 2>&1
54-
if grep -q complete $LOG_PATH/vllm_service_start.log; then
55-
break
56-
fi
57-
sleep 5s
58-
n=$((n+1))
59-
done
50+
cd $WORKPATH/docker_compose/amd/cpu/epyc/
51+
export host_ip=${ip_address}
52+
source set_env.sh
53+
# sed -i "s/backend_address/$ip_address/g" $WORKPATH/ui/svelte/.env
54+
55+
# Start Docker Containers
56+
docker compose -f compose_multilang.yaml up -d >${LOG_PATH}/start_services_with_compose.log
57+
n=0
58+
until [[ "$n" -ge 200 ]]; do
59+
docker logs vllm-service >$LOG_PATH/vllm_service_start.log 2>&1
60+
if grep -q complete $LOG_PATH/vllm_service_start.log; then
61+
break
62+
fi
63+
sleep 5s
64+
n=$((n + 1))
65+
done
6066
}
6167

62-
6368
function validate_megaservice() {
64-
sleep 120s
65-
response=$(http_proxy="" curl --max-time 60 http://${ip_address}:3008/v1/audioqna -XPOST -d '{"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H 'Content-Type: application/json')
66-
67-
if ! echo "$response" | sed 's/^"//;s/"$//' | base64 -d > speech.mp3 2>/dev/null || ! file speech.mp3 | grep -q "RIFF"; then
68-
echo "Retrying..."
69-
sleep 120s
70-
response=$(http_proxy="" curl http://${ip_address}:3008/v1/audioqna -XPOST -d '{"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H 'Content-Type: application/json')
71-
72-
if echo "$response" | sed 's/^"//;s/"$//' | base64 -d > speech.mp3 2>/dev/null && file speech.mp3 | grep -q "RIFF"; then
73-
echo "Retry succeeded."
74-
else
75-
echo "Retry failed. Invalid response."
76-
exit 1
77-
fi
78-
else
79-
echo "First attempt succeeded."
80-
fi
81-
# always print the log
82-
docker logs whisper-service > $LOG_PATH/whisper-service.log
83-
docker logs gpt-sovits-service > $LOG_PATH/tts-service.log
84-
docker logs vllm-service > $LOG_PATH/vllm-service.log
85-
docker logs audioqna-epyc-backend-server > $LOG_PATH/audioqna-epyc-backend-server.log
86-
echo "$response" | sed 's/^"//;s/"$//' | base64 -d > speech.mp3
87-
88-
if [[ $(file speech.mp3) == *"RIFF"* ]]; then
89-
echo "Result correct."
90-
else
91-
echo "Result wrong."
92-
exit 1
93-
fi
69+
sleep 120s
70+
response=$(http_proxy="" curl --max-time 60 http://${ip_address}:3008/v1/audioqna -XPOST -d '{"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H 'Content-Type: application/json')
71+
72+
if ! echo "$response" | sed 's/^"//;s/"$//' | base64 -d >speech.mp3 2>/dev/null || ! file speech.mp3 | grep -q "RIFF"; then
73+
echo "Retrying..."
74+
sleep 120s
75+
response=$(http_proxy="" curl http://${ip_address}:3008/v1/audioqna -XPOST -d '{"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H 'Content-Type: application/json')
76+
77+
if echo "$response" | sed 's/^"//;s/"$//' | base64 -d >speech.mp3 2>/dev/null && file speech.mp3 | grep -q "RIFF"; then
78+
echo "Retry succeeded."
79+
else
80+
echo "Retry failed. Invalid response."
81+
exit 1
82+
fi
83+
else
84+
echo "First attempt succeeded."
85+
fi
86+
# always print the log
87+
docker logs whisper-service >$LOG_PATH/whisper-service.log
88+
docker logs gpt-sovits-service >$LOG_PATH/tts-service.log
89+
docker logs vllm-service >$LOG_PATH/vllm-service.log
90+
docker logs audioqna-epyc-backend-server >$LOG_PATH/audioqna-epyc-backend-server.log
91+
echo "$response" | sed 's/^"//;s/"$//' | base64 -d >speech.mp3
92+
93+
if [[ $(file speech.mp3) == *"RIFF"* ]]; then
94+
echo "Result correct."
95+
else
96+
echo "Result wrong."
97+
exit 1
98+
fi
9499

95100
}
96101

97-
98102
function stop_docker() {
99-
cd $WORKPATH/docker_compose/amd/cpu/epyc/
100-
docker compose -f compose_multilang.yaml stop && docker compose rm -f
103+
cd $WORKPATH/docker_compose/amd/cpu/epyc/
104+
docker compose -f compose_multilang.yaml stop && docker compose rm -f
101105
}
102106

103107
function main() {
104108

105-
echo "::group::stop_docker"
106-
stop_docker
107-
docker system prune -f
108-
echo "::endgroup::"
109-
sleep 3s
110-
111-
echo "::group::build_docker_images"
112-
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
113-
echo "::endgroup::"
114-
sleep 3s
115-
116-
echo "::group::start_services"
117-
start_services
118-
echo "::endgroup::"
119-
sleep 120s
120-
121-
echo "::group::validate_megaservice"
122-
validate_megaservice
123-
echo "::endgroup::"
124-
sleep 3s
125-
126-
echo "::group::stop_docker"
127-
stop_docker
128-
docker system prune -f
129-
echo "::endgroup::"
109+
echo "::group::stop_docker"
110+
stop_docker
111+
docker system prune -f
112+
echo "::endgroup::"
113+
sleep 3s
114+
115+
echo "::group::build_docker_images"
116+
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
117+
echo "::endgroup::"
118+
sleep 3s
119+
120+
echo "::group::start_services"
121+
start_services
122+
echo "::endgroup::"
123+
sleep 120s
124+
125+
echo "::group::validate_megaservice"
126+
validate_megaservice
127+
echo "::endgroup::"
128+
sleep 3s
129+
130+
echo "::group::stop_docker"
131+
stop_docker
132+
docker system prune -f
133+
echo "::endgroup::"
130134

131135
}
132136

AudioQnA/tests/test_compose_on_epyc.sh

Lines changed: 83 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -18,98 +18,103 @@ LOG_PATH="$WORKPATH/tests/logs"
1818
ip_address=$(hostname -I | awk '{print $1}')
1919

2020
function build_docker_images() {
21-
opea_branch=${opea_branch:-"main"}
22-
23-
cd $WORKPATH/docker_image_build
24-
git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git
25-
pushd GenAIComps
26-
echo "GenAIComps test commit is $(git rev-parse HEAD)"
27-
docker build --no-cache -t ${REGISTRY}/comps-base:${TAG} --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f Dockerfile .
28-
popd && sleep 1s
29-
30-
git clone https://github.com/vllm-project/vllm.git
31-
cd ./vllm/
32-
VLLM_VER=v0.9.0.1
33-
echo "Check out vLLM tag ${VLLM_VER}"
34-
git checkout ${VLLM_VER} &> /dev/null && cd ../
35-
36-
echo "Build all the images with --no-cache, check docker_image_build.log for details..."
37-
service_list="audioqna audioqna-ui whisper speecht5 vllm"
38-
docker compose -f build.yaml build ${service_list} --no-cache > ${LOG_PATH}/docker_image_build.log
39-
40-
docker images && sleep 1s
21+
opea_branch=${opea_branch:-"main"}
22+
23+
cd $WORKPATH/docker_image_build
24+
git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git
25+
pushd GenAIComps
26+
echo "GenAIComps test commit is $(git rev-parse HEAD)"
27+
docker build --no-cache -t ${REGISTRY}/comps-base:${TAG} --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f Dockerfile .
28+
popd && sleep 1s
29+
30+
git clone https://github.com/vllm-project/vllm.git
31+
cd ./vllm/
32+
VLLM_VER=v0.9.0.1
33+
echo "Check out vLLM tag ${VLLM_VER}"
34+
git checkout ${VLLM_VER} &>/dev/null
35+
VLLM_REQ_FILE="requirements/cpu.txt"
36+
if ! grep -q "^transformers" "$VLLM_REQ_FILE"; then
37+
echo "Adding transformers<4.54.0 to $VLLM_REQ_FILE"
38+
echo "transformers<4.54.0" >>"$VLLM_REQ_FILE"
39+
fi
40+
cd ../
41+
42+
echo "Build all the images with --no-cache, check docker_image_build.log for details..."
43+
service_list="audioqna audioqna-ui whisper speecht5 vllm"
44+
docker compose -f build.yaml build ${service_list} --no-cache >${LOG_PATH}/docker_image_build.log
45+
46+
docker images && sleep 1s
4147
}
4248

4349
function start_services() {
44-
cd $WORKPATH/docker_compose/amd/cpu/epyc/
45-
export host_ip=${ip_address}
46-
source set_env.sh
47-
# sed -i "s/backend_address/$ip_address/g" $WORKPATH/ui/svelte/.env
48-
49-
# Start Docker Containers
50-
docker compose up -d > ${LOG_PATH}/start_services_with_compose.log
51-
n=0
52-
until [[ "$n" -ge 200 ]]; do
53-
docker logs vllm-service > $LOG_PATH/vllm_service_start.log 2>&1
54-
if grep -q complete $LOG_PATH/vllm_service_start.log; then
55-
break
56-
fi
57-
sleep 5s
58-
n=$((n+1))
59-
done
50+
cd $WORKPATH/docker_compose/amd/cpu/epyc/
51+
export host_ip=${ip_address}
52+
source set_env.sh
53+
# sed -i "s/backend_address/$ip_address/g" $WORKPATH/ui/svelte/.env
54+
55+
# Start Docker Containers
56+
docker compose up -d >${LOG_PATH}/start_services_with_compose.log
57+
n=0
58+
until [[ "$n" -ge 200 ]]; do
59+
docker logs vllm-service >$LOG_PATH/vllm_service_start.log 2>&1
60+
if grep -q complete $LOG_PATH/vllm_service_start.log; then
61+
break
62+
fi
63+
sleep 5s
64+
n=$((n + 1))
65+
done
6066
}
6167

62-
6368
function validate_megaservice() {
64-
sleep 60
65-
response=$(http_proxy="" curl http://${ip_address}:3008/v1/audioqna -XPOST -d '{"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H 'Content-Type: application/json')
66-
# always print the log
67-
docker logs whisper-service > $LOG_PATH/whisper-service.log
68-
docker logs speecht5-service > $LOG_PATH/tts-service.log
69-
docker logs vllm-service > $LOG_PATH/vllm-service.log
70-
docker logs audioqna-epyc-backend-server > $LOG_PATH/audioqna-epyc-backend-server.log
71-
echo "$response" | sed 's/^"//;s/"$//' | base64 -d > speech.mp3
72-
73-
if [[ $(file speech.mp3) == *"RIFF"* ]]; then
74-
echo "Result correct."
75-
else
76-
echo "Result wrong."
77-
exit 1
78-
fi
69+
sleep 60
70+
response=$(http_proxy="" curl http://${ip_address}:3008/v1/audioqna -XPOST -d '{"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H 'Content-Type: application/json')
71+
# always print the log
72+
docker logs whisper-service >$LOG_PATH/whisper-service.log
73+
docker logs speecht5-service >$LOG_PATH/tts-service.log
74+
docker logs vllm-service >$LOG_PATH/vllm-service.log
75+
docker logs audioqna-epyc-backend-server >$LOG_PATH/audioqna-epyc-backend-server.log
76+
echo "$response" | sed 's/^"//;s/"$//' | base64 -d >speech.mp3
77+
78+
if [[ $(file speech.mp3) == *"RIFF"* ]]; then
79+
echo "Result correct."
80+
else
81+
echo "Result wrong."
82+
exit 1
83+
fi
7984

8085
}
8186

8287
function stop_docker() {
83-
cd $WORKPATH/docker_compose/amd/cpu/epyc/
84-
docker compose -f compose.yaml stop && docker compose rm -f
88+
cd $WORKPATH/docker_compose/amd/cpu/epyc/
89+
docker compose -f compose.yaml stop && docker compose rm -f
8590
}
8691

8792
function main() {
8893

89-
echo "::group::stop_docker"
90-
stop_docker
91-
echo "::endgroup::"
92-
sleep 3s
93-
94-
echo "::group::build_docker_images"
95-
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
96-
echo "::endgroup::"
97-
sleep 3s
98-
99-
echo "::group::start_services"
100-
start_services
101-
echo "::endgroup::"
102-
sleep 60s
103-
104-
echo "::group::validate_megaservice"
105-
validate_megaservice
106-
echo "::endgroup::"
107-
sleep 3s
108-
109-
echo "::group::stop_docker"
110-
stop_docker
111-
docker system prune -f
112-
echo "::endgroup::"
94+
echo "::group::stop_docker"
95+
stop_docker
96+
echo "::endgroup::"
97+
sleep 3s
98+
99+
echo "::group::build_docker_images"
100+
if [[ "$IMAGE_REPO" == "opea" ]]; then build_docker_images; fi
101+
echo "::endgroup::"
102+
sleep 3s
103+
104+
echo "::group::start_services"
105+
start_services
106+
echo "::endgroup::"
107+
sleep 60s
108+
109+
echo "::group::validate_megaservice"
110+
validate_megaservice
111+
echo "::endgroup::"
112+
sleep 3s
113+
114+
echo "::group::stop_docker"
115+
stop_docker
116+
docker system prune -f
117+
echo "::endgroup::"
113118

114119
}
115120

0 commit comments

Comments
 (0)