glusterfs

Форк
0
63 строки · 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 -LDEBUG
10
TEST pidof glusterd
11

12

13
function volinfo_field()
14
{
15
    local vol=$1;
16
    local field=$2;
17

18
    $CLI volume info $vol | grep "^$field: " | sed 's/.*: //';
19
}
20

21

22
function hooks_prep ()
23
{
24
    local event=$1
25
    touch /tmp/pre.out /tmp/post.out
26
    touch $GLUSTERD_WORKDIR/hooks/1/"$event"/pre/Spre.sh
27
    touch $GLUSTERD_WORKDIR/hooks/1/"$event"/post/Spost.sh
28

29
    printf "#! /bin/bash\necho "$event"Pre > /tmp/pre.out\n" > $GLUSTERD_WORKDIR/hooks/1/"$event"/pre/Spre.sh
30
    printf "#! /bin/bash\necho "$event"Post > /tmp/post.out\n" > $GLUSTERD_WORKDIR/hooks/1/"$event"/post/Spost.sh
31
    chmod a+x $GLUSTERD_WORKDIR/hooks/1/"$event"/pre/Spre.sh
32
    chmod a+x $GLUSTERD_WORKDIR/hooks/1/"$event"/post/Spost.sh
33
}
34

35
function hooks_cleanup ()
36
{
37
    local event=$1
38
    rm /tmp/pre.out /tmp/post.out
39
    rm $GLUSTERD_WORKDIR/hooks/1/"$event"/pre/Spre.sh
40
    rm $GLUSTERD_WORKDIR/hooks/1/"$event"/post/Spost.sh
41
}
42

43
## Verify volume is created and its hooks script ran
44
hooks_prep 'create'
45
TEST $CLI volume create $V0 $H0:$B0/${V0}1;
46
EXPECT "$V0" volinfo_field $V0 'Volume Name';
47
EXPECT 'Created' volinfo_field $V0 'Status';
48
EXPECT 'createPre' cat /tmp/pre.out;
49
# Spost.sh comes after S10selinux-label-brick.sh under create post hook script
50
# list. So consider the delay in setting SELinux context on bricks
51
EXPECT_WITHIN 5 'createPost' cat /tmp/post.out;
52
hooks_cleanup 'create'
53

54

55
## Start volume and verify that its hooks script ran
56
hooks_prep 'start'
57
TEST $CLI volume start $V0;
58
EXPECT 'Started' volinfo_field $V0 'Status';
59
EXPECT_WITHIN 5 'startPre' cat /tmp/pre.out;
60
EXPECT_WITHIN 5 'startPost' cat /tmp/post.out;
61
hooks_cleanup 'start'
62

63
cleanup;
64

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

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

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

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