diff options
author | krad <krad@fb.com> | 2017-12-05 13:53:27 -0800 |
---|---|---|
committer | Jeff Darcy <jeff@pl.atyp.us> | 2018-01-18 19:37:48 +0000 |
commit | badf662b1521ed6158f42a6ac11024ae80d99ecc (patch) | |
tree | 2153e72a8d6306efec53f605218572b7b639eeb0 /extras/distributed-testing/README | |
parent | bee06ccd7b80e3f5804f0c7c7c56936fed6d2b4e (diff) |
distributed-tests: Framework for running tests on a worker cluster
Summary: This framework helps distribute running of unit tests on a cluster of machines.
Test Plan: Run tests on fb cluster
Reviewers: sshreyas, jdarcy
Change-Id: If309f504d9aa959cc8b01c85bff3b5503a890ff1
updates #374
Signed-off-by: krad <krad@fb.com>
Diffstat (limited to 'extras/distributed-testing/README')
-rw-r--r-- | extras/distributed-testing/README | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/extras/distributed-testing/README b/extras/distributed-testing/README new file mode 100644 index 00000000000..928d943f211 --- /dev/null +++ b/extras/distributed-testing/README @@ -0,0 +1,28 @@ +PROBLEM + +The testing methodology of Gluster is extremely slow. It takes a very long time (6+ hrs) to run the basic tests on a single machine. It takes about 20+ hours to run code analysis version of tests like valgrind, asan, tsan etc. + +SOLUTION + +The fundamental problem is that the tests cannot be parallelized on a single machine. The natural solution is to run these tests on a cluster of machines. In a nutshell, apply map-reduce to run unit tests. + +WORK @ Facebook + +At Facebook we have applied the map-reduce approach to testing and have observed 10X improvements. + +The solution supports the following + +Distribute tests across machines, collect results/logs +Share worker pool across different testers +Try failure 3 times on 3 different machines before calling it a failure +Support running asan, valgrind, asan-noleaks +Self management of worker pools. The clients will manage the worker pool including version update, no manual maintenance required +WORK + +Port the code from gluster-fb-3.8 to gluster master + +HOW TO RUN + +./extras/distributed-testing/distributed-test.sh --hosts '<h1> <h2> <h3>' + +All hosts should have no password for ssh via root. This can be achieved with keys setup on the client and the server machines. |