|
LINBIT Open Source Software - drbd-testsuite |
|
Download: drbd-testsuite-0.9.2.tar.gz drbd-testsuite-0.9.1.tar.gz drbd-testsuite-0.9.0.tar.gz more LINBIT OSS .. |
DRBD Regression Test Suite
--------------------------
1.) What is it?
---------------
Drbd-testsuite is a regression test suite for Distributed Replicated
Block Device (DRBD, see www.drbd.org). DRBD itself is a block device
driver for the GNU/Linux operating system that mirrors a disk over
the network onto another node.
DRBD-testsuite was written by Johannes Thoma, a guy working at Linbit,
the company that has written and maintains DRBD. It is mainly written
in Python plus some C.
2.) How to obtain it?
---------------------
Drbd-testsuite is available from http://oss.linbit.com/drbd-testsuite.
The latest version can always be checked out via git by doing a:
git-clone git://git.linbit.com/drbd-testsuite
3.) How to use it?
------------------
First, you'll need (at least) two GNU/Linux boxes (may also be
virtual machines) with DRBD installed. You don't need to configure
DRBD resources by yourself, drbd-testsuite will do that for you.
You'll also need LVM, since drbd-testsuite will create and destroy
disks on a logical volume for testing purposes. Finally you'll need
a third box where the test scripts themselves are running (you can
run them on the DRBD machines but they may lock up sometimes, so,
better don't).
To build the test-suite you'll need the GNU tool chain (gcc,
and so forth), which you'll probably already have. Then, you need
swig (http://www.swig.org/), since we're using some C functionality
in the scripts. You will also need the Python development files
(python-dev in most distros).
Of course, to run the testsuite you need Python.
To build and install do a:
make
su make install
(Alternatively you can build it by calling the setup.py script
directly, but you have to do it twice, else the mlock extension
will not be built properly:
python setup.py build
python setup.py build
python setup.py install)
This will install some Python modules in the site-packages directory,
plus some scripts into /usr/bin.
To configure drbd-testsuite you need to edit the file
/etc/drbd-testsuite.cfg (alternatively create a .drbd-testsuite.cfg
in you home directory).
You need to tell the test-suite for each node 1.) where the
LVM to use for the disks is located and 2.) which port to
use for the connection. For each test node there must be
a section (like [node1]). Then follows the options, like
VolumeGroup = foo.
Start drbd-testsuite server by calling the drbd-testing-server.py
script on the server boxes. If it does not not complain you can run some
of the test scripts that come with the distribution (and unleash
some errors in earlier DRBD versions).
To start the test scripts you'll need to specify the nodes to
test on on the command line, like in:
drbd-test-bugzilla-49-invalidate.py node1 node2
To get documentation use pydoc, as in:
pydoc drbd_testsuite_client/drbdtest.py
4.) Scripts
-----------
DRBD testsuite is a collection of Python and shell scripts. The most important
are:
Client scripts:
drbd-test-all-tests.sh <node1> <node2> [<node3>]
Runs all known-good tests on node1 and node2 (drbd-testing-server.py must
be running on the nodes).
Server scripts:
drbd-testing-server.py
The testing server.
load-drbd-version.sh <version>
Loads a DRBD version. For example load-drbd-version.sh 8.3 loads the
latest
DRBD version of the 8.3 branch.
kill-monitors.sh
Cleans up after the testing server.
5.) Contact
----------
The author may be reached at johannes.thoma@linbit.com.
|