glusterfs

Форк
0
/
bug-858215.t 
79 строк · 1.7 Кб
1
#!/bin/bash
2

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

5
cleanup;
6

7

8
## Start and create a volume
9
TEST glusterd;
10
TEST pidof glusterd;
11
TEST $CLI volume info;
12

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

16
function volinfo_field()
17
{
18
    local vol=$1;
19
    local field=$2;
20

21
    $CLI volume info $vol | grep "^$field: " | sed 's/.*: //';
22
}
23

24

25
## Verify volume is is created
26
EXPECT "$V0" volinfo_field $V0 'Volume Name';
27
EXPECT 'Created' volinfo_field $V0 'Status';
28

29

30
## Start volume and verify
31
TEST $CLI volume start $V0;
32
EXPECT 'Started' volinfo_field $V0 'Status';
33

34
## Mount FUSE with caching disabled
35
TEST glusterfs --entry-timeout=0 --attribute-timeout=0 --event-history=on -s $H0 --volfile-id $V0 $M0;
36

37
## Test for checking whether the fops have been saved in the event-history
38
TEST ! stat $M0/newfile;
39
TEST touch $M0/newfile;
40
TEST stat $M0/newfile;
41
TEST rm $M0/newfile;
42

43
nfs_pid=$(cat $GLUSTERD_PIDFILEDIR/nfs/nfs.pid || echo -1);
44
glustershd_pid=`ps auxwww | grep glustershd | grep -v grep | awk -F " " '{print $2}'`
45
TEST [ $glustershd_pid != 0 ];
46
pids=$(pidof glusterfs);
47
for i in $pids
48
do
49
        if [ $i -ne $nfs_pid ] && [ $i -ne $glustershd_pid ]; then
50
                mount_pid=$i;
51
                break;
52
        fi
53
done
54

55
dump_dir='/tmp/gerrit_glusterfs'
56
cat >$statedumpdir/glusterdump.options <<EOF
57
all=yes
58
path=$dump_dir
59
EOF
60

61
TEST mkdir -p $dump_dir;
62
TEST kill -USR1 $mount_pid;
63
sleep 2;
64
for file_name in $(ls $dump_dir)
65
do
66
    TEST grep -q "xlator.mount.fuse.history" $dump_dir/$file_name;
67
done
68

69
## Finish up
70
TEST $CLI volume stop $V0;
71
EXPECT 'Stopped' volinfo_field $V0 'Status';
72

73
TEST $CLI volume delete $V0;
74
TEST ! $CLI volume info $V0;
75

76
TEST rm -rf $dump_dir;
77
TEST rm $statedumpdir/glusterdump.options;
78

79
cleanup;
80

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

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

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

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