1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#!/bin/sh
set -e
EXAMPLES_DIR="/usr/share/doc/ibsim-utils/net-examples"
#NET_MAP="$EXAMPLES_DIR/net.2sw2path4hca"
NET_MAP="$EXAMPLES_DIR/net.1"
NUM_EXPECTED=3
TOP_DIR=$PWD/debian/tests/data/opensm
OSM_CACHE_DIR="$TOP_DIR/cache"
OSM_TMP_DIR="$TOP_DIR/tmp"
LOG_FILE="$TOP_DIR/opensm.log"
CFG_FILE="$TOP_DIR/opensm.conf"
INVENTORY_FILE="$TOP_DIR/test_inventory"
OPENSM_TIMEOUT="60"
setup() {
mkdir -p "$OSM_CACHE_DIR"
mkdir -p "$OSM_TMP_DIR"
export OSM_CACHE_DIR
export OSM_TMP_DIR
}
cleanup() {
kill $PID
}
setup
ibsim -s -n "$NET_MAP" &
PID=$!
sleep 1
if ! ps "$PID" >/dev/null; then
echo >&2 "Error: ibsim failed to start"
exit 10
fi
trap cleanup 0
echo "$me: Starting opensm."
ibsim-run /usr/sbin/opensm -e -c $CFG_FILE -f $LOG_FILE
ibsim-run /usr/sbin/opensm -e -F $CFG_FILE -f $LOG_FILE -v &
PID="$PID $!"
echo "$me: Waiting for opensm ($PID) to start."
sleep 0.1
for i in `seq $OPENSM_TIMEOUT`; do
if grep -q 'SUBNET UP' "$LOG_FILE" 2>/dev/null; then break; fi
if [ "$i" = "$OPENSM_TIMEOUT" ]; then
echo
echo "$me: time out starting opensm. Aborting."
exit 20
fi
echo -n "."
sleep 1
done
echo "$me: opensm subnet is up ($i seconds)."
ibsim-run /usr/sbin/osmtest -i $INVENTORY_FILE -f c
ibsim-run /usr/sbin/osmtest -i $INVENTORY_FILE -f a -v
|