1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#!/bin/bash
. $(dirname $0)/../include.rc
. $(dirname $0)/../volume.rc
. $(dirname $0)/../nfs.rc
function file_exists
{
if [ -f $1 ]; then echo "Y"; else echo "N"; fi
}
cleanup;
TEST glusterd
TEST pidof glusterd
TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{0,1,2}
TEST $CLI volume set $V0 config.gfproxyd enable
TEST $CLI volume set $V0 failover-hosts "127.0.0.1,192.168.122.215,192.168.122.90"
TEST $CLI volume set $V0 client-log-level TRACE
TEST $CLI volume start $V0
sleep 2
REGULAR_CLIENT_VOLFILE="/var/lib/glusterd/vols/${V0}/trusted-${V0}.tcp-fuse.vol"
GFPROXY_CLIENT_VOLFILE="/var/lib/glusterd/vols/${V0}/trusted-${V0}.tcp-gfproxy-fuse.vol"
GFPROXYD_VOLFILE="/var/lib/glusterd/vols/${V0}/${V0}.gfproxyd.vol"
# Client volfile must exist
TEST [ -f $GFPROXY_CLIENT_VOLFILE ]
# write-behind translators must exist
TEST grep "performance/write-behind" $GFPROXY_CLIENT_VOLFILE
# Make sure we didn't screw up the existing client
TEST grep "performance/write-behind" $REGULAR_CLIENT_VOLFILE
TEST grep "cluster/replicate" $REGULAR_CLIENT_VOLFILE
TEST grep "cluster/distribute" $REGULAR_CLIENT_VOLFILE
TEST [ -f $GFPROXYD_VOLFILE ]
TEST grep "cluster/replicate" $GFPROXYD_VOLFILE
TEST grep "cluster/distribute" $GFPROXYD_VOLFILE
# write-behind must *not* exist
TEST ! grep "performance/write-behind" $GFPROXYD_VOLFILE
# Test that we can start the server and the client
TEST glusterfs --thin-client --volfile-id=patchy --volfile-server=$H0 -l /var/log/glusterfs/${V0}-gfproxy-client.log $M0
sleep 2
TEST grep gfproxy-client/${V0} /proc/mounts
# Write data to the mount and checksum it
TEST dd if=/dev/urandom bs=1M count=10 of=/tmp/testfile1
md5=$(md5sum /tmp/testfile1 | awk '{print $1}')
TEST cp -v /tmp/testfile1 $M0/testfile1
TEST [ "$(md5sum $M0/testfile1 | awk '{print $1}')" == "$md5" ]
rm /tmp/testfile1
dd if=/dev/zero of=$M0/bigfile bs=1K count=10240 &
BG_STRESS_PID=$!
TEST wait $BG_STRESS_PID
# Perform graph change and make sure the gfproxyd restarts
TEST $CLI volume set $V0 stat-prefetch off
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" file_exists $M0/bigfile
cleanup;
#G_TESTDEF_TEST_STATUS_NETBSD7=1501392
|