diff options
author | Jeff Darcy <jdarcy@redhat.com> | 2012-11-26 16:36:42 -0500 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-12-04 14:42:14 -0800 |
commit | 86b01a278b55b19adefe9625e586252a5c75b474 (patch) | |
tree | af840bc92cf538884801f8e15b2b516452cc3d58 /tests | |
parent | 48a1738467c2328a9f8d0fce09b64f286ef533e0 (diff) |
dht: support auto-NUFA option
Many people have asked for behavior like the old NUFA, which builds and
seems to run but was previously impossible to enable/configure in a
standard way. This change allows NUFA to be enabled instead of DHT from
the command line, with automatic selection of the local subvolume on each
host.
Change-Id: I0065938db3922361fd450a6c1919a4cbbf6f202e
BUG: 882278
Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.org/4234
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/bugs/bug-882278.t | 72 | ||||
-rw-r--r-- | tests/include.rc | 3 |
2 files changed, 75 insertions, 0 deletions
diff --git a/tests/bugs/bug-882278.t b/tests/bugs/bug-882278.t new file mode 100755 index 00000000000..7933e1863d1 --- /dev/null +++ b/tests/bugs/bug-882278.t @@ -0,0 +1,72 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +cleanup + +# Is there a good reason to require --fqdn elsewhere? It's worse than useless +# here. +H0=$(hostname -s) + +function recreate { + # The rm is necessary so we don't get fooled by leftovers from old runs. + rm -rf $1 && mkdir -p $1 +} + +function count_lines { + grep "$1" $2/* | wc -l +} + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume info; + +## Start and create a volume +TEST recreate ${B0}/${V0}-0 +TEST recreate ${B0}/${V0}-1 +TEST $CLI volume create $V0 $H0:$B0/${V0}-{0,1} +TEST $CLI volume set $V0 cluster.nufa on + +function volinfo_field() +{ + local vol=$1; + local field=$2; + + $CLI volume info $vol | grep "^$field: " | sed 's/.*: //'; +} + + +## Verify volume is created +EXPECT "$V0" volinfo_field $V0 'Volume Name'; +EXPECT 'Created' volinfo_field $V0 'Status'; + +## Start volume and verify +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +## Mount native +special_option="--xlator-option ${V0}-dht.local-volume-name=${V0}-client-1" +TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 $special_option $M0 + +## Create a bunch of test files. +for i in $(seq 0 99); do + echo hello > $(printf $M0/file%02d $i) +done + +## Make sure the files went to the right place. There might be link files in +## the other brick, but they won't have any contents. +EXPECT "0" count_lines hello ${B0}/${V0}-0 +EXPECT "100" count_lines hello ${B0}/${V0}-1 + +if [ "$EXIT_EARLY" = "1" ]; then + exit 0; +fi + +## Finish up +TEST umount $M0; +TEST $CLI volume stop $V0; +EXPECT 'Stopped' volinfo_field $V0 'Status'; + +TEST $CLI volume delete $V0; +TEST ! $CLI volume info $V0; + +cleanup; diff --git a/tests/include.rc b/tests/include.rc index cfa9390aaef..b572fbc6379 100644 --- a/tests/include.rc +++ b/tests/include.rc @@ -39,6 +39,9 @@ function test_footer() echo "ok $t"; else echo "not ok $t"; + if [ "$EXIT_EARLY" = "1" ]; then + exit $RET + fi fi dbg "RESULT $t: $RET"; |