1
0
mirror of https://github.com/gluster/glusterfs.git synced 2026-02-06 00:49:30 +01:00
Files
glusterfs/extras/distributed-testing
Amar Tumballi 1725880dab encryption/crypt: remove from volume file
The feature is not supported and is moved out of the codebase from
glusterfs-5.x release. Doesn't make sense to keep the code to
support it.

For those who want to upgrade from an version supporting it to higher
version, please do a 'gluster volume reset $VOL encryption reset' and
then continue with the upgrade process.

updates: bz#1648169
Change-Id: I8cf822c0d7195940bd37f6af2432a3cac68d44d1
Signed-off-by: Amar Tumballi <amarts@redhat.com>
2019-06-20 11:51:33 +00:00
..
2018-09-03 09:14:44 +00:00

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.