Whamcloud - gitweb
Add slab patches to chaos patch.
[fs/lustre-release.git] / lustre / tests / README
index 0e75321..50fa500 100644 (file)
@@ -3,15 +3,15 @@ A variety of tests can be run or environments set up.
 1. runregression-net
 
 Usage on server:
-llsetup.sh  marcus-echo-server.cfg
+   llsetup.sh  marcus-echo-server.cfg
 
 with marcus-echo-server.cfg:
 
-NETWORK=elan
-LOCALHOST=4
-SERVER=4
-SETUP_OST=y
-OSTTYPE=obdecho
+   NETWORK=elan
+   LOCALHOST=4
+   SERVER=4
+   SETUP_OST=y
+   OSTTYPE=obdecho
 
 
 Usage on client: 
@@ -19,12 +19,82 @@ runregression-net  marcus-echo-client.cfg
 
 with marcus-echo-client.cfg:
 
-NETWORK=elan
-LOCALHOST=5
-SERVER=4
-SETUP_OSC=y
+   NETWORK=elan
+   LOCALHOST=5
+   SERVER=4
+   SETUP_OSC=y
 
-If things are allright it goes through all the tests single threaded,
-multithreaded, getattr and brw
+If things are alright it goes through all the tests single threaded,
+multithreaded, getattr and brw (both read and write).
 
+2. How to build .cfg scripts:
+The various .cfg scripts in the tests/ directory can be used as building
+blocks for full configurations.  For example, the above configurations are:
 
+   cat elan-server.cfg obdecho.cfg > marcus-echo-server.cfg
+   cat elan-client.cfg client-echo.cfg > marcus-echo-client.cfg
+
+You _could_ specify multiple .cfg files as the parameters to llsetup if
+you are doing something uncommon, but it is probably just easer to build
+a whole config file in one shot, edit it as needed, and use that file instead.
+
+For a loopback setup with a mounted filesystem, you could do something like:
+
+   cat net-local.cfg mds.cfg obdext2.cfg client-mount.cfg > uml.cfg
+
+The order of the specified .cfg files does not matter.
+
+Since the .cfg script is a shell script, you can add conditional setup in
+case you want to avoid changing your configuration if you need to run on
+a different host.  You could, for example, have marcus-echo-server.cfg:
+
+   NETWORK=elan
+   HOST=`hostname | sed "s/\..*//"`
+   case $HOST in
+   dev*) LOCALHOST=`echo $HOST | sed "s/dev//"`
+         SERVER=$LOCALHOST
+        NETWORK=elan ;;
+   *)    LOCALHOST=$HOST
+         SERVER=$LOCALHOST
+         NETWORK=tcp ;;
+   esac
+   SETUP_OST=y
+   OSTTYPE=obdecho
+
+You would, of course, need a marcus-echo-client.cfg to match.
+
+3. runtests
+
+The runtests script does a series of simple file-based tests using
+a filesystem.  You need to use a configuration which includes a real
+OST and MDS setup, and an OSC mount.  For example, a configuration
+marcus-obd-server.cfg:
+
+   SETUP_MDS=y
+   NETWORK=elan
+   LOCALHOST=4
+   SERVER=4
+   MDSFS=ext3
+   MDSDEV=/tmp/mds
+   MDSSIZE=10000
+   OSTDEV=/tmp/ost
+   OSTSIZE=10000
+   OSTFS=ext2
+   OSTTYPE=obdext2
+   SETUP_OST=y
+   SETUP_LDLM=y
+
+As with the echo test, you run "sh llsetup.sh marcus-obd-server.cfg" on
+the server to configure it.
+
+For marcus-obd-client.cfg you only need to include the client data:
+
+   NETWORK=elan
+   LOCALHOST=5
+   SERVER=4
+   SETUP_OSC=y
+   OSCMT=/mnt/lustre
+   SETUP_MOUNT=y
+   SETUP_LDLM=y
+
+You run the test via "sh runtests marcus-obd-client.cfg".