glusterfs

Форк
0
/
bug-1655052-sbrain-policy-same-size.t 
54 строки · 1.9 Кб
1
#!/bin/bash
2

3
#Test the split-brain resolution CLI commands.
4
. $(dirname $0)/../../include.rc
5
. $(dirname $0)/../../volume.rc
6

7
cleanup;
8

9
TEST glusterd
10
TEST pidof glusterd
11

12
#Create replica 2 volume
13
TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{0,1}
14
TEST $CLI volume set $V0 performance.write-behind off
15
TEST $CLI volume set $V0 cluster.self-heal-daemon off
16
TEST $CLI volume set $V0 cluster.entry-self-heal off
17
TEST $CLI volume set $V0 cluster.data-self-heal off
18
TEST $CLI volume set $V0 cluster.metadata-self-heal off
19
TEST $CLI volume start $V0
20
TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0
21
TEST touch $M0/file
22

23
############ Healing using favorite-child-policy = size and size of bricks is same #################
24
TEST kill_brick $V0 $H0 $B0/${V0}1
25
TEST dd if=/dev/urandom of=$M0/file bs=1024 count=1024
26
TEST $CLI volume start $V0 force
27
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}1
28
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" afr_child_up_status $V0 1
29
TEST kill_brick $V0 $H0 $B0/${V0}0
30
TEST dd if=/dev/urandom of=$M0/file bs=1024 count=1024
31

32
TEST $CLI volume start $V0 force
33
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}0
34
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" afr_child_up_status $V0 0
35
TEST $CLI volume set $V0 cluster.self-heal-daemon on
36
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" glustershd_up_status
37
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 0
38
EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 1
39
TEST $CLI volume heal $V0
40

41
#file still in split-brain
42
EXPECT_WITHIN $HEAL_TIMEOUT "2" get_pending_heal_count $V0
43
cat $M0/file > /dev/null
44
EXPECT_NOT "^0$" echo $?
45

46
#We know that both bricks have same size file
47
TEST $CLI volume set $V0 cluster.favorite-child-policy size
48
TEST $CLI volume heal $V0
49
EXPECT_WITHIN $HEAL_TIMEOUT "2" get_pending_heal_count $V0
50
cat $M0/file > /dev/null
51
EXPECT_NOT "^0$" echo $?
52

53
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0
54
cleanup
55

56

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

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

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

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