LINBIT Open Source Software - drbd-testsuite


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:
           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 
   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:
           The testing server.
   load-drbd-version.sh <version>
           Loads a DRBD version. For example load-drbd-version.sh 8.3 loads the 
           DRBD version of the 8.3 branch.
           Cleans up after the testing server.
   5.) Contact
   The author may be reached at johannes.thoma@linbit.com.

This program is free software; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.   [ Read the licence ]

Imprint: LINBIT Information Technologies GmbH Vivenotgasse 48, A-1120 Vienna, phone +43 1 817 82 92 - 0, office@linbit.com