summaryrefslogtreecommitdiffstats
path: root/smoke.sh
diff options
context:
space:
mode:
Diffstat (limited to 'smoke.sh')
-rwxr-xr-xsmoke.sh83
1 files changed, 83 insertions, 0 deletions
diff --git a/smoke.sh b/smoke.sh
new file mode 100755
index 000000000..3226b74f1
--- /dev/null
+++ b/smoke.sh
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+set -e;
+
+M=/mnt;
+P=/build;
+H=$(hostname);
+T=600;
+V=patchy;
+
+
+function cleanup()
+{
+ killall -15 glusterfs glusterfsd glusterd glusterd 2>&1 || true;
+ killall -9 glusterfs glusterfsd glusterd glusterd 2>&1 || true;
+ umount -l $M 2>&1 || true;
+ rm -rf /etc/glusterd $P/export;
+}
+
+function start_fs()
+{
+ mkdir -p $P/export;
+ chmod 0755 $P/export;
+
+ glusterd;
+ gluster volume create $V replica 2 $H:$P/export/export{1,2,3,4};
+ gluster volume start $V;
+ glusterfs -s $H --volfile-id $V $M;
+# mount -t glusterfs $H:/$V $M;
+}
+
+
+function run_tests()
+{
+ cd $M;
+
+ (sleep 1; dbench -x -s -t 60 10 >/dev/null) &
+
+ (sleep 1; /opt/qa/tools/posix_compliance.sh) &
+
+ wait %2
+ wait %3
+
+ rm -rf clients;
+
+ cd -;
+}
+
+
+function watchdog ()
+{
+ # insurance against hangs during the test
+
+ sleep $1;
+
+ echo "Kicking in watchdog after $1 secs";
+
+ cleanup;
+}
+
+
+function finish ()
+{
+ cleanup;
+ kill %1;
+}
+
+function main ()
+{
+ cleanup;
+
+ watchdog $T &
+
+ trap finish EXIT;
+
+ set -x;
+
+ start_fs;
+
+ run_tests;
+}
+
+main "$@";