-
Iustin Pop authored
This moves the last (I think) htools-related bits out of test/ under htest/. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
189b51fa
offline-test.sh 3.15 KiB
#!/bin/bash
# Copyright (C) 2012 Google Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# This is an offline testing script for most/all of the htools
# programs, checking basic command line functionality.
set -e
set -o pipefail
. $(dirname $0)/cli-tests-defs.sh
echo Running offline htools tests
export T=`mktemp -d`
trap 'rm -rf $T' EXIT
trap 'echo FAIL to build test files' ERR
echo Using $T as temporary dir
echo -n Generating hspace simulation data for hinfo and hbal...
# this cluster spec should be fine
./htest/hspace --simu p,4,8T,64g,16 -S $T/simu-onegroup \
--disk-template drbd -l 8 -v -v -v >/dev/null 2>&1
echo OK
echo -n Generating hinfo and hbal test files for multi-group...
./htest/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
echo OK
echo -n Generating test files for rebalancing...
# we generate a cluster with two node groups, one with unallocable
# policy, then we change all nodes from this group to the allocable
# one, and we check for rebalancing
FROOT="$T/simu-rebal-orig"
./htest/hspace --simu u,4,8T,64g,16 --simu p,4,8T,64g,16 \
-S $FROOT --disk-template drbd -l 8 >/dev/null 2>&1
for suffix in standard tiered; do
RELOC="$T/simu-rebal-merged.$suffix"
# this relocates the nodes
sed -re 's/^(node-.*|fake-uuid-)-02(|.*)/\1-01\2/' \
< $FROOT.$suffix > $RELOC
done
export BACKEND_BAL_STD="-t$T/simu-rebal-merged.standard"
export BACKEND_BAL_TIER="-t$T/simu-rebal-merged.tiered"
echo OK
# For various tests
export BACKEND_DYNU="-t $T/simu-onegroup.standard"
export BACKEND_EXCL="-t $T/simu-onegroup.standard"
echo -n Generating data files for IAllocator checks...
for evac_mode in primary-only secondary-only all; do
sed -e 's/"evac_mode": "all"/"evac_mode": "'${evac_mode}'"/' \
< $TESTDATA_DIR/hail-node-evac.json \
> $T/hail-node-evac.json.$evac_mode
done
echo OK
echo -n Checking file-based RAPI...
mkdir -p $T/hscan
export RAPI_URL="file://$TESTDATA_DIR/rapi"
./htest/hscan -d $T/hscan/ -p -v -v $RAPI_URL >/dev/null 2>&1
# check that we file parsing is correct, i.e. hscan saves correct text
# files, and is idempotent (rapi+text == rapi); more is tested in
# shelltest later
RAPI_TXT="$(ls $T/hscan/*.data|head -n1)"
./htest/hinfo -p --print-instances -m $RAPI_URL > $T/hscan/direct.hinfo 2>&1
./htest/hinfo -p --print-instances -t $RAPI_TXT > $T/hscan/fromtext.hinfo 2>&1
echo OK
echo Running shelltest...
shelltest $SHELLTESTARGS \
${TOP_SRCDIR:-.}/htest/shelltests/htools-*.test \
-- --hide-successes
echo All OK