Whamcloud - gitweb
* MDC element is no longer created in config. The MDC UUIDS are generated
[fs/lustre-release.git] / lustre / tests / runregression-net.sh
1 #!/bin/sh
2 export PATH=/sbin:/usr/sbin:$PATH
3
4 SRCDIR="`dirname $0`/"
5 . $SRCDIR/common.sh
6
7 setup_opts $@
8
9 setup_portals
10 setup_lustre
11
12 runthreads() {
13         THR=$1
14         DO=$2
15         CNT=$3
16         V=$4
17         PGS=$5
18
19         case $CMD in
20         test_getattr)
21                 RW=
22                 ;;
23         test_brw_write)
24                 DO=test_brw
25                 RW=w
26                 ;;
27
28         test_brw_read)
29                 DO=test_brw
30                 RW=r
31                 ;;
32         esac
33
34         if [ -e endrun ]; then
35                 rm endrun
36                 echo "exiting because of endrun"
37                 exit 0
38         fi
39
40         $OBDCTL --threads $THR v '$OSCDEV' $DO $CNT $RW $V $PGS $OID || exit 1
41 }
42
43 # TODO: obdctl needs to check on the progress of each forked thread
44 #       (IPC SHM, sockets?) to see if it hangs.
45 for CMD in test_getattr test_brw_write test_brw_read; do
46         setup_server || exit -1
47         setup_client || exit -1
48
49         case $CMD in
50         test_getattr)
51                 PG=
52                 PGV=
53                 OID=`$OBDCTL --device '$OSCDEV' create 1 | \
54                         awk '/is object id/ { print $6 }'`
55                 ;;
56         test_brw_write)
57                 PG=1
58                 PGV=16
59                 ;;
60
61         test_brw_read)
62                 PG=1
63                 PGV=16
64                 ;;
65         esac
66
67         # We use '--threads 1 X' instead of '--device X' so that
68         # obdctl can monitor the forked thread for progress (TODO).
69         runthreads 1 $CMD 1 1 $PG
70         runthreads 1 $CMD 100 1 $PG
71
72         #cleanup_client || exit -1
73         #cleanup_server || exit -1
74
75         #setup_server || exit -1
76         #setup_client || exit -1
77
78         debug_server_off
79         debug_client_off
80         runthreads 1 $CMD 10000 100 $PG
81         [ "$PGV" ] && runthreads 1 $CMD 1000 100 $PGV
82
83         runthreads 1 $CMD 1000000 -30 $PG
84         [ "$PGV" ] && runthreads 1 $CMD 100000 -30 $PGV
85
86         debug_server_on
87         debug_client_on
88         runthreads 1 $CMD 100 1 $PG
89
90         debug_server_off
91         debug_client_off
92         runthreads 2 $CMD 10000 100 $PG
93         [ "$PGV" ] && runthreads 2 $CMD 1000 100 $PGV
94
95         runthreads 2 $CMD 1000000 -30 $PG
96         [ "$PGV" ] && runthreads 2 $CMD 100000 -30 $PGV
97
98         runthreads 10 $CMD 10000 1000 $PG
99         [ "$PGV" ] && runthreads 10 $CMD 1000 1000 $PGV
100
101         runthreads 100 $CMD 10000 -30 $PG
102
103         [ "$CMD" = "test_brw_read" ] && $OBDCTL --device '$OSCDEV' destroy $OID
104
105         cleanup_client || exit -1
106         cleanup_server || exit -1
107 done
108
109 cleanup_lustre
110 cleanup_portals