From 2af906d42a155a7b779dce017a2779b96dba2b61 Mon Sep 17 00:00:00 2001 From: zhongtao Date: Fri, 1 Mar 2024 15:04:35 +0800 Subject: [PATCH 18/43] add concurrent load test Signed-off-by: zhongtao --- CI/test_cases/image_cases/image_load.sh | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/CI/test_cases/image_cases/image_load.sh b/CI/test_cases/image_cases/image_load.sh index 52b713d4..a2cada5f 100755 --- a/CI/test_cases/image_cases/image_load.sh +++ b/CI/test_cases/image_cases/image_load.sh @@ -79,8 +79,55 @@ function test_image_load() return ${ret} } +function test_concurrent_load() +{ + local ret=0 + local test="isula load image test => (${FUNCNAME[@]})" + + msg_info "${test} starting..." + + # clean exist image + ubuntu_id=`isula inspect -f '{{.image.id}}' ubuntu` + busybox_id=`isula inspect -f '{{.image.id}}' busybox` + isula rmi $ubuntu_id $busybox_id + + concurrent_time=10 + for i in `seq 1 $concurrent_time` + do + isula load -i $mult_image & + pids[$i]=$! + done + + for i in `seq 1 $concurrent_time`;do + wait ${pids[$i]} + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - fail to do isulad load $i" && ((ret++)) + done + + ubuntu_id=`isula inspect -f '{{.image.id}}' ubuntu` + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - fail to inspect image: ubuntu" && ((ret++)) + + top_layer_id=$(isula inspect -f '{{.image.top_layer}}' ${ubuntu_id}) + + busybox_id=`isula inspect -f '{{.image.id}}' busybox` + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - fail to inspect image: busybox" && ((ret++)) + + # delete image after concurrent load + isula rmi $ubuntu_id $busybox_id + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to remove image ${ubuntu_id} and ${busybox_id}" && ((ret++)) + + ls -l /var/lib/isulad/storage/overlay-layers + local top_layer_dir=/var/lib/isulad/storage/overlay-layers/${top_layer_id} + test -e ${top_layer_dir} + [[ $? -eq 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - top layer dir ${top_layer_id} exist after delete image" && ((ret++)) + + msg_info "${test} finished with return ${ret}..." + return ${ret} +} + declare -i ans=0 +test_concurrent_load || ((ans++)) + test_image_load || ((ans++)) show_result ${ans} "${curr_path}/${0}" -- 2.34.1