glusterfs
127 строк · 3.5 Кб
1#!/bin/bash
2
3. $(dirname $0)/../include.rc
4. $(dirname $0)/../volume.rc
5. $(dirname $0)/../geo-rep.rc
6. $(dirname $0)/../env.rc
7
8SCRIPT_TIMEOUT=500
9
10AREQUAL_PATH=$(dirname $0)/../utils
11test "`uname -s`" != "Linux" && {
12CFLAGS="$CFLAGS -lintl";
13}
14build_tester $AREQUAL_PATH/arequal-checksum.c $CFLAGS
15
16### Basic Tests with Distribute Replicate volumes
17
18##Cleanup and start glusterd
19cleanup;
20TEST glusterd;
21TEST pidof glusterd
22
23
24##Variables
25GEOREP_CLI="$CLI volume geo-replication"
26primary=$GMV0
27secondary=${H0}::${GSV0}
28num_active=2
29num_passive=2
30primary_mnt=$M0
31secondary_mnt=$M1
32
33############################################################
34#SETUP VOLUMES AND GEO-REPLICATION
35############################################################
36
37##create_and_start_primary_volume
38TEST $CLI volume create $GMV0 $H0:$B0/${GMV0}1;
39TEST $CLI volume start $GMV0
40
41##create_and_start_secondary_volume
42TEST $CLI volume create $GSV0 $H0:$B0/${GSV0}1;
43TEST $CLI volume start $GSV0
44TEST $CLI volume set $GSV0 performance.stat-prefetch off
45TEST $CLI volume set $GSV0 performance.quick-read off
46TEST $CLI volume set $GSV0 performance.readdir-ahead off
47TEST $CLI volume set $GSV0 performance.read-ahead off
48
49##Mount primary
50TEST glusterfs -s $H0 --volfile-id $GMV0 $M0
51
52##Mount secondary
53TEST glusterfs -s $H0 --volfile-id $GSV0 $M1
54
55############################################################
56#BASIC GEO-REPLICATION TESTS
57############################################################
58
59TEST create_georep_session $primary $secondary
60EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Created"
61
62#Config gluster-command-dir
63TEST $GEOREP_CLI $primary $secondary config gluster-command-dir ${GLUSTER_CMD_DIR}
64
65#Config gluster-command-dir
66TEST $GEOREP_CLI $primary $secondary config secondary-gluster-command-dir ${GLUSTER_CMD_DIR}
67
68#Set changelog roll-over time to 45 secs
69TEST $CLI volume set $GMV0 changelog.rollover-time 45
70
71#Wait for common secret pem file to be created
72EXPECT_WITHIN $GEO_REP_TIMEOUT 0 check_common_secret_file
73
74#Verify the keys are distributed
75EXPECT_WITHIN $GEO_REP_TIMEOUT 0 check_keys_distributed
76
77#Set sync-jobs to 1
78TEST $GEOREP_CLI $primary $secondary config sync-jobs 1
79
80#Start_georep
81TEST $GEOREP_CLI $primary $secondary start
82
83touch $M0
84EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Active"
85EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Changelog Crawl"
86
87#Check History Crawl.
88TEST $GEOREP_CLI $primary $secondary stop
89TEST create_data_hang "rsync_hang"
90TEST create_data "history_rsync"
91TEST $GEOREP_CLI $primary $secondary start
92EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Active"
93
94#Verify arequal for whole volume
95EXPECT_WITHIN $GEO_REP_TIMEOUT "x0" arequal_checksum ${primary_mnt} ${secondary_mnt}
96
97#Stop Geo-rep
98TEST $GEOREP_CLI $primary $secondary stop
99
100#Config tarssh as sync-engine
101TEST $GEOREP_CLI $primary $secondary config sync-method tarssh
102
103#Create tarssh hang data
104TEST create_data_hang "tarssh_hang"
105TEST create_data "history_tar"
106
107TEST $GEOREP_CLI $primary $secondary start
108EXPECT_WITHIN $GEO_REP_TIMEOUT 1 check_status_num_rows "Active"
109
110#Verify arequal for whole volume
111EXPECT_WITHIN $GEO_REP_TIMEOUT "x0" arequal_checksum ${primary_mnt} ${secondary_mnt}
112
113#Stop Geo-rep
114TEST $GEOREP_CLI $primary $secondary stop
115
116#Delete Geo-rep
117TEST $GEOREP_CLI $primary $secondary delete
118
119#Cleanup are-equal binary
120TEST rm $AREQUAL_PATH/arequal-checksum
121
122#Cleanup authorized keys
123sed -i '/^command=.*SSH_ORIGINAL_COMMAND#.*/d' ~/.ssh/authorized_keys
124sed -i '/^command=.*gsyncd.*/d' ~/.ssh/authorized_keys
125
126cleanup;
127#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000
128