132 lines
5.1 KiB
Diff
132 lines
5.1 KiB
Diff
|
|
From e04d2f1d8382e7b3e81ab4725a21562147ad1727 Mon Sep 17 00:00:00 2001
|
||
|
|
From: zhongtao <zhongtao17@huawei.com>
|
||
|
|
Date: Mon, 22 May 2023 12:50:32 +0800
|
||
|
|
Subject: [PATCH 7/9] reinforce cri_stream.sh and health_check.sh
|
||
|
|
|
||
|
|
Signed-off-by: zhongtao <zhongtao17@huawei.com>
|
||
|
|
---
|
||
|
|
CI/test_cases/container_cases/cri_stream.sh | 30 ++++++++++++----
|
||
|
|
CI/test_cases/container_cases/health_check.sh | 34 ++++++++++++++-----
|
||
|
|
2 files changed, 50 insertions(+), 14 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/CI/test_cases/container_cases/cri_stream.sh b/CI/test_cases/container_cases/cri_stream.sh
|
||
|
|
index 8b5440d3..bfe90208 100755
|
||
|
|
--- a/CI/test_cases/container_cases/cri_stream.sh
|
||
|
|
+++ b/CI/test_cases/container_cases/cri_stream.sh
|
||
|
|
@@ -58,6 +58,9 @@ function set_up()
|
||
|
|
function test_cri_exec_fun()
|
||
|
|
{
|
||
|
|
local ret=0
|
||
|
|
+ local retry_limit=20
|
||
|
|
+ local retry_interval=1
|
||
|
|
+ local success=1
|
||
|
|
local test="test_cri_exec_fun => (${FUNCNAME[@]})"
|
||
|
|
msg_info "${test} starting..."
|
||
|
|
declare -a fun_pids
|
||
|
|
@@ -74,9 +77,15 @@ function test_cri_exec_fun()
|
||
|
|
done
|
||
|
|
wait ${abn_pids[*]// /|}
|
||
|
|
|
||
|
|
- sleep 2
|
||
|
|
- ps -T -p $(cat /var/run/isulad.pid) | grep IoCopy
|
||
|
|
- [[ $? -eq 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - residual IO copy thread in CRI exec operation" && ((ret++))
|
||
|
|
+ for i in $(seq 1 "$retry_limit"); do
|
||
|
|
+ ps -T -p $(cat /var/run/isulad.pid) | grep IoCopy
|
||
|
|
+ if [ $? -ne 0 ]; then
|
||
|
|
+ success=0
|
||
|
|
+ break;
|
||
|
|
+ fi
|
||
|
|
+ sleep $retry_interval
|
||
|
|
+ done
|
||
|
|
+ [[ $success -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - residual IO copy thread in CRI exec operation" && ((ret++))
|
||
|
|
|
||
|
|
msg_info "${test} finished with return ${ret}..."
|
||
|
|
return ${ret}
|
||
|
|
@@ -85,6 +94,9 @@ function test_cri_exec_fun()
|
||
|
|
function test_cri_exec_abn
|
||
|
|
{
|
||
|
|
local ret=0
|
||
|
|
+ local retry_limit=20
|
||
|
|
+ local retry_interval=1
|
||
|
|
+ local success=1
|
||
|
|
local test="test_cri_exec_abn => (${FUNCNAME[@]})"
|
||
|
|
msg_info "${test} starting..."
|
||
|
|
|
||
|
|
@@ -92,10 +104,16 @@ function test_cri_exec_abn
|
||
|
|
pid=$!
|
||
|
|
sleep 3
|
||
|
|
kill -9 $pid
|
||
|
|
- sleep 2
|
||
|
|
|
||
|
|
- ps -T -p $(cat /var/run/isulad.pid) | grep IoCopy
|
||
|
|
- [[ $? -eq 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - residual IO copy thread in CRI exec operation" && ((ret++))
|
||
|
|
+ for i in $(seq 1 "$retry_limit"); do
|
||
|
|
+ ps -T -p $(cat /var/run/isulad.pid) | grep IoCopy
|
||
|
|
+ if [ $? -ne 0 ]; then
|
||
|
|
+ success=0
|
||
|
|
+ break;
|
||
|
|
+ fi
|
||
|
|
+ sleep $retry_interval
|
||
|
|
+ done
|
||
|
|
+ [[ $success -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - residual IO copy thread in CRI exec operation" && ((ret++))
|
||
|
|
|
||
|
|
msg_info "${test} finished with return ${ret}..."
|
||
|
|
return ${ret}
|
||
|
|
diff --git a/CI/test_cases/container_cases/health_check.sh b/CI/test_cases/container_cases/health_check.sh
|
||
|
|
index 1542bd09..28af6149 100755
|
||
|
|
--- a/CI/test_cases/container_cases/health_check.sh
|
||
|
|
+++ b/CI/test_cases/container_cases/health_check.sh
|
||
|
|
@@ -123,6 +123,9 @@ function test_health_check_timeout()
|
||
|
|
{
|
||
|
|
local ret=0
|
||
|
|
local image="busybox"
|
||
|
|
+ local retry_limit=10
|
||
|
|
+ local retry_interval=1
|
||
|
|
+ local success=1
|
||
|
|
local test="list && inspect image info test => (${FUNCNAME[@]})"
|
||
|
|
|
||
|
|
msg_info "${test} starting..."
|
||
|
|
@@ -139,16 +142,31 @@ function test_health_check_timeout()
|
||
|
|
[[ $(isula inspect -f '{{.State.Status}}' ${container_name}) == "running" ]]
|
||
|
|
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - incorrent container status: not running" && ((ret++))
|
||
|
|
|
||
|
|
- sleep 2 # Health check has been performed yet
|
||
|
|
-
|
||
|
|
+ # Health check has been performed yet
|
||
|
|
+ for i in $(seq 1 "$retry_limit"); do
|
||
|
|
+ [[ $(isula inspect -f '{{.State.Health.Status}}' ${container_name}) == "starting" ]]
|
||
|
|
+ if [ $? -eq 0 ]; then
|
||
|
|
+ success=0
|
||
|
|
+ break;
|
||
|
|
+ fi
|
||
|
|
+ sleep $retry_interval
|
||
|
|
+ done
|
||
|
|
# Initial status when the container is still starting
|
||
|
|
- [[ $(isula inspect -f '{{.State.Health.Status}}' ${container_name}) == "starting" ]]
|
||
|
|
- [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - incorrent container health check status: not starting" && ((ret++))
|
||
|
|
-
|
||
|
|
- sleep 10 # finish first health check
|
||
|
|
+ [[ $success -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - incorrent container health check status: not starting" && ((ret++))
|
||
|
|
+
|
||
|
|
+ sleep 7 # finish first health check
|
||
|
|
+
|
||
|
|
+ success=1
|
||
|
|
+ for i in $(seq 1 "$retry_limit"); do
|
||
|
|
+ [[ $(isula inspect -f '{{.State.Health.Status}}' ${container_name}) == "unhealthy" ]]
|
||
|
|
+ if [ $? -eq 0 ]; then
|
||
|
|
+ success=0
|
||
|
|
+ break;
|
||
|
|
+ fi
|
||
|
|
+ sleep $retry_interval
|
||
|
|
+ done
|
||
|
|
# The container process exits and the health check status becomes unhealthy
|
||
|
|
- [[ $(isula inspect -f '{{.State.Health.Status}}' ${container_name}) == "unhealthy" ]]
|
||
|
|
- [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - incorrent container health check status: not unhealthy" && ((ret++))
|
||
|
|
+ [[ $success -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - incorrent container health check status: not unhealthy" && ((ret++))
|
||
|
|
|
||
|
|
[[ $(isula inspect -f '{{.State.ExitCode}}' ${container_name}) == "137" ]]
|
||
|
|
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - incorrent container exit code: not 137" && ((ret++))
|
||
|
|
--
|
||
|
|
2.40.1
|
||
|
|
|