Whamcloud - gitweb
Branch: b1_4
authoradilger <adilger>
Wed, 4 May 2005 21:28:01 +0000 (21:28 +0000)
committeradilger <adilger>
Wed, 4 May 2005 21:28:01 +0000 (21:28 +0000)
Commit the routed.sh script to CVS for reference, remove old configs.

lustre/tests/mcr-individual-ost-nogw-config.sh [deleted file]
lustre/tests/mcr-mds-failover-config.sh [deleted file]
lustre/tests/mcr-routed-config.sh [deleted file]
lustre/tests/mcrlov.sh [deleted file]
lustre/tests/routed.sh [new file with mode: 0644]

diff --git a/lustre/tests/mcr-individual-ost-nogw-config.sh b/lustre/tests/mcr-individual-ost-nogw-config.sh
deleted file mode 100755 (executable)
index 0401bf5..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-
-config=${1:-echo-no-gw.xml}
-
-LMC="save_cmd"
-LMC_REAL="../../lustre/utils/lmc -m $config"
-
-# TCP/IP servers
-SERVER_START=0
-SERVER_CNT=62
-
-TCPBUF=1048576
-h2tcp () {
-    echo "${1}"
-}
-BATCH=/tmp/lmc-batch.$$
-save_cmd() {
-    echo "$@" >> $BATCH
-}
-
-[ -f $config ] && rm $config
-
-# Client node
-${LMC} --add net --node client --tcpbuf $TCPBUF --nid '*' --nettype tcp || exit 1
-
-# this is crude, but effective
-let server_per_gw=($SERVER_CNT / $GW_CNT )
-let tot_server=$server_per_gw*$GW_CNT
-
-let server=$SERVER_START
-while (( $server < $SERVER_CNT + SERVER_START ));
-do 
-      echo "server: $server"
-      OST=ba$server
-      # server node
-      ${LMC} --add net --node $OST --tcpbuf $TCPBUF --nid $OST --nettype tcp || exit 1
-      # the device on the server
-      ${LMC} --add ost --node $OST --obd obd_$OST --obdtype=obdecho || exit 3
-      # osc on client
-      ${LMC} --add oscref --node client --osc OSC_obd_$OST
-      let server=$server+1 
-done
-
-$LMC_REAL --batch $BATCH
-rm -f $BATCH
diff --git a/lustre/tests/mcr-mds-failover-config.sh b/lustre/tests/mcr-mds-failover-config.sh
deleted file mode 100755 (executable)
index 29ec215..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-LMC=/usr/local/cfs/lustre/utils/lmc
-# LMC="echo lmc"
-CONFIG=mcr-mds-failover.xml
-LUSTRE_QUERY=/usr/local/cfs/lustre-failover/lustre-query
-GW_NODE=mcr21
-CLIENT_ELAN=`hostname | sed s/[^0-9]*//;`
-OST=${OST:-ba50}
-UUIDLIST=${UUIDLIST:-/usr/local/admin/ba-ost/UUID.txt}
-OST_UUID=`awk "/$OST / { print \\$3 }" $UUIDLIST`
-[ "$OST_UUID" ] && OST_UUID="--ostuuid=$OST_UUID" || echo "$OST: no UUID"
-MDS_DEVICE=/dev/sda3
-MDS_SIZE=500000
-TCPBUF=1048576
-
-MDSNODES=`$LUSTRE_QUERY -h emcri -s id=mds -f`
-ACTIVEMDS=`$LUSTRE_QUERY -h emcri -s id=mds -a`
-
-echo "MDS nodes: $MDSNODES, active: $ACTIVEMDS"
-
-h2elan () {
-    echo $1 | sed 's/[^0-9]*//g'
-}
-
-h2tcp () {
-    echo "${1}"
-}
-
-
-# create client node
-$LMC -o $CONFIG --add net --node client --nid '*' --nettype elan
-$LMC -m $CONFIG --add net --router --node mcr21 --tcpbuf $TCPBUF --nid `h2tcp $GW_NODE` --nettype tcp
-$LMC -m $CONFIG --add net --router --node mcr21 --nid `h2elan $GW_NODE` --nettype elan
-$LMC -m $CONFIG --add route --node $GW_NODE --nettype elan --gw `h2elan $GW_NODE` --lo $CLIENT_ELAN 
-
-# create MDS node entries
-for mds in $MDSNODES; do
-  elanaddr=`$LUSTRE_QUERY -h emcri -s id=$mds -e`
-  $LMC -m $CONFIG --add net --node $mds --nid $elanaddr --nettype elan
-  $LMC -m $CONFIG --add mds --node $mds --mds mds_$mds --dev $MDS_DEVICE --size $MDS_SIZE
-done
-
-# create OST node entry
-$LMC -m $CONFIG --add net --node $OST --tcpbuf $TCPBUF --nid $OST --nettype tcp
-$LMC -m $CONFIG --add ost --node $OST --ost ost_$OST $OST_UUID --dev bluearc
-$LMC -m $CONFIG --add route --node $GW_NODE --nettype tcp --gw `h2tcp $GW_NODE` --lo $OST
-
-# mount
-$LMC -m $CONFIG --add mtpt --node client --path /mnt/lustre --mds mds_$ACTIVEMDS --lov ost_$OST
diff --git a/lustre/tests/mcr-routed-config.sh b/lustre/tests/mcr-routed-config.sh
deleted file mode 100755 (executable)
index 8d8a100..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-
-BASE=`hostname | sed "s/[i0-9]*$//"`
-[ $BASE = "mcr" ] && OSTBASE=${OSTBASE:-ba} || OSTBASE=${OSTBASE:-ba-ost-}
-
-config=${1:-$BASE.xml}
-
-BATCH=/tmp/lmc-batch.$$
-save_cmd() {
-    echo "$@" >> $BATCH
-}
-
-LMC="save_cmd"
-LMC_REAL="../utils/lmc -m $config"
-
-# TCP/IP servers
-SERVER_START=0
-SERVER_CNT=32
-GW_START=0
-GW_CNT=16
-MDS=${BASE}23
-UUIDLIST=${UUIDLIST:-/usr/local/admin/ba-ost/UUID.txt}
-
-echo "MDS: $MDS"
-
-# This is needed for to create route for elan network
-CLIENT_LO=38
-CLIENT_HI=191
-
-TCPBUF=1048576
-h2elan () {
-    echo $1 | sed 's/[^0-9]*//g'
-}
-
-h2tcp () {
-    echo "${1}"
-}
-
-# map gateway NN to host NN (assumes mcr[22-25] are not gateways)
-gw2node() {
-       [ $1 -gt 21 ] && echo $(($1 + 4)) || echo $1
-}
-
-[ -f $config ] && rm $config
-
-${LMC} --add net --node $MDS --nid `h2elan $MDS` --nettype elan || exit 1
-${LMC} --add mds --node $MDS --mds mds1 --dev /tmp/mds1 --size 100000 || exit 1
-${LMC} --add lov --lov lov1 --mds mds1 --stripe_sz 65536 --stripe_cnt 1 --stripe_pattern 0
-
-# Client node
-#${LMC} --add net --node client --tcpbuf $TCPBUF --nid '*' --nettype tcp || exit 1
-${LMC} --add net --node client --nid '*' --nettype elan || exit 1
-${LMC} --add mtpt --node client --path /mnt/lustre --mds mds1 --lov lov1
-
-# this is crude, but effective
-let server_per_gw=($SERVER_CNT / $GW_CNT )
-let tot_server=$server_per_gw*$GW_CNT
-echo "Allocating $server_per_gw OSTs per gateway."
-echo "For a total of $tot_server Blue Arc OSTs"
-
-let gw=$GW_START
-let server=$SERVER_START
-while (( $gw < $GW_CNT + GW_START ));
-do 
-   gwnode=$BASE`gw2node $gw`
-   echo "Router: $gwnode"
-   ${LMC} --add net --router --node $gwnode --tcpbuf $TCPBUF --nid `h2tcp $gwnode`  --nettype tcp || exit 1
-   ${LMC} --add net --node $gwnode --nid `h2elan $gwnode` --nettype elan || exit 1
-   ${LMC} --add route --node $gwnode --nettype elan --gw `h2elan $gwnode` --lo `h2elan $CLIENT_LO` --hi `h2elan $CLIENT_HI` || exit 2
-
-   let  i=0
-   while (( $i < $server_per_gw ));
-   do
-      OST=${OSTBASE}$server
-      echo "server: $OST"
-      OST_UUID=`awk "/$OST / { print \\$3 }" $UUIDLIST`
-      [ "$OST_UUID" ] && OST_UUID="--ostuuid $OST_UUID" || echo "$OST: no UUID"
-      # server node
-      ${LMC} --add net --node $OST --tcpbuf $TCPBUF --nid $OST --nettype tcp || exit 1
-      # the device on the server
-      ${LMC} --add ost --lov lov1 --node $OST $OBD_UUID --dev bluearc || exit 3
-      # route to server
-      ${LMC} --add route --node $gwnode --nettype tcp --gw `h2tcp $gwnode` --lo $OST || exit 2
-      let server=$server+1 
-      let i=$i+1
-   done
-
-   let gw=$gw+1
-done
-
-$LMC_REAL --batch $BATCH
-rm -f $BATCH
diff --git a/lustre/tests/mcrlov.sh b/lustre/tests/mcrlov.sh
deleted file mode 100755 (executable)
index cce8878..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/bash
-
-config=${1:-mcrlov.xml}
-
-LMC="../utils/lmc -m $config"
-
-# TCP/IP servers
-SERVERS="ba-ost-1  ba-ost-2"
-ROUTER=dev5
-MDS=dev7
-TMP=${TMP:-/tmp}
-
-# Elan clients
-CLIENT_LO=dev2
-CLIENT_HI=dev25
-
-TCPBUF=1048576
-
-h2elan () {
-    echo $1 | sed 's/[^0-9]*//g'
-}
-
-h2tcp () {
-    echo "${1}"
-}
-
-[ -f $config ] && rm $config
-
-# Client node
-${LMC} --add net --node client --nid '*' --nettype elan || exit 1
-# Router node
-${LMC} --add net --router --node $ROUTER --tcpbuf $TCPBUF --nid `h2tcp $ROUTER`  --nettype tcp || exit 1
-${LMC} --add net --node $ROUTER --nid `h2elan $ROUTER` --nettype elan|| exit 1
-${LMC} --add route --node $ROUTER --gw `h2elan $ROUTER` --lo `h2elan $CLIENT_LO` --hi `h2elan $CLIENT_HI` --nettype elan || exit 2
-
-${LMC} --add net --node $MDS --nid `h2elan $MDS` --nettype elan || exit 1
-${LMC} --add mds --node $MDS --mds mds1 --dev $TMP/mds1 --size 100000 || exit 1
-${LMC} --add lov --lov lov1 --mds mds1 --stripe_sz 65536 --stripe_cnt 0 --stripe_pattern 0 || exit 1
-
-${LMC} --add mtpt --node client --path /mnt/lustre --mds mds1 --lov lov1
-
-for s in $SERVERS
- do
-   # server node
-   ${LMC} --add net --node $s --tcpbuf $TCPBUF --nid $s --nettype tcp || exit 1
-   # route to server
-   ${LMC} --add route --node $ROUTER --nettype tcp --gw `h2tcp $ROUTER` --lo $s || exit 2
-   # the device on the server
-   #${LMC} --format --lov lov1 --node $s --ost bluearc || exit 3
-   ${LMC} --add ost  --lov lov1 --node $s --dev bluearc --format || exit 3
-done
diff --git a/lustre/tests/routed.sh b/lustre/tests/routed.sh
new file mode 100644 (file)
index 0000000..7f65273
--- /dev/null
@@ -0,0 +1,154 @@
+#!/bin/sh -vx
+
+set -e
+
+export PATH=`dirname $0`/../utils:$PATH
+
+config=${1:-`basename $0 .sh`.xml}
+
+BATCH=/tmp/lmc-batch.$$
+save_cmd() {
+    echo "$@" >> $BATCH
+}
+
+LMC_REAL="${LMC:-lmc} -m $config"
+LMC="save_cmd"
+
+TMP=${TMP:-/tmp}
+
+MOUNT=${MOUNT:-/mnt/lustre}
+
+STRIPE_BYTES=$((1024*1024))
+STRIPES_PER_OBJ=1
+
+# specific journal size for the ost, in MB
+JSIZE=${JSIZE:-0}
+JARG=""
+[ "$JSIZE" -gt 0 ] && JARG="--journal_size $JSIZE"
+
+MDSNODE=${MDSNODE:-srv1}
+MDSDEV=${MDSDEV:-$TMP/mds1-$MDSNODE}
+MDSSIZE=${MDSSIZE:-400000}
+OSTNODES=${OSTNODES:-"srv2 srv3 srv2 srv3"}
+OSTSIZE=${OSTSIZE:-150000}
+# OSTDEVN will still override the device for OST N
+OSTFAILOVER=${OSTFAILOVER:---failover}
+ROUTERS=${ROUTERS:-"cli1 cli2"}
+CLIENT_NETTYPE=elan
+CLIENT_CLUSTER=${CLIENT_CLUSTER:-0x0000}
+CLIENT_LO=${CLIENT_LO:-cli3}
+CLIENT_HI=${CLIENT_HI:-cli4}
+CLIENTS=${CLIENTS:-client}
+SERVER_NETTYPE=tcp
+SERVER_CLUSTER=${SERVER_CLUSTER:-0x1000}
+FSNAME=fs1
+
+h2tcp () {
+       case $1 in
+       client) echo '\*' ;;
+       *) echo $1 ;;
+       esac
+}
+
+h2elan () { # assumes node names of the form fooN, where N is elan node ID
+       case $1 in
+       client) echo '\*' ;;
+       *) echo $1 | sed "s/[^0-9]*//" ;;
+       esac
+}
+
+rm -f $config $BATCH
+
+# MDSNODE
+echo; echo -n "adding MDS on: $MDSNODE"
+eval "NODE$MDSNODE=y"
+$LMC --add net --node $MDSNODE --nid `h2$SERVER_NETTYPE $MDSNODE` \
+       --nettype $SERVER_NETTYPE --cluster_id $SERVER_CLUSTER
+$LMC --add mds --node $MDSNODE --mds mds-$FSNAME --dev $MDSDEV $MDSOPT
+$LMC --add lov --lov lov-$FSNAME --mds mds-$FSNAME --stripe_sz $STRIPE_BYTES \
+        --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0
+# MDS route to elan client
+for R in $ROUTERS; do
+       echo -n " [r=$R]"
+       $LMC --node $MDSNODE --add route --nettype $SERVER_NETTYPE      \
+               --gw `h2$CLIENT_NETTYPE $R`                             \
+               --lo `h2$CLIENT_NETTYPE $CLIENT_LO`                     \
+               --hi `h2$CLIENT_NETTYPE $CLIENT_HI`                     \
+               --gateway_cluster_id $SERVER_CLUSTER                    \
+               --target_cluster_id $SERVER_CLUSTER
+done
+
+# OSTNODE
+COUNT=1
+for OSTNODE in $OSTNODES; do
+       OST=ost$COUNT
+       eval OSTDEV=\$OSTDEV$COUNT
+       if [ -z "$OSTDEV" ]; then
+               eval OSTDEV=${!OSTDEV:=$TMP/$OST-$OSTNODE}
+       fi
+       DEV=`basename $OSTDEV`
+       echo; echo -n "adding OST on: $OSTNODE[$DEV]"
+       if [ "`eval echo \\$NODE$OSTNODE`" != "y" ]; then
+               $LMC --add net --node $OSTNODE --nid $OSTNODE           \
+                       --nettype $SERVER_NETTYPE --cluster_id $SERVER_CLUSTER
+               # OST route to elan clients
+               for R in $ROUTERS; do
+                       echo -n " [r=$R]"
+                       $LMC --node $OSTNODE --add route                \
+                               --nettype $SERVER_NETTYPE               \
+                               --gw `h2$CLIENT_NETTYPE $R`             \
+                               --lo `h2$CLIENT_NETTYPE $CLIENT_LO`     \
+                               --hi `h2$CLIENT_NETTYPE $CLIENT_HI`     \
+                               --gateway_cluster_id $SERVER_CLUSTER    \
+                               --target_cluster_id $SERVER_CLUSTER
+               done
+               eval "NODE$OSTNODE=y"
+       fi
+
+       $LMC --add ost --node $OSTNODE --ost ost-$FSNAME-$OSTNODE-$DEV  \
+               --lov lov-$FSNAME $OSTFAILOVER --dev $OSTDEV $OSTOPT
+       COUNT=`expr $COUNT + 1`
+done
+
+# ROUTER
+echo; echo -n "adding ROUTER on: "
+for ROUTER in $ROUTERS; do
+       echo -n " $ROUTER"
+       $LMC --node $ROUTER --add net --nid `h2$CLIENT_NETTYPE $ROUTER` \
+               --cluster_id $SERVER_CLUSTER --nettype $SERVER_NETTYPE  \
+               --hostaddr $ROUTER --router
+       $LMC --node $ROUTER --add net --nid `h2$CLIENT_NETTYPE $ROUTER` \
+               --cluster_id $CLIENT_CLUSTER --nettype $CLIENT_NETTYPE  \
+               --router
+       # ROUTER route to OSTs and MDS
+       for NODE in `echo $MDSNODE $OSTNODES | tr -s " " "\n" | sort -u`; do
+               $LMC --node $ROUTER --add route                         \
+                       --nettype $SERVER_NETTYPE                       \
+                       --gw `h2$CLIENT_NETTYPE $ROUTER`                \
+                       --lo `h2$SERVER_NETTYPE $NODE`                  \
+                       --gateway_cluster_id $SERVER_CLUSTER            \
+                       --target_cluster_id $SERVER_CLUSTER
+       done
+       # ROUTER route to clients
+       $LMC --node $ROUTER --add route --nettype $CLIENT_NETTYPE       \
+               --gw `h2$CLIENT_NETTYPE $ROUTER`                        \
+               --lo `h2$CLIENT_NETTYPE $CLIENT_LO`                     \
+               --hi `h2$CLIENT_NETTYPE $CLIENT_HI`                     \
+               --gateway_cluster_id $CLIENT_CLUSTER                    \
+               --target_cluster_id $CLIENT_CLUSTER
+done
+
+# CLIENT
+echo; echo -n "adding CLIENT on: "
+for CLIENT in $CLIENTS; do
+       echo -n " $CLIENT"
+       $LMC --node $CLIENT --add net --nid `h2$CLIENT_NETTYPE $CLIENT` \
+               --cluster_id $CLIENT_CLUSTER --nettype $CLIENT_NETTYPE
+       $LMC --node $CLIENT --add mtpt --path $MOUNT --mds mds-$FSNAME  \
+               --lov lov-$FSNAME $CLIENTOPT
+done
+echo
+
+set -vx
+echo "generating config $config from $BATCH"
+$LMC_REAL --batch $BATCH