fix karmadactl init ci test error

Signed-off-by: Poor12 <shentiecheng@huawei.com>
This commit is contained in:
Poor12 2023-04-11 19:51:20 +08:00
parent b273800421
commit 43270b8124
2 changed files with 19 additions and 0 deletions

View File

@ -38,14 +38,17 @@ hack/create-cluster.sh ${MEMBER_CLUSTER_2_NAME} ${KUBECONFIG_PATH}/${MEMBER_CLUS
# wait cluster ready
echo "Wait clusters ready..."
util::wait_file_exist ${KUBECONFIG_PATH}/${HOST_CLUSTER_NAME}.config 300
util::wait_context_exist ${HOST_CLUSTER_NAME} ${KUBECONFIG_PATH}/${HOST_CLUSTER_NAME}.config 300
kubectl wait --for=condition=Ready nodes --all --timeout=800s --kubeconfig=${KUBECONFIG_PATH}/${HOST_CLUSTER_NAME}.config
util::wait_nodes_taint_disappear 800 ${KUBECONFIG_PATH}/${HOST_CLUSTER_NAME}.config
util::wait_file_exist ${KUBECONFIG_PATH}/${MEMBER_CLUSTER_1_NAME}.config 300
util::wait_context_exist "kind-${MEMBER_CLUSTER_1_NAME}" ${KUBECONFIG_PATH}/${MEMBER_CLUSTER_1_NAME}.config 300
kubectl wait --for=condition=Ready nodes --all --timeout=800s --kubeconfig=${KUBECONFIG_PATH}/${MEMBER_CLUSTER_1_NAME}.config
util::wait_nodes_taint_disappear 800 ${KUBECONFIG_PATH}/${MEMBER_CLUSTER_1_NAME}.config
util::wait_file_exist ${KUBECONFIG_PATH}/${MEMBER_CLUSTER_2_NAME}.config 300
util::wait_context_exist "kind-${MEMBER_CLUSTER_2_NAME}" ${KUBECONFIG_PATH}/${MEMBER_CLUSTER_2_NAME}.config 300
kubectl wait --for=condition=Ready nodes --all --timeout=800s --kubeconfig=${KUBECONFIG_PATH}/${MEMBER_CLUSTER_2_NAME}.config
util::wait_nodes_taint_disappear 800 ${KUBECONFIG_PATH}/${MEMBER_CLUSTER_2_NAME}.config

View File

@ -313,6 +313,22 @@ function util::wait_file_exist() {
return 1
}
# util::wait_context_exist checks if the specific context exists in kubeconfig, if not, wait until timeout
function util::wait_context_exist() {
local context_name=${1}
local file_path=${2}
local timeout=${3}
local error_msg="[ERROR] Timeout waiting for context exist ${context_name}"
for ((time=0; time<${timeout}; time++)); do
if [[ `grep -c "${context_name}" ${file_path}` -ne '0' ]]; then
return 0
fi
sleep 1
done
echo -e "\n${error_msg}"
return 1
}
# util::wait_pod_ready waits for pod state becomes ready until timeout.
# Parameters:
# - $1: k8s context name, such as "karmada-apiserver"