Signed-off-by: Zhu, Yongbo <yongbo.zhu@intel.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
54 lines
2.1 KiB
Bash
54 lines
2.1 KiB
Bash
#!/bin/bash
|
|
# Copyright (C) 2024 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
function validate_services() {
|
|
local URL="$1"
|
|
local EXPECTED_RESULT="$2"
|
|
local SERVICE_NAME="$3"
|
|
local DOCKER_NAME="$4"
|
|
local INPUT_DATA="$5"
|
|
|
|
echo "[ $SERVICE_NAME ] Validating $SERVICE_NAME service..."
|
|
local RESPONSE=$(curl -s -w "%{http_code}" -o ${LOG_PATH}/${SERVICE_NAME}.log -X POST -d "$INPUT_DATA" -H 'Content-Type: application/json' "$URL")
|
|
while [ ! -f ${LOG_PATH}/${SERVICE_NAME}.log ]; do
|
|
sleep 1
|
|
done
|
|
local HTTP_STATUS="${RESPONSE: -3}"
|
|
local CONTENT=$(cat ${LOG_PATH}/${SERVICE_NAME}.log)
|
|
|
|
if [ "$HTTP_STATUS" -eq 200 ]; then
|
|
echo "[ $SERVICE_NAME ] HTTP status is 200. Checking content..."
|
|
if echo "$CONTENT" | grep -q "$EXPECTED_RESULT"; then
|
|
echo "[ $SERVICE_NAME ] Content is as expected."
|
|
else
|
|
echo "[ $SERVICE_NAME ] Content does not match the expected result: $CONTENT"
|
|
docker logs ${DOCKER_NAME} >> ${LOG_PATH}/${SERVICE_NAME}_${DOCKER_NAME}.log
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "[ $SERVICE_NAME ] HTTP status is not 200. Received status was $HTTP_STATUS"
|
|
docker logs ${DOCKER_NAME} >> ${LOG_PATH}/${SERVICE_NAME}_${DOCKER_NAME}.log
|
|
exit 1
|
|
fi
|
|
sleep 1s
|
|
}
|
|
|
|
function check_gpu_usage() {
|
|
echo $date > ${LOG_PATH}/gpu.log
|
|
pci_address=$(lspci | grep -i '56a0' | awk '{print $1}')
|
|
gpu_stats=$(sudo xpu-smi stats -d 0000:"$pci_address") #TODO need sudo
|
|
gpu_utilization=$(echo "$gpu_stats" | grep -i "GPU Utilization" | awk -F'|' '{print $3}' | awk '{print $1}')
|
|
memory_used=$(echo "$gpu_stats" | grep -i "GPU Memory Used" | awk -F'|' '{print $3}' | awk '{print $1}')
|
|
memory_util=$(echo "$gpu_stats" | grep -i "GPU Memory Util" | awk -F'|' '{print $3}' | awk '{print $1}')
|
|
|
|
echo "GPU Utilization (%): $gpu_utilization" >> ${LOG_PATH}/gpu.log
|
|
echo "GPU Memory Used (MiB): $memory_used" >> ${LOG_PATH}/gpu.log
|
|
echo "GPU Memory Util (%): $memory_util" >> ${LOG_PATH}/gpu.log
|
|
|
|
if [ "$memory_used" -lt 1024 ]; then
|
|
echo "GPU Memory Used is less than 1G. Please check."
|
|
exit 1
|
|
fi
|
|
}
|