summaryrefslogtreecommitdiffstats
path: root/tests/bugs/glusterd/brick-order-check-add-brick.t
blob: 0be31dac76846e74130094f65b08904fadf629a8 (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
#!/bin/bash
. $(dirname $0)/../../include.rc
. $(dirname $0)/../../volume.rc
. $(dirname $0)/../../cluster.rc
. $(dirname $0)/../../snapshot.rc

cleanup;

TEST verify_lvm_version;
#Create cluster with 3 nodes
TEST launch_cluster 3 -NO_DEBUG -NO_FORCE
TEST setup_lvm 3

TEST $CLI_1 peer probe $H2
TEST $CLI_1 peer probe $H3
EXPECT_WITHIN $PROBE_TIMEOUT 2 peer_count

TEST $CLI_1 volume create $V0 replica 3 $H1:$L1/$V0 $H2:$L2/$V0 $H3:$L3/$V0
EXPECT '1 x 3 = 3' volinfo_field $V0 'Number of Bricks'
EXPECT 'Created' volinfo_field $V0 'Status'

TEST $CLI_1 volume start $V0
EXPECT 'Started' volinfo_field $V0 'Status'

#add-brick with or without mentioning the replica count should not fail
TEST $CLI_1 volume add-brick $V0 replica 3 $H1:$L1/${V0}_1 $H2:$L2/${V0}_1 $H3:$L3/${V0}_1
EXPECT '2 x 3 = 6' volinfo_field $V0 'Number of Bricks'

TEST $CLI_1 volume add-brick $V0 $H1:$L1/${V0}_2 $H2:$L2/${V0}_2 $H3:$L3/${V0}_2
EXPECT '3 x 3 = 9' volinfo_field $V0 'Number of Bricks'

#adding bricks from same host should fail the brick order check
TEST ! $CLI_1 volume add-brick $V0 $H1:$L1/${V0}_3 $H1:$L1/${V0}_4 $H1:$L1/${V0}_5
EXPECT '3 x 3 = 9' volinfo_field $V0 'Number of Bricks'

#adding bricks from same host with force should succeed
TEST $CLI_1 volume add-brick $V0 $H1:$L1/${V0}_3 $H1:$L1/${V0}_4 $H1:$L1/${V0}_5 force
EXPECT '4 x 3 = 12' volinfo_field $V0 'Number of Bricks'

TEST $CLI_1 volume stop $V0
TEST $CLI_1 volume delete $V0

TEST $CLI_1 volume create $V0 replica 2 $H1:$L1/${V0}1 $H2:$L2/${V0}1
EXPECT '1 x 2 = 2' volinfo_field $V0 'Number of Bricks'
EXPECT 'Created' volinfo_field $V0 'Status'

TEST $CLI_1 volume start $V0
EXPECT 'Started' volinfo_field $V0 'Status'

#Add-brick with Increasing replica count
TEST $CLI_1 volume add-brick $V0 replica 3 $H3:$L3/${V0}1
EXPECT '1 x 3 = 3' volinfo_field $V0 'Number of Bricks'

#Add-brick with Increasing replica count from same host should fail
TEST ! $CLI_1 volume add-brick $V0 replica 5 $H1:$L1/${V0}2 $H1:$L1/${V0}3

#adding multiple bricks from same host should fail the brick order check
TEST ! $CLI_1 volume add-brick $V0 replica 3 $H1:$L1/${V0}{4..6} $H2:$L2/${V0}{7..9}
EXPECT '1 x 3 = 3' volinfo_field $V0 'Number of Bricks'

cleanup