summaryrefslogtreecommitdiffstats
path: root/tests/basic/volume-status.t
blob: 01d7ebf6c07a659cba14b971054c3519e56b3a61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash

. $(dirname $0)/../include.rc
. $(dirname $0)/../volume.rc
. $(dirname $0)/../nfs.rc

#G_TESTDEF_TEST_STATUS_CENTOS6=NFS_TEST

cleanup;

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

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

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

TEST glusterd
TEST pidof glusterd
TEST $CLI volume info;

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

TEST $CLI volume start $V0;

EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" glustershd_up_status
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" nfs_up_status

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

EXPECT_WITHIN $PROCESS_UP_TIMEOUT "6" gluster_fd_status

EXPECT_WITHIN $PROCESS_UP_TIMEOUT "768" gluster_inode_status

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

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

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

TEST $CLI volume status all
TEST $CLI volume status $V0

function test_nfs_cmds () {
    local ret=0
    declare -a nfs_cmds=("clients" "mem" "inode" "callpool")
    for cmd in ${nfs_cmds[@]}; do
        $CLI volume status $V0 nfs $cmd
        (( ret += $? ))
        $CLI volume status $V0 nfs $cmd --xml
        (( ret += $? ))
    done
    return $ret
}

function test_shd_cmds () {
    local ret=0
    declare -a shd_cmds=("mem" "inode" "callpool")
    for cmd in ${shd_cmds[@]}; do
        $CLI volume status $V0 shd $cmd
        (( ret += $? ))
        $CLI volume status $V0 shd $cmd --xml
        (( ret += $? ))
    done
    return $ret
}

function test_brick_cmds () {
    local ret=0
    declare -a cmds=("detail" "clients" "mem" "inode" "fd" "callpool")
    for cmd in ${cmds[@]}; do
        for i in {1..2}; do
            $CLI volume status $V0 $H0:$B0/${V0}$i $cmd
            (( ret += $? ))
            $CLI volume status $V0 $H0:$B0/${V0}$i $cmd --xml
            (( ret += $? ))
        done
    done
    return $ret
}

function test_status_cmds () {
    local ret=0
    declare -a cmds=("detail" "clients" "mem" "inode" "fd" "callpool" "tasks" "client-list")
    for cmd in ${cmds[@]}; do
        $CLI volume status $V0 $cmd
        (( ret += $? ))
        $CLI volume status $V0 $cmd --xml
        (( ret += $? ))
    done
    return $ret
}

TEST test_shd_cmds;
TEST test_nfs_cmds;
TEST test_brick_cmds;
TEST test_status_cmds;


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

cleanup;