glusterfs

Форк
0
/
bug-1125824.t 
103 строки · 2.7 Кб
1
#!/bin/bash
2

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

7
#G_TESTDEF_TEST_STATUS_CENTOS6=NFS_TEST
8

9
create_files () {
10
        for i in {1..10}; do
11
                orig=$(printf %s/file%04d $1 $i)
12
                echo "This is file $i" > $orig
13
        done
14
        for i in {1..10}; do
15
                mkdir $(printf %s/dir%04d $1 $i)
16
        done
17
        sync
18
}
19

20
create_dirs () {
21
        for i in {1..10}; do
22
                mkdir $(printf %s/dir%04d $1 $i)
23
                create_files $(printf %s/dir%04d $1 $i)
24
        done
25
        sync
26
}
27

28
stat_files () {
29
        for i in {1..10}; do
30
                orig=$(printf %s/file%04d $1 $i)
31
                stat $orig
32
        done
33
        for i in {1..10}; do
34
                stat $(printf %s/dir%04d $1 $i)
35
        done
36
        sync
37
}
38

39
stat_dirs () {
40
        for i in {1..10}; do
41
                stat $(printf %s/dir%04d $1 $i)
42
                stat_files $(printf %s/dir%04d $1 $i)
43
        done
44
        sync
45
}
46

47
cleanup;
48

49
TEST glusterd
50
TEST pidof glusterd
51
TEST $CLI volume info;
52

53
TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{1,2,3,4};
54

55
EXPECT "$V0" volinfo_field $V0 'Volume Name';
56
EXPECT 'Created' volinfo_field $V0 'Status';
57
EXPECT '4' brick_count $V0
58

59
TEST $CLI volume set $V0 nfs.disable false
60
TEST $CLI volume start $V0;
61
EXPECT 'Started' volinfo_field $V0 'Status';
62

63
EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available;
64
TEST mount_nfs $H0:/$V0 $N0
65

66
# Create and poulate the NFS inode tables
67
TEST create_dirs $N0
68
TEST stat_dirs $N0
69

70
# add-bricks changing the state of the volume where some bricks
71
# would have some directories and others would not
72
TEST $CLI volume add-brick $V0 replica 2 $H0:$B0/${V0}{5,6,7,8}
73

74
# Post this dht_access was creating a mess for directories which is fixed
75
# with this commit. The issues could range from getting ENOENT or
76
# ESTALE or entries missing to directories not having complete
77
# layouts.
78
TEST cd $N0
79
TEST ls -lR
80

81
TEST $CLI volume rebalance $V0 start force
82
EXPECT_WITHIN $REBALANCE_TIMEOUT "completed" rebalance_status_field $V0
83

84
# tests to check post rebalance if layouts and entires are fine and
85
# accessible by NFS to clear the volume
86
TEST ls -lR
87
rm -rf ./*
88
# There are additional bugs where NFS+DHT does not delete all entries
89
# on an rm -rf, so we do an additional rm -rf to ensure all is done
90
# and we are facing this transient issue, rather than a bad directory
91
# layout that is cached in memory
92
TEST rm -rf ./*
93

94
# Get out of the mount, so that umount can work
95
TEST cd /
96

97
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $N0
98
TEST $CLI volume stop $V0;
99
EXPECT 'Stopped' volinfo_field $V0 'Status';
100
TEST $CLI volume delete $V0;
101
TEST ! $CLI volume info $V0;
102

103
cleanup;
104

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

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

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

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