This adds new offline tests: - checks that files generated by hspace can be read by hbal/hinfo - checks that hbal handles node groups as expected - etc. --- htools/offline-test.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 54 insertions(+), 1 deletions(-)
diff --git a/htools/offline-test.sh b/htools/offline-test.sh index 25a1e23..ed4e291 100755 --- a/htools/offline-test.sh +++ b/htools/offline-test.sh @@ -24,7 +24,11 @@ set -e . $(dirname $0)/cli-tests-defs.sh -echo -n "Checking command line basic options " +T=`mktemp -d` +trap 'rm -rf $T' EXIT +echo Using $T as temporary dir + +echo Checking command line basic options for prog in $ALL_ROLES; do echo -n "." $prog --version >/dev/null @@ -32,5 +36,54 @@ for prog in $ALL_ROLES; do ! $prog --no-such-option 2>/dev/null done echo +echo OK + +echo Checking missing backend failure +for prog in hspace hinfo hbal; do + ! $prog 2>/dev/null +done +echo OK + +echo Checking hail missing input file +! hail 2>/dev/null +echo OK + +echo Checking extra arguments +for prog in hspace hbal hinfo; do + ! $prog unexpected-argument 2>&1 | \ + grep -q "Error: this program doesn't take any arguments" +done +echo OK + +echo Checking hspace simulation to hinfo to hbal +# this cluster spec should be fine +hspace --simu p,4,8T,64g,16 -S $T/simu-onegroup \ + --disk-template drbd -l 8 >/dev/null 2>&1 +# results in .tiered and .standard +for suffix in standard tiered; do + BACKEND="-t$T/simu-onegroup.$suffix" + hinfo -v -v -p --print-instances $BACKEND >/dev/null 2>&1 + hbal -v -v -p --print-instances $BACKEND >/dev/null 2>&1 + # hbal should not be able to balance + hbal $BACKEND | grep -qE "(Nothing to do, exiting|No solution found)" +done +echo OK + +echo Checking hinfo and hbal on multi-nodegroup +hspace --simu p,4,8T,64g,16 --simu p,4,8T,64g,16 \ + -S $T/simu-twogroups --disk-template drbd -l 8 >/dev/null 2>&1 +# results in .tiered and .standard +for suffix in standard tiered; do + BACKEND="-t$T/simu-twogroups.$suffix" + hinfo -v -v -p --print-instances $BACKEND >/dev/null 2>&1 + ! hbal $BACKEND >/dev/null 2>&1 + # hbal should not be able to balance + ! hbal $BACKEND 2>&1 | grep -q "Found multiple node groups" + # but hbal should be able to balance one node group + hbal $BACKEND -G group-01 >/dev/null + # and it should not find an invalid group + ! hbal $BACKEND -G no-such-group >/dev/null 2>&1 +done +echo OK echo All OK -- 1.7.9.1
