1
0
mirror of https://github.com/gluster/glusterfs.git synced 2026-02-06 18:48:16 +01:00
Files
glusterfs/tests/basic/gfproxy.t
Poornima G 5833ac57bd quiesce, gfproxy: Implement failover across multiple gfproxy nodes
Updates: #242
Change-Id: I767e574a26e922760a7130bd209c178d74e8cf69
Signed-off-by: Poornima G <pgurusid@redhat.com>
2018-01-26 15:34:43 +05:30

72 lines
2.1 KiB
Bash
Executable File

#!/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