glusterfs
63 строки · 1.7 Кб
1#!/bin/bash
2
3. $(dirname $0)/../../include.rc
4
5cleanup;
6
7
8## Start and create a volume
9TEST glusterd -LDEBUG
10TEST pidof glusterd
11
12
13function volinfo_field()
14{
15local vol=$1;
16local field=$2;
17
18$CLI volume info $vol | grep "^$field: " | sed 's/.*: //';
19}
20
21
22function hooks_prep ()
23{
24local event=$1
25touch /tmp/pre.out /tmp/post.out
26touch $GLUSTERD_WORKDIR/hooks/1/"$event"/pre/Spre.sh
27touch $GLUSTERD_WORKDIR/hooks/1/"$event"/post/Spost.sh
28
29printf "#! /bin/bash\necho "$event"Pre > /tmp/pre.out\n" > $GLUSTERD_WORKDIR/hooks/1/"$event"/pre/Spre.sh
30printf "#! /bin/bash\necho "$event"Post > /tmp/post.out\n" > $GLUSTERD_WORKDIR/hooks/1/"$event"/post/Spost.sh
31chmod a+x $GLUSTERD_WORKDIR/hooks/1/"$event"/pre/Spre.sh
32chmod a+x $GLUSTERD_WORKDIR/hooks/1/"$event"/post/Spost.sh
33}
34
35function hooks_cleanup ()
36{
37local event=$1
38rm /tmp/pre.out /tmp/post.out
39rm $GLUSTERD_WORKDIR/hooks/1/"$event"/pre/Spre.sh
40rm $GLUSTERD_WORKDIR/hooks/1/"$event"/post/Spost.sh
41}
42
43## Verify volume is created and its hooks script ran
44hooks_prep 'create'
45TEST $CLI volume create $V0 $H0:$B0/${V0}1;
46EXPECT "$V0" volinfo_field $V0 'Volume Name';
47EXPECT 'Created' volinfo_field $V0 'Status';
48EXPECT '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
51EXPECT_WITHIN 5 'createPost' cat /tmp/post.out;
52hooks_cleanup 'create'
53
54
55## Start volume and verify that its hooks script ran
56hooks_prep 'start'
57TEST $CLI volume start $V0;
58EXPECT 'Started' volinfo_field $V0 'Status';
59EXPECT_WITHIN 5 'startPre' cat /tmp/pre.out;
60EXPECT_WITHIN 5 'startPost' cat /tmp/post.out;
61hooks_cleanup 'start'
62
63cleanup;
64