glusterfs

Форк
0
/
glusterd-restart-shd-mux.t 
96 строк · 3.2 Кб
1
#!/bin/bash
2

3
. $(dirname $0)/../include.rc
4
. $(dirname $0)/../volume.rc
5

6
cleanup;
7

8
TESTS_EXPECTED_IN_LOOP=20
9

10
TEST glusterd
11
TEST pidof glusterd
12
TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{0,1,2,3,4,5}
13
TEST $CLI volume set $V0 cluster.background-self-heal-count 0
14
TEST $CLI volume set $V0 cluster.eager-lock off
15
TEST $CLI volume set $V0 performance.flush-behind off
16
TEST $CLI volume start $V0
17

18
for i in $(seq 1 3); do
19
   TEST $CLI volume create ${V0}_afr$i replica 3 $H0:$B0/${V0}_afr${i}{0,1,2,3,4,5}
20
   TEST $CLI volume start ${V0}_afr$i
21
   TEST $CLI volume create ${V0}_ec$i disperse 6 redundancy 2 $H0:$B0/${V0}_ec${i}{0,1,2,3,4,5}
22
   TEST $CLI volume start ${V0}_ec$i
23
done
24

25
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^1$" shd_count
26

27
#Stop the glusterd
28
TEST pkill glusterd
29
#Only stopping glusterd, so there will be one shd
30
EXPECT_WITHIN $PROCESS_DOWN_TIMEOUT "^1$" shd_count
31
TEST glusterd
32
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^1$" shd_count
33
#Check the thread count become to number of volumes*number of ec subvolume (3*6=18)
34
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^18$" number_healer_threads_shd $V0 "ec_shd_index_healer"
35
#Check the thread count become to number of volumes*number of afr subvolume (4*6=24)
36
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^24$" number_healer_threads_shd $V0 "afr_shd_index_healer"
37

38
shd_pid=$(get_shd_mux_pid $V0)
39
for i in $(seq 1 3); do
40
    afr_path="/var/run/gluster/shd/${V0}_afr$i/${V0}_afr$i-shd.pid"
41
    EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^${shd_pid}$" cat $afr_path
42
    ec_path="/var/run/gluster/shd/${V0}_ec$i/${V0}_ec${i}-shd.pid"
43
    EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^${shd_pid}$" cat $ec_path
44
done
45

46
#Reboot a node scenario
47
TEST pkill gluster
48
#Only stopped glusterd, so there will be one shd
49
EXPECT_WITHIN $PROCESS_DOWN_TIMEOUT "^0$" shd_count
50

51
TEST glusterd
52
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^1$" shd_count
53

54
#Check the thread count become to number of volumes*number of ec subvolume (3*6=18)
55
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^18$" number_healer_threads_shd $V0 "ec_shd_index_healer"
56
#Check the thread count become to number of volumes*number of afr subvolume (4*6=24)
57
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^24$" number_healer_threads_shd $V0 "afr_shd_index_healer"
58

59
shd_pid=$(get_shd_mux_pid $V0)
60
for i in $(seq 1 3); do
61
    afr_path="/var/run/gluster/shd/${V0}_afr$i/${V0}_afr$i-shd.pid"
62
    EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^${shd_pid}$" cat $afr_path
63
    ec_path="/var/run/gluster/shd/${V0}_ec$i/${V0}_ec${i}-shd.pid"
64
    EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^${shd_pid}$" cat $ec_path
65
done
66

67
for i in $(seq 1 3); do
68
   TEST $CLI volume stop ${V0}_afr$i
69
   TEST $CLI volume stop ${V0}_ec$i
70
done
71

72
EXPECT_WITHIN $PROCESS_DOWN_TIMEOUT "^6$" number_healer_threads_shd $V0 "afr_shd_index_healer"
73

74
TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0
75

76
TEST kill_brick $V0 $H0 $B0/${V0}0
77
TEST kill_brick $V0 $H0 $B0/${V0}3
78

79
TEST touch $M0/foo{1..100}
80

81
EXPECT_WITHIN $HEAL_TIMEOUT "^204$" get_pending_heal_count $V0
82

83
TEST $CLI volume start ${V0} force
84

85
EXPECT_WITHIN $HEAL_TIMEOUT "^0$" get_pending_heal_count $V0
86

87
TEST rm -rf $M0/*
88
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0
89

90

91
TEST $CLI volume stop ${V0}
92
TEST $CLI volume delete ${V0}
93

94
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "^0$" shd_count
95

96
cleanup
97

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

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

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

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