summaryrefslogtreecommitdiffstats
path: root/tests/tier.rc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tier.rc')
-rw-r--r--tests/tier.rc85
1 files changed, 85 insertions, 0 deletions
diff --git a/tests/tier.rc b/tests/tier.rc
new file mode 100644
index 00000000000..393d712f3bb
--- /dev/null
+++ b/tests/tier.rc
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+# Common tier functions
+
+# Check if a file is being migrated
+# by checking for the presence of
+# the sticky bit
+# Args: $1 : path to file
+
+function is_sticky_set () {
+ echo $1
+ if [ -k $1 ];
+ then
+ echo "yes"
+ else
+ echo "no"
+ fi
+}
+
+
+function check_counters {
+ index=0
+ ret=0
+ rm -f /tmp/tc*.txt
+ echo "0" > /tmp/tc2.txt
+ $CLI volume rebalance $V0 tier status | grep localhost > /tmp/tc.txt
+
+ promote=`cat /tmp/tc.txt |awk '{print $2}'`
+ demote=`cat /tmp/tc.txt |awk '{print $3}'`
+ if [ "${promote}" != "${1}" ]; then
+ echo "1" > /tmp/tc2.txt
+
+ elif [ "${demote}" != "${2}" ]; then
+ echo "2" > /tmp/tc2.txt
+ fi
+
+ # temporarily disable non-Linux tests.
+ case $OSTYPE in
+ NetBSD | FreeBSD | Darwin)
+ echo "0" > /tmp/tc2.txt
+ ;;
+ esac
+ cat /tmp/tc2.txt
+}
+
+
+# Grab md5sum without file path (failed attempt notifications are discarded)
+function fingerprint {
+ md5sum $1 2> /dev/null | grep --only-matching -m 1 '^[0-9a-f]*'
+}
+
+
+
+# Create a large number of files in the current directory.
+# $1 : file name prefix. Will create files $2-1 to $2-$3
+# $2 : number of files
+
+function create_many_files {
+ filename=$1
+ num=$2
+
+ for i in `seq 1 $num`; do
+ dd if=/dev/urandom of=./${dirname}/${filename}$i bs=104857 count=1;
+ done
+}
+
+
+function confirm_tier_removed {
+ $CLI system getspec $V0 | grep $1
+ if [ $? == 0 ]; then
+ echo "1"
+ else
+ echo "0"
+ fi
+}
+
+function confirm_vol_stopped {
+ $CLI volume stop $1
+ if [ $? == 0 ]; then
+ echo "0"
+ else
+ echo "1"
+ fi
+}
+