[skip ci] Remove Kubectl for CI pytest (#12257)

Signed-off-by: Jenny Li <jing.li@zilliz.com>
pull/12254/head
Jenny Li 2021-11-24 16:13:15 +08:00 committed by GitHub
parent f07ac99438
commit 0bc5491ccf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 68 additions and 25 deletions

View File

@ -139,14 +139,8 @@ pipeline {
sh """
MILVUS_HELM_RELEASE_NAME="${release_name}" \
MILVUS_CLUSTER_ENABLED="${clusterEnabled}" \
./e2e-k8s.sh \
--skip-export-logs \
--skip-install \
--skip-cleanup \
--skip-setup \
--skip-build \
--skip-build-image --test-extra-arg "-n 4 --tags L0 L1 L2 --repeat-scope=session" \
--test-timeout ${e2e_timeout_seconds}
TEST_TIMEOUT="${e2e_timeout_seconds}" \
./ci_e2e.sh "-n 4 --tags L0 L1 L2 --repeat-scope=session"
"""
} else {
error "Error: Unsupported Milvus client: ${MILVUS_CLIENT}"

View File

@ -2,6 +2,7 @@
int total_timeout_minutes = 120
int e2e_timeout_seconds = 50 * 60
def imageTag=''
pipeline {
options {
@ -44,10 +45,11 @@ pipeline {
script {
sh 'printenv'
def date = sh(returnStdout: true, script: 'date +%Y%m%d').trim()
def gitShortCommit = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
def gitShortCommit = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
imageTag="${env.BRANCH_NAME}-${date}-${gitShortCommit}"
withCredentials([usernamePassword(credentialsId: "${env.CI_DOCKER_CREDENTIAL_ID}", usernameVariable: 'CI_REGISTRY_USERNAME', passwordVariable: 'CI_REGISTRY_PASSWORD')]){
sh """
TAG="${env.BRANCH_NAME}-${date}-${gitShortCommit}" \
TAG="${imageTag}" \
./e2e-k8s.sh \
--skip-export-logs \
--skip-install \
@ -85,19 +87,15 @@ pipeline {
script {
sh 'printenv'
def clusterEnabled = "false"
def setMemoryResourceLimitArgs="--set standalone.resources.limits.memory=4Gi"
if ("${MILVUS_SERVER_TYPE}" == 'distributed') {
clusterEnabled = "true"
setMemoryResourceLimitArgs="--set queryNode.resources.limits.memory=4Gi"
}
def date = sh(returnStdout: true, script: 'date +%Y%m%d').trim()
def gitShortCommit = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
if ("${MILVUS_CLIENT}" == "pymilvus") {
withCredentials([usernamePassword(credentialsId: "${env.CI_DOCKER_CREDENTIAL_ID}", usernameVariable: 'CI_REGISTRY_USERNAME', passwordVariable: 'CI_REGISTRY_PASSWORD')]){
sh """
MILVUS_CLUSTER_ENABLED=${clusterEnabled} \
TAG="${env.BRANCH_NAME}-${date}-${gitShortCommit}" \
TAG=${imageTag}\
./e2e-k8s.sh \
--skip-export-logs \
--skip-cleanup \
@ -105,7 +103,7 @@ pipeline {
--skip-test \
--skip-build \
--skip-build-image \
--install-extra-arg "--set etcd.persistence.storageClass=local-path ${setMemoryResourceLimitArgs} \
--install-extra-arg "--set etcd.persistence.storageClass=local-path \
--set metrics.serviceMonitor.enabled=true"
"""
}
@ -131,15 +129,8 @@ pipeline {
sh """
MILVUS_HELM_RELEASE_NAME="${release_name}" \
MILVUS_CLUSTER_ENABLED="${clusterEnabled}" \
./e2e-k8s.sh \
--skip-export-logs \
--skip-cleanup \
--skip-setup \
--skip-build \
--skip-build-image \
--skip-install \
--test-extra-arg "-x --tags L0 L1" \
--test-timeout ${e2e_timeout_seconds}
TEST_TIMEOUT="${e2e_timeout_seconds}" \
./ci_e2e.sh "-x --tags L0 L1"
"""
} else {
error "Error: Unsupported Milvus client: ${MILVUS_CLIENT}"

58
tests/scripts/ci_e2e.sh Executable file
View File

@ -0,0 +1,58 @@
#!/bin/bash
# Copyright 2018 Istio Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
ROOT="$( cd -P "$( dirname "$SOURCE" )/../.." && pwd )"
set -e
set -u
set -x
MILVUS_HELM_RELEASE_NAME="${MILVUS_HELM_RELEASE_NAME:-milvus-testing}"
MILVUS_CLUSTER_ENABLED="${MILVUS_CLUSTER_ENABLED:-false}"
MILVUS_HELM_NAMESPACE="${MILVUS_HELM_NAMESPACE:-default}"
PARALLEL_NUM="${PARALLEL_NUM:-6}"
MILVUS_CLIENT="${MILVUS_CLIENT:-pymilvus}"
CI_LOG_PATH=/tmp/ci_logs/test
MILVUS_SERVICE_NAME=$(echo "${MILVUS_HELM_RELEASE_NAME}-milvus.milvus-ci" | tr -d '\n')
MILVUS_SERVICE_PORT="19530"
# shellcheck source=build/lib.sh
source "${ROOT}/build/lib.sh"
# shellcheck source=ci-util.sh
source "${ROOT}/tests/scripts/ci-util.sh"
cd ${ROOT}/tests/python_client
python3 -V
if [ ! -d "${CI_LOG_PATH}" ]; then
mkdir -p ${CI_LOG_PATH}
fi
trace "prepare e2e test" install_pytest_requirements
pytest --host ${MILVUS_SERVICE_NAME} --port ${MILVUS_SERVICE_PORT} \
--html=${CI_LOG_PATH}/report.html --self-contained-html ${@:-}
trace "e2e test" "timeout" "${TEST_TIMEOUT:-}" `pytest --host ${MILVUS_SERVICE_NAME} --port ${MILVUS_SERVICE_PORT} \
--html=${CI_LOG_PATH}/report.html --self-contained-html ${@:-}`