mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
test: allow controlling etcd log level
When running an integration test that measures performance, like for example test/integration/scheduler_perf, running etcd with debug level output is undesirable because it creates additional load on the system and isn't realistic. The default is still "debug", but ETCD_LOGLEVEL=warn can be used to override that.
This commit is contained in:
parent
1f341ee7b5
commit
259a8ad0b7
@ -19,6 +19,10 @@
|
|||||||
ETCD_VERSION=${ETCD_VERSION:-3.5.1}
|
ETCD_VERSION=${ETCD_VERSION:-3.5.1}
|
||||||
ETCD_HOST=${ETCD_HOST:-127.0.0.1}
|
ETCD_HOST=${ETCD_HOST:-127.0.0.1}
|
||||||
ETCD_PORT=${ETCD_PORT:-2379}
|
ETCD_PORT=${ETCD_PORT:-2379}
|
||||||
|
# This is intentionally not called ETCD_LOG_LEVEL:
|
||||||
|
# etcd checks that and compains when it is set in addition
|
||||||
|
# to the command line argument, even when both have the same value.
|
||||||
|
ETCD_LOGLEVEL=${ETCD_LOGLEVEL:-debug}
|
||||||
export KUBE_INTEGRATION_ETCD_URL="http://${ETCD_HOST}:${ETCD_PORT}"
|
export KUBE_INTEGRATION_ETCD_URL="http://${ETCD_HOST}:${ETCD_PORT}"
|
||||||
|
|
||||||
kube::etcd::validate() {
|
kube::etcd::validate() {
|
||||||
@ -82,8 +86,8 @@ kube::etcd::start() {
|
|||||||
else
|
else
|
||||||
ETCD_LOGFILE=${ETCD_LOGFILE:-"/dev/null"}
|
ETCD_LOGFILE=${ETCD_LOGFILE:-"/dev/null"}
|
||||||
fi
|
fi
|
||||||
kube::log::info "etcd --advertise-client-urls ${KUBE_INTEGRATION_ETCD_URL} --data-dir ${ETCD_DIR} --listen-client-urls http://${ETCD_HOST}:${ETCD_PORT} --log-level=debug > \"${ETCD_LOGFILE}\" 2>/dev/null"
|
kube::log::info "etcd --advertise-client-urls ${KUBE_INTEGRATION_ETCD_URL} --data-dir ${ETCD_DIR} --listen-client-urls http://${ETCD_HOST}:${ETCD_PORT} --log-level=${ETCD_LOGLEVEL} > \"${ETCD_LOGFILE}\" 2>/dev/null"
|
||||||
etcd --advertise-client-urls "${KUBE_INTEGRATION_ETCD_URL}" --data-dir "${ETCD_DIR}" --listen-client-urls "${KUBE_INTEGRATION_ETCD_URL}" --log-level=debug 2> "${ETCD_LOGFILE}" >/dev/null &
|
etcd --advertise-client-urls "${KUBE_INTEGRATION_ETCD_URL}" --data-dir "${ETCD_DIR}" --listen-client-urls "${KUBE_INTEGRATION_ETCD_URL}" --log-level="${ETCD_LOGLEVEL}" 2> "${ETCD_LOGFILE}" >/dev/null &
|
||||||
ETCD_PID=$!
|
ETCD_PID=$!
|
||||||
|
|
||||||
echo "Waiting for etcd to come up."
|
echo "Waiting for etcd to come up."
|
||||||
|
@ -36,14 +36,14 @@ How To Run
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
# In Kubernetes root path
|
# In Kubernetes root path
|
||||||
make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-alsologtostderr=true -logtostderr=true -run=." KUBE_TIMEOUT="--timeout=60m" SHORT="--short=false"
|
make test-integration WHAT=./test/integration/scheduler_perf ETCD_LOGLEVEL=warn KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-alsologtostderr=true -logtostderr=true -run=." KUBE_TIMEOUT="--timeout=60m" SHORT="--short=false"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Benchmark tests
|
## Benchmark tests
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# In Kubernetes root path
|
# In Kubernetes root path
|
||||||
make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-alsologtostderr=false -logtostderr=false -run=^$$ -benchtime=1ns -bench=BenchmarkPerfScheduling"
|
make test-integration WHAT=./test/integration/scheduler_perf ETCD_LOGLEVEL=warn KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-alsologtostderr=false -logtostderr=false -run=^$$ -benchtime=1ns -bench=BenchmarkPerfScheduling"
|
||||||
```
|
```
|
||||||
|
|
||||||
The benchmark suite runs all the tests specified under config/performance-config.yaml.
|
The benchmark suite runs all the tests specified under config/performance-config.yaml.
|
||||||
@ -58,14 +58,14 @@ Otherwise, the golang benchmark framework will try to run a test more than once
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
# In Kubernetes root path
|
# In Kubernetes root path
|
||||||
make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-alsologtostderr=false -logtostderr=false -run=^$$ -benchtime=1ns -bench=BenchmarkPerfScheduling/SchedulingBasic/5000Nodes/5000InitPods/1000PodsToSchedule"
|
make test-integration WHAT=./test/integration/scheduler_perf ETCD_LOGLEVEL=warn KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-alsologtostderr=false -logtostderr=false -run=^$$ -benchtime=1ns -bench=BenchmarkPerfScheduling/SchedulingBasic/5000Nodes/5000InitPods/1000PodsToSchedule"
|
||||||
```
|
```
|
||||||
|
|
||||||
To produce a cpu profile:
|
To produce a cpu profile:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# In Kubernetes root path
|
# In Kubernetes root path
|
||||||
make test-integration WHAT=./test/integration/scheduler_perf KUBE_TIMEOUT="-timeout=3600s" KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-alsologtostderr=false -logtostderr=false -run=^$$ -benchtime=1ns -bench=BenchmarkPerfScheduling -cpuprofile ~/cpu-profile.out"
|
make test-integration WHAT=./test/integration/scheduler_perf KUBE_TIMEOUT="-timeout=3600s" ETCD_LOGLEVEL=warn KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-alsologtostderr=false -logtostderr=false -run=^$$ -benchtime=1ns -bench=BenchmarkPerfScheduling -cpuprofile ~/cpu-profile.out"
|
||||||
```
|
```
|
||||||
|
|
||||||
### How to configure benchmark tests
|
### How to configure benchmark tests
|
||||||
|
Loading…
Reference in New Issue
Block a user