Whamcloud - gitweb
current branches now use lnet from HEAD
[fs/lustre-release.git] / lustre / tests / local.sh
1 #!/bin/bash
2
3 export PATH=`dirname $0`/../utils:$PATH
4
5 config=${1:-local.xml}
6
7 LMC="${LMC:-lmc} -m $config"
8 TMP=${TMP:-/tmp}
9
10 MDSDEV=${MDSDEV:-$TMP/mds1-`hostname`}
11
12 MDSSIZE=${MDSSIZE:-400000}
13 DEF_FSTYPE=`test "x$(uname -r | grep -o '2.6')" = "x2.6" && echo "ldiskfs" || echo "ext3"`
14 FSTYPE=${FSTYPE:-$DEF_FSTYPE}
15 OST_FSTYPE=${OST_FSTYPE:-$FSTYPE}
16 MOUNT=${MOUNT:-/mnt/lustre}
17 MOUNT2=${MOUNT2:-${MOUNT}2}
18 NETTYPE=${NETTYPE:-tcp}
19
20 OSTDEV=${OSTDEV:-$TMP/ost1-`hostname`}
21 OSTSIZE=${OSTSIZE:-400000}
22
23 MDS_BACKFSTYPE=${MDS_BACKFSTYPE:-$DEF_FSTYPE}
24 OST_BACKFSTYPE=${OST_BACKFSTYPE:-$DEF_FSTYPE}
25
26 # specific journal size for the ost, in MB
27 JSIZE=${JSIZE:-0}
28 [ "$JSIZE" -gt 0 ] && JARG="--journal_size $JSIZE"
29 MDSISIZE=${MDSISIZE:-0}
30 [ "$MDSISIZE" -gt 0 ] && IARG="--inode_size $MDSISIZE"
31
32 STRIPE_BYTES=1048576
33 STRIPES_PER_OBJ=0       # 0 means stripe over all OSTs
34
35 rm -f $config
36
37 #
38 # duplicated form test-framework.sh
39 #
40 h2tcp() {
41    echo $1 
42 }
43 h2elan() {
44    echo $1 | sed 's/[^0-9]*//g'
45 }
46 h2openib() {
47    echo $1 | sed 's/[^0-9]*//g'
48 }
49
50 local_nid() {
51     hostname=`hostname`
52     nid=`h2$NETTYPE $hostname`
53     echo $nid
54 }
55
56 # create nodes
57 ${LMC} --add node --node localhost || exit 10
58 ${LMC} --add net --node  localhost --nid `local_nid` --nettype $NETTYPE || exit 11
59 ${LMC} --add net --node client --nid '*' --nettype $NETTYPE || exit 12
60
61
62 [ "x$MDS_MOUNT_OPTS" != "x" ] &&
63     MDS_MOUNT_OPTS="--mountfsoptions $MDS_MOUNT_OPTS"
64
65 # configure mds server
66 ${LMC} --add mds --nspath /mnt/mds_ns --node localhost --mds mds1 \
67 --fstype $FSTYPE --backfstype $MDS_BACKFSTYPE --dev $MDSDEV \
68 $MDS_MOUNT_OPTS --size $MDSSIZE $JARG $IARG || exit 20
69
70 [ "x$OST_MOUNT_OPTS" != "x" ] &&
71     OST_MOUNT_OPTS="--mountfsoptions $OST_MOUNT_OPTS"
72
73 # configure ost
74 ${LMC} -m $config --add lov --lov lov1 --mds mds1 --stripe_sz $STRIPE_BYTES \
75 --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 || exit 20
76
77 ${LMC} --add ost --ost ost1 --nspath /mnt/ost_ns --node localhost --lov lov1 \
78 --fstype $OST_FSTYPE --backfstype $OST_BACKFSTYPE --dev $OSTDEV \
79 $OST_MOUNT_OPTS --size $OSTSIZE $JARG || exit 30
80
81 # create client config
82 ${LMC} --add mtpt --node localhost --path $MOUNT --clientoptions async --mds mds1 --lov lov1 || exit 40
83 ${LMC} --add mtpt --node client --path $MOUNT2 --mds mds1 --clientoptions async --lov lov1 || exit 41