glusterfs
73 строки · 1.7 Кб
1#!/bin/bash
2
3. $(dirname $0)/../../include.rc4. $(dirname $0)/../../volume.rc5cleanup
6
7# Is there a good reason to require --fqdn elsewhere? It's worse than useless
8# here.
9H0=$(hostname -s)10
11function recreate {12# The rm is necessary so we don't get fooled by leftovers from old runs.13rm -rf $1 && mkdir -p $114}
15
16function count_lines {17grep "$1" $2/* | wc -l18}
19
20TEST glusterd
21TEST pidof glusterd
22TEST $CLI volume info;23
24## Start and create a volume
25TEST recreate ${B0}/${V0}-026TEST recreate ${B0}/${V0}-127TEST $CLI volume create $V0 $H0:$B0/${V0}-{0,1}28TEST $CLI volume set $V0 cluster.nufa on29
30function volinfo_field()31{
32local vol=$1;33local field=$2;34
35$CLI volume info $vol | grep "^$field: " | sed 's/.*: //';36}
37
38
39## Verify volume is created
40EXPECT "$V0" volinfo_field $V0 'Volume Name';41EXPECT 'Created' volinfo_field $V0 'Status';42
43## Start volume and verify
44TEST $CLI volume start $V0;45EXPECT 'Started' volinfo_field $V0 'Status';46
47## Mount native
48special_option="--xlator-option ${V0}-dht.local-volume-name=${V0}-client-1"49TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 $special_option $M050
51## Create a bunch of test files.
52for i in $(seq 0 99); do53echo hello > $(printf $M0/file%02d $i)54done
55
56## Make sure the files went to the right place. There might be link files in
57## the other brick, but they won't have any contents.
58EXPECT "0" count_lines hello ${B0}/${V0}-059EXPECT "100" count_lines hello ${B0}/${V0}-160
61if [ "$EXIT_EARLY" = "1" ]; then62exit 0;63fi
64
65## Finish up
66EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M067TEST $CLI volume stop $V0;68EXPECT 'Stopped' volinfo_field $V0 'Status';69
70TEST $CLI volume delete $V0;71TEST ! $CLI volume info $V0;72
73cleanup;74