From faea66f8c7b0ce78b1c65522d10db6d05d794334 Mon Sep 17 00:00:00 2001 From: quicksilver Date: Wed, 21 Jul 2021 14:04:11 +0800 Subject: [PATCH] [skip ci] To specify timeout period of e2e test. (#6691) Signed-off-by: quicksilver --- build/ci/jenkins/Jenkinsfile | 15 +++++++-------- build/ci/jenkins/NightlyCI.groovy | 15 +++++++-------- tests/scripts/e2e-k8s.sh | 16 +++++++++++----- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/build/ci/jenkins/Jenkinsfile b/build/ci/jenkins/Jenkinsfile index 81e3a0e2d3..a144e387ca 100644 --- a/build/ci/jenkins/Jenkinsfile +++ b/build/ci/jenkins/Jenkinsfile @@ -1,14 +1,13 @@ #!/usr/bin/env groovy -int timeout_minutes = 45 -int delay_minutes = 5 -int ci_timeout = (timeout_minutes - delay_minutes) * 60 +int total_timeout_minutes = 60 +int e2e_timeout_seconds = 30 * 60 pipeline { agent none options { timestamps() - timeout(time: timeout_minutes, unit: 'MINUTES') + timeout(time: total_timeout_minutes, unit: 'MINUTES') buildDiscarder logRotator(artifactDaysToKeepStr: '30') // parallelsAlwaysFailFast() @@ -58,20 +57,20 @@ pipeline { if ("${MILVUS_CLIENT}" == "pymilvus") { sh """ MILVUS_CLUSTER_ENABLED=${clusterEnabled} \ - timeout -v ${ci_timeout} \ ./e2e-k8s.sh \ --node-image registry.zilliz.com/kindest/node:v1.20.2 \ --kind-config "${env.WORKSPACE}/build/config/topology/trustworthy-jwt-ci.yaml" \ - --test-extra-arg "--tags=smoke" + --test-extra-arg "--tags=smoke" \ + --test-timeout ${e2e_timeout_seconds} """ } else if ("${MILVUS_CLIENT}" == "pymilvus-orm") { sh """ MILVUS_CLUSTER_ENABLED=${clusterEnabled} \ - timeout -v ${ci_timeout} \ ./e2e-k8s.sh \ --node-image registry.zilliz.com/kindest/node:v1.20.2 \ --kind-config "${env.WORKSPACE}/build/config/topology/trustworthy-jwt-ci.yaml" \ - --test-extra-arg "--tags L0 L1" + --test-extra-arg "--tags L0 L1" \ + --test-timeout ${e2e_timeout_seconds} """ } else { error "Error: Unsupported Milvus client: ${MILVUS_CLIENT}" diff --git a/build/ci/jenkins/NightlyCI.groovy b/build/ci/jenkins/NightlyCI.groovy index b30b21db20..51b1ab2c28 100644 --- a/build/ci/jenkins/NightlyCI.groovy +++ b/build/ci/jenkins/NightlyCI.groovy @@ -5,9 +5,8 @@ String cron_timezone = "TZ=Asia/Shanghai" String cron_string = BRANCH_NAME == "master" ? "50 22 * * * " : "" -int timeout_minutes = 90 -int delay_minutes = 5 -int ci_timeout = (timeout_minutes - delay_minutes) * 60 +int total_timeout_minutes = 90 +int e2e_timeout_seconds = 60 * 60 pipeline { agent none @@ -17,7 +16,7 @@ pipeline { } options { timestamps() - timeout(time: timeout_minutes, unit: 'MINUTES') + timeout(time: total_timeout_minutes, unit: 'MINUTES') buildDiscarder logRotator(artifactDaysToKeepStr: '30') // parallelsAlwaysFailFast() } @@ -66,19 +65,19 @@ pipeline { if ("${MILVUS_CLIENT}" == "pymilvus") { sh """ MILVUS_CLUSTER_ENABLED=${clusterEnabled} \ - timeout -v ${ci_timeout} \ ./e2e-k8s.sh \ --kind-config "${env.WORKSPACE}/build/config/topology/trustworthy-jwt-ci.yaml" \ - --node-image registry.zilliz.com/kindest/node:v1.20.2 + --node-image registry.zilliz.com/kindest/node:v1.20.2 \ + --test-timeout ${e2e_timeout_seconds} """ } else if ("${MILVUS_CLIENT}" == "pymilvus-orm") { sh """ MILVUS_CLUSTER_ENABLED=${clusterEnabled} \ - timeout -v ${ci_timeout} \ ./e2e-k8s.sh \ --kind-config "${env.WORKSPACE}/build/config/topology/trustworthy-jwt-ci.yaml" \ --node-image registry.zilliz.com/kindest/node:v1.20.2 \ - --test-extra-arg "--tags L0 L1 L2" + --test-extra-arg "--tags L0 L1 L2" \ + --test-timeout ${e2e_timeout_seconds} """ } else { error "Error: Unsupported Milvus client: ${MILVUS_CLIENT}" diff --git a/tests/scripts/e2e-k8s.sh b/tests/scripts/e2e-k8s.sh index bf59c9024d..6d8fb0119f 100755 --- a/tests/scripts/e2e-k8s.sh +++ b/tests/scripts/e2e-k8s.sh @@ -65,6 +65,10 @@ while (( "$#" )); do TEST_EXTRA_ARG=$2 shift 2 ;; + --test-timeout) + TEST_TIMEOUT=$2 + shift 2 + ;; --skip-setup) SKIP_SETUP=true shift @@ -77,10 +81,6 @@ while (( "$#" )); do SKIP_CLEANUP=true shift ;; - --install-logger) - CRON_LOGGER_INSTALL=true - shift - ;; --skip-build) SKIP_BUILD=true shift @@ -132,6 +132,8 @@ Usage: --test-extra-arg Run e2e test extra configuration For example, \"--tag=smoke\" + --test-timeout To specify timeout period of e2e test. Timeout time is specified in seconds. + --topology KinD cluster topology of deployments Provides three classes: \"SINGLE_CLUSTER\", \"MULTICLUSTER_SINGLE_NETWORK\", \"MULTICLUSTER\" Default: \"SINGLE_CLUSTER\" @@ -283,7 +285,11 @@ if [[ -z "${SKIP_INSTALL:-}" ]]; then fi if [[ -z "${SKIP_TEST:-}" ]]; then - trace "test" "${ROOT}/tests/scripts/e2e.sh" "${TEST_EXTRA_ARG}" + if [[ -n "${TEST_TIMEOUT:-}" ]]; then + trace "test" "timeout" "-v" "${TEST_TIMEOUT}" "${ROOT}/tests/scripts/e2e.sh" "${TEST_EXTRA_ARG}" + else + trace "test" "${ROOT}/tests/scripts/e2e.sh" "${TEST_EXTRA_ARG}" + fi fi # Check if the user is running the clusters in manual mode.