glusterfs
108 строк · 3.3 Кб
1#!/bin/bash
2
3. $(dirname $0)/../include.rc4. $(dirname $0)/../volume.rc5. $(dirname $0)/../geo-rep.rc6. $(dirname $0)/../env.rc7
8### Basic Tests with Distribute Replicate volumes
9
10##Cleanup and start glusterd
11cleanup;12SCRIPT_TIMEOUT=60013TEST glusterd;14TEST pidof glusterd
15
16##Variables
17GEOREP_CLI="$CLI volume geo-replication"18primary=$GMV019secondary=${H0}::${GSV0}20num_active=221num_passive=222primary_mnt=$M023secondary_mnt=$M124
25############################################################
26#SETUP VOLUMES AND GEO-REPLICATION
27############################################################
28
29##create_and_start_primary_volume
30TEST $CLI volume create $GMV0 replica 2 $H0:$B0/${GMV0}{1,2};31gluster v set all cluster.brick-multiplex on32TEST $CLI volume start $GMV033
34##create_and_start_secondary_volume
35TEST $CLI volume create $GSV0 replica 2 $H0:$B0/${GSV0}{1,2};36TEST $CLI volume start $GSV037
38##Create, start and mount meta_volume
39TEST $CLI volume create $META_VOL replica 3 $H0:$B0/${META_VOL}{1,2,3};40TEST $CLI volume start $META_VOL41TEST mkdir -p $META_MNT42TEST glusterfs -s $H0 --volfile-id $META_VOL $META_MNT43
44############################################################
45#BASIC GEO-REPLICATION TESTS
46############################################################
47
48#Create geo-rep session
49TEST create_georep_session $primary $secondary50
51#Config gluster-command-dir
52TEST $GEOREP_CLI $primary $secondary config gluster-command-dir ${GLUSTER_CMD_DIR}53
54#Config gluster-command-dir
55TEST $GEOREP_CLI $primary $secondary config secondary-gluster-command-dir ${GLUSTER_CMD_DIR}56
57#Enable_metavolume
58TEST $GEOREP_CLI $primary $secondary config use_meta_volume true59
60#Wait for common secret pem file to be created
61EXPECT_WITHIN $GEO_REP_TIMEOUT 0 check_common_secret_file62
63#Verify the keys are distributed
64
65EXPECT_WITHIN $GEO_REP_TIMEOUT 0 check_keys_distributed66
67#Count no. of changelog socket
68brick_pid=`ps -aef | grep glusterfsd | grep -v "shared_storage" | grep -v grep | awk -F " " '{print $2}'`69n=$(grep -Fc "changelog" /proc/$brick_pid/net/unix)70
71#Start_georep
72TEST $GEOREP_CLI $primary $secondary start73
74EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Active"75EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Passive"76
77#Count no. of changelog socket
78brick_pid=`ps -aef | grep glusterfsd | grep -v "shared_storage" | grep -v grep | awk -F " " '{print $2}'`79c=$(grep -Fc "changelog" /proc/$brick_pid/net/unix)80let expected=n+281TEST [ "$c" -eq "$expected" ]82
83#Kill the "Active" brick
84brick=$($GEOREP_CLI $primary $secondary status | grep -F "Active" | awk {'print $3'})85cat /proc/$brick_pid/net/unix | grep "changelog"86TEST kill_brick $GMV0 $H0 $brick87#Expect geo-rep status to be "Faulty"
88EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Faulty"89EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Active"90
91#Count no. of changelog socket
92brick_pid=`ps -aef | grep glusterfsd | grep -v "shared_storage" | grep -v grep | awk -F " " '{print $2}'`93cat /proc/$brick_pid/net/unix | grep "changelog"94ls -lrth /proc/$brick_pid/fd | grep "socket"95c=$(grep -Fc "changelog" /proc/$brick_pid/net/unix)96TEST [ "$c" -eq "$n" ]97
98#Stop Geo-rep
99TEST $GEOREP_CLI $primary $secondary stop100
101#Delete Geo-rep
102TEST $GEOREP_CLI $primary $secondary delete103
104#Cleanup authorized keys
105sed -i '/^command=.*SSH_ORIGINAL_COMMAND#.*/d' ~/.ssh/authorized_keys106sed -i '/^command=.*gsyncd.*/d' ~/.ssh/authorized_keys107
108cleanup;109