/
githubmirror
/
kubernetes
Обзор
Документация
Войти
/
githubmirror
/
kubernetes
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/integration/ipamperf/test-performance.sh
91 строка
3 KB
xichengliudui
fix shellcheck in test/integration/... and test/kubemark/...
18 фев 2019, 09:16
18 фев 2019, 09:16
641f883
Код
Авторство
О чём код?
#!/usr/bin/env bash # Copyright 2018 The Kubernetes 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. set -o errexit set -o nounset set -o pipefail TEST_ARGS="" RUN_PATTERN=".*" PROFILE_OPTS="" function usage() { echo "usage: $0 <options>" echo " -h display this help message" echo " -d enable debug logs in tests" echo " -r <pattern> regex pattern to match for tests" echo " -o <filename> file to write JSON formatted results to" echo " -p <id> enable cpu and memory profiles, output written to mem-<id>.out and cpu-<id>.out" echo " -c enable custom test configuration" echo " -a <name> allocator name, one of RangeAllocator, CloudAllocator, IPAMFromCluster, IPAMFromCloud" echo " -k <num> api server qps for allocator" echo " -n <num> number of nodes to simulate" echo " -m <num> api server qps for node creation" echo " -l <num> gce cloud endpoint qps" exit 1 } while getopts ":hdr:o:p:ca:k:n:m:l:" opt; do case ${opt} in d) TEST_ARGS="${TEST_ARGS} -v=6" ;; r) RUN_PATTERN="${OPTARG}" ;; o) TEST_ARGS="${TEST_ARGS} -log ${OPTARG}" ;; p) PROFILE_OPTS="-memprofile mem-${OPTARG}.out -cpuprofile cpu-${OPTARG}.out" ;; c) TEST_ARGS="${TEST_ARGS} -custom" ;; a) TEST_ARGS="${TEST_ARGS} -allocator ${OPTARG}" ;; k) TEST_ARGS="${TEST_ARGS} -kube-qps ${OPTARG}" ;; n) TEST_ARGS="${TEST_ARGS} -num-nodes ${OPTARG}" ;; m) TEST_ARGS="${TEST_ARGS} -create-qps ${OPTARG}" ;; l) TEST_ARGS="${TEST_ARGS} -cloud-qps ${OPTARG}" ;; h) usage ;; \?) usage ;; esac done KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/../../../ source "${KUBE_ROOT}/hack/lib/init.sh" kube::golang::setup_env DIR_BASENAME=$(dirname "${BASH_SOURCE[0]}") pushd "${DIR_BASENAME}" cleanup() { popd 2> /dev/null kube::etcd::cleanup kube::log::status "performance test cleanup complete" } trap cleanup EXIT kube::etcd::start # Running IPAM tests. It might take a long time. kube::log::status "performance test (IPAM) start" go test "${PROFILE_OPTS}" -test.run="${RUN_PATTERN}" -test.timeout=60m -test.short=false -v -args "${TEST_ARGS}" kube::log::status "... IPAM tests finished."