Whamcloud - gitweb
Initial single-node replay test framework, based on readonly and notransno
authorshaver <shaver>
Thu, 24 Jul 2003 19:07:10 +0000 (19:07 +0000)
committershaver <shaver>
Thu, 24 Jul 2003 19:07:10 +0000 (19:07 +0000)
lctls and multi-facet configuration.

Next: an upcall and actual replay tests.

lustre/tests/replay-single.sh [new file with mode: 0755]

diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh
new file mode 100755 (executable)
index 0000000..3203044
--- /dev/null
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+set -e
+
+LUSTRE=${LUSTRE:-`dirname $0`/..}
+LTESTDIR=${LTESTDIR:-$LUSTRE/../ltest}
+PATH=$PATH:$LUSTRE/utils:$LUSTRE/tests
+
+RLUSTRE=${RLUSTRE:-$LUSTRE}
+RPWD=${RPWD:-$PWD}
+
+. $LTESTDIR/functional/llite/common/common.sh
+
+# XXX I wish all this stuff was in some default-config.sh somewhere
+MOUNTPT=${MOUNTPT:-/mnt/lustre}
+MDSDEV=${MDSDEV:-/tmp/mds-`hostname`}
+MDSSIZE=${MDSSIZE:-100000}
+OSTDEV=${OSTDEV:-/tmp/ost-`hostname`}
+OSTSIZE=${OSTSIZE:-100000}
+UPCALL=${UPCALL:-$PWD/replay-single-upcall.sh}
+FSTYPE=${FSTYPE:-ext3}
+TIMEOUT=${TIMEOUT:-5}
+
+start() {
+    facet=$1
+    shift
+    lconf --node ${facet}_facet $@ replay-single.xml
+}
+
+stop() {
+    facet=$1
+    shift
+    lconf --node ${facet}_facet $@ -d replay-single.xml
+}
+
+replay_barrier() {
+    local dev=$1
+    sync
+    lctl --device %${dev}1 readonly
+    lctl --device %${dev}1 notransno
+}
+
+fail() {
+    stop mds
+    start mds
+    df $MOUNTPT
+}
+
+do_lmc() {
+    lmc -m replay-single.xml $@
+}
+
+add_facet() {
+    local facet=$1
+    shift
+    do_lmc --add node --node ${facet}_facet $@ --timeout $TIMEOUT
+    do_lmc --add net --node ${facet}_facet --nid localhost --nettype tcp
+}
+
+gen_config() {
+    rm -f replay-single.xml
+    add_facet mds
+    add_facet ost
+    add_facet client --lustre_upcall $UPCALL
+    do_lmc --add mds --node mds_facet --mds mds1 --dev $MDSDEV --size $MDSSIZE
+    do_lmc --add ost --node ost_facet --ost ost1 --dev $OSTDEV --size $OSTSIZE
+    do_lmc --add mtpt --node client_facet --path $MOUNTPT --mds mds1 --ost ost1
+}
+
+gen_config
+start mds
+start ost
+start client
+
+touch $MOUNTPT/lustre-works
+replay_barrier mds
+touch $MOUNTPT/lustre-does-not-work
+
+stop client
+stop ost
+stop mds