glusterfs

Форк
0
/
bug-1600145.t 
108 строк · 3.3 Кб
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

8
### Basic Tests with Distribute Replicate volumes
9

10
##Cleanup and start glusterd
11
cleanup;
12
SCRIPT_TIMEOUT=600
13
TEST glusterd;
14
TEST pidof glusterd
15

16
##Variables
17
GEOREP_CLI="$CLI volume geo-replication"
18
primary=$GMV0
19
secondary=${H0}::${GSV0}
20
num_active=2
21
num_passive=2
22
primary_mnt=$M0
23
secondary_mnt=$M1
24

25
############################################################
26
#SETUP VOLUMES AND GEO-REPLICATION
27
############################################################
28

29
##create_and_start_primary_volume
30
TEST $CLI volume create $GMV0 replica 2 $H0:$B0/${GMV0}{1,2};
31
gluster v set all cluster.brick-multiplex on
32
TEST $CLI volume start $GMV0
33

34
##create_and_start_secondary_volume
35
TEST $CLI volume create $GSV0 replica 2 $H0:$B0/${GSV0}{1,2};
36
TEST $CLI volume start $GSV0
37

38
##Create, start and mount meta_volume
39
TEST $CLI volume create $META_VOL replica 3 $H0:$B0/${META_VOL}{1,2,3};
40
TEST $CLI volume start $META_VOL
41
TEST mkdir -p $META_MNT
42
TEST glusterfs -s $H0 --volfile-id $META_VOL $META_MNT
43

44
############################################################
45
#BASIC GEO-REPLICATION TESTS
46
############################################################
47

48
#Create geo-rep session
49
TEST create_georep_session $primary $secondary
50

51
#Config gluster-command-dir
52
TEST $GEOREP_CLI $primary $secondary config gluster-command-dir ${GLUSTER_CMD_DIR}
53

54
#Config gluster-command-dir
55
TEST $GEOREP_CLI $primary $secondary config secondary-gluster-command-dir ${GLUSTER_CMD_DIR}
56

57
#Enable_metavolume
58
TEST $GEOREP_CLI $primary $secondary config use_meta_volume true
59

60
#Wait for common secret pem file to be created
61
EXPECT_WITHIN $GEO_REP_TIMEOUT  0 check_common_secret_file
62

63
#Verify the keys are distributed
64

65
EXPECT_WITHIN $GEO_REP_TIMEOUT  0 check_keys_distributed
66

67
#Count no. of changelog socket
68
brick_pid=`ps -aef | grep glusterfsd | grep -v "shared_storage" | grep -v grep | awk -F " " '{print $2}'`
69
n=$(grep -Fc "changelog" /proc/$brick_pid/net/unix)
70

71
#Start_georep
72
TEST $GEOREP_CLI $primary $secondary start
73

74
EXPECT_WITHIN $GEO_REP_TIMEOUT  1 check_status_num_rows "Active"
75
EXPECT_WITHIN $GEO_REP_TIMEOUT  1 check_status_num_rows "Passive"
76

77
#Count no. of changelog socket
78
brick_pid=`ps -aef | grep glusterfsd | grep -v "shared_storage" | grep -v grep | awk -F " " '{print $2}'`
79
c=$(grep -Fc "changelog" /proc/$brick_pid/net/unix)
80
let expected=n+2
81
TEST [ "$c" -eq "$expected" ]
82

83
#Kill the "Active" brick
84
brick=$($GEOREP_CLI $primary $secondary status | grep -F "Active" | awk {'print $3'})
85
cat /proc/$brick_pid/net/unix | grep "changelog"
86
TEST kill_brick $GMV0 $H0 $brick
87
#Expect geo-rep status to be "Faulty"
88
EXPECT_WITHIN $GEO_REP_TIMEOUT  1 check_status_num_rows "Faulty"
89
EXPECT_WITHIN $GEO_REP_TIMEOUT  1 check_status_num_rows "Active"
90

91
#Count no. of changelog socket
92
brick_pid=`ps -aef | grep glusterfsd | grep -v "shared_storage" | grep -v grep | awk -F " " '{print $2}'`
93
cat /proc/$brick_pid/net/unix | grep "changelog"
94
ls -lrth /proc/$brick_pid/fd | grep "socket"
95
c=$(grep -Fc "changelog" /proc/$brick_pid/net/unix)
96
TEST [ "$c" -eq "$n" ]
97

98
#Stop Geo-rep
99
TEST $GEOREP_CLI $primary $secondary stop
100

101
#Delete Geo-rep
102
TEST $GEOREP_CLI $primary $secondary delete
103

104
#Cleanup authorized keys
105
sed -i '/^command=.*SSH_ORIGINAL_COMMAND#.*/d' ~/.ssh/authorized_keys
106
sed -i '/^command=.*gsyncd.*/d' ~/.ssh/authorized_keys
107

108
cleanup;
109

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.