Gyuho Lee 6ceb71efb1 functional-tester/rpcpb: include "Member" in "Response" 7 years ago
..
agent f4f59750a8 functional-tester/agent: use "AdvertisePeerURLs" 7 years ago
cmd 3fe077746f functional-tester/cmd/etcd-tester: add wait health logging 7 years ago
rpcpb 6ceb71efb1 functional-tester/rpcpb: include "Member" in "Response" 7 years ago
runner e170d40f90 functional-tester: move "etcd-runner" to "./cmd" 7 years ago
scripts bb73145565 functional-tester: update local test scripts with docker 7 years ago
tester b70f9e1639 functional-tester/tester: add TLS flags 7 years ago
README.md 13bf22ba51 functional-tester: update README 7 years ago
build 586a253943 functional-tester: update build paths 7 years ago

README.md

etcd functional test suite

etcd functional test suite tests the functionality of an etcd cluster with a focus on failure resistance under high pressure. It sets up an etcd cluster and inject failures into the cluster by killing the process or isolate the network of the process. It expects the etcd cluster to recover within a short amount of time after fixing the fault.

etcd functional test suite has two components: etcd-agent and etcd-tester. etcd-agent runs on every test machine, and etcd-tester is a single controller of the test. tester controls agents: start etcd process, stop, terminate, inject failures, and so on.

Run locally

PASSES=functional ./test

Run with Docker

To run locally, first build tester image:

pushd ../..
make build-docker-functional-tester
popd

And run example scripts.

# run 3 agents for 3-node local etcd cluster
./scripts/docker-local-agent.sh 1
./scripts/docker-local-agent.sh 2
./scripts/docker-local-agent.sh 3

# to run only 1 tester round
./scripts/docker-local-tester.sh