glusterfs

Форк
0
/
volume-status.t 
114 строк · 2.8 Кб
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
cleanup;
10

11
function gluster_client_list_status () {
12
        gluster volume status $V0 client-list | sed -n '/Name/','/total/'p | wc -l
13
}
14

15
function gluster_fd_status () {
16
        gluster volume status $V0 fd | sed -n '/Brick :/ p' | wc -l
17
}
18

19
function gluster_inode_status () {
20
        gluster volume status $V0 inode | sed -n '/Connection / p' | wc -l
21
}
22

23
TEST glusterd
24
TEST pidof glusterd
25
TEST $CLI volume info;
26

27
TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{1,2,3,4,5,6};
28
TEST $CLI volume set $V0 nfs.disable false
29

30
TEST $CLI volume start $V0;
31

32
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" glustershd_up_status
33
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" nfs_up_status
34

35
## Mount FUSE
36
TEST $GFS -s $H0 --volfile-id $V0 $M0;
37
TEST touch $M0/file{1..20}
38

39
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "6" gluster_fd_status
40

41
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "768" gluster_inode_status
42

43
##Disabling this test until the client-list command works for brick-multiplexing
44
#EXPECT_WITHIN $PROCESS_UP_TIMEOUT "7" gluster_client_list_status
45

46
##Wait for connection establishment between nfs server and brick process
47
EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available;
48

49
## Mount NFS
50
TEST mount_nfs $H0:/$V0 $N0 nolock;
51

52
TEST $CLI volume status all
53
TEST $CLI volume status $V0
54

55
function test_nfs_cmds () {
56
    local ret=0
57
    declare -a nfs_cmds=("clients" "mem" "inode" "callpool")
58
    for cmd in ${nfs_cmds[@]}; do
59
        $CLI volume status $V0 nfs $cmd
60
        (( ret += $? ))
61
        $CLI volume status $V0 nfs $cmd --xml
62
        (( ret += $? ))
63
    done
64
    return $ret
65
}
66

67
function test_shd_cmds () {
68
    local ret=0
69
    declare -a shd_cmds=("mem" "inode" "callpool")
70
    for cmd in ${shd_cmds[@]}; do
71
        $CLI volume status $V0 shd $cmd
72
        (( ret += $? ))
73
        $CLI volume status $V0 shd $cmd --xml
74
        (( ret += $? ))
75
    done
76
    return $ret
77
}
78

79
function test_brick_cmds () {
80
    local ret=0
81
    declare -a cmds=("detail" "clients" "mem" "inode" "fd" "callpool")
82
    for cmd in ${cmds[@]}; do
83
        for i in {1..2}; do
84
            $CLI volume status $V0 $H0:$B0/${V0}$i $cmd
85
            (( ret += $? ))
86
            $CLI volume status $V0 $H0:$B0/${V0}$i $cmd --xml
87
            (( ret += $? ))
88
        done
89
    done
90
    return $ret
91
}
92

93
function test_status_cmds () {
94
    local ret=0
95
    declare -a cmds=("detail" "clients" "mem" "inode" "fd" "callpool" "tasks" "client-list")
96
    for cmd in ${cmds[@]}; do
97
        $CLI volume status $V0 $cmd
98
        (( ret += $? ))
99
        $CLI volume status $V0 $cmd --xml
100
        (( ret += $? ))
101
    done
102
    return $ret
103
}
104

105
TEST test_shd_cmds;
106
TEST test_nfs_cmds;
107
TEST test_brick_cmds;
108
TEST test_status_cmds;
109

110

111
## Before killing daemon to avoid deadlocks
112
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0
113

114
cleanup;
115

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

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

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

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