diff options
author | Krutika Dhananjay <kdhananj@redhat.com> | 2013-02-12 17:26:35 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-04-09 17:39:30 -0700 |
commit | c9800f0986a10bbde9121239590e3cb25b94c5f8 (patch) | |
tree | ee6045c86cae871472131c96fef90003e395575f /tests/bugs/bug-948729 | |
parent | f364d542aaf272c14b1d6ef7c9ac805db0fdb45c (diff) |
glusterd: changes in 'volume create' behaviour
This patch incorporates all the changes suggested on the behaviour of
'volume create' command in http://review.gluster.org/#change,4214
(comment #14, to be precise).
Change-Id: Iaac524a59738b177415595b18aa8a136090d3d25
BUG: 948729
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/4740
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'tests/bugs/bug-948729')
-rw-r--r-- | tests/bugs/bug-948729/bug-948729-force.t | 85 | ||||
-rw-r--r-- | tests/bugs/bug-948729/bug-948729-mode-script.t | 85 | ||||
-rw-r--r-- | tests/bugs/bug-948729/bug-948729.t | 68 |
3 files changed, 238 insertions, 0 deletions
diff --git a/tests/bugs/bug-948729/bug-948729-force.t b/tests/bugs/bug-948729/bug-948729-force.t new file mode 100644 index 00000000000..3a5df791606 --- /dev/null +++ b/tests/bugs/bug-948729/bug-948729-force.t @@ -0,0 +1,85 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../cluster.rc + +function check_peers { + $CLI_1 peer status | grep 'Peer in Cluster (Connected)' | wc -l +} + +cleanup; +uuid1=`uuidgen`; +uuid2=`uuidgen`; +uuid3=`uuidgen`; + +V1=patchy1 +V2=patchy2 + +TEST launch_cluster 2; +cli1="gluster --remote-host=$H1" + +TEST $CLI_1 peer probe $H2; + +EXPECT_WITHIN 20 1 check_peers; + +B3=/d/backends/3 +B4=/d/backends/4 +B5=/d/backends/5 +B6=/d/backends/6 + +mkdir -p $B3 $B4 $B5 $B6 + +TEST truncate -s 16M $B1/brick1 +TEST truncate -s 16M $B2/brick2 +TEST truncate -s 16M $B3/brick3 +TEST truncate -s 16M $B4/brick4 +TEST truncate -s 16M $B5/brick5 +TEST truncate -s 16M $B6/brick6 + +TEST LD1=`losetup --find --show $B1/brick1` +TEST mkfs.xfs $LD1 +TEST LD2=`losetup --find --show $B2/brick2` +TEST mkfs.xfs $LD2 +TEST LD3=`losetup --find --show $B3/brick3` +TEST mkfs.xfs $LD3 +TEST LD4=`losetup --find --show $B4/brick4` +TEST mkfs.xfs $LD4 +TEST LD5=`losetup --find --show $B5/brick5` +TEST mkfs.xfs $LD5 +TEST LD6=`losetup --find --show $B6/brick6` +TEST mkfs.xfs $LD6 + +mkdir -p $B1/$V0 $B2/$V0 $B3/$V0 $B4/$V0 $B5/$V0 $B6/$V0 + +TEST mount -t xfs $LD1 $B1/$V0 +TEST mount -t xfs $LD2 $B2/$V0 +TEST mount -t xfs $LD3 $B3/$V0 +TEST mount -t xfs $LD4 $B4/$V0 +TEST mount -t xfs $LD5 $B5/$V0 +TEST mount -t xfs $LD6 $B6/$V0 + +#Case 0: Parent directory of the brick is absent +TEST ! $cli1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2 force + +#Case 1: File system root is being used as brick directory +TEST $cli1 volume create $V0 $H1:$B5/$V0 $H2:$B6/$V0 force + +#Case 2: Brick directory contains only one component +TEST $cli1 volume create $V1 $H1:/$uuid1 $H2:/$uuid2 force + +#Case 3: Sub-directories of the backend FS being used as brick directory +TEST $cli1 volume create $V2 $H1:$B1/$V0/brick1 $H2:$B2/$V0/brick2 force + +#add-brick tests +TEST ! $cli1 volume add-brick $V0 $H1:$B3/$V0/nonexistent/brick3 force +TEST $cli1 volume add-brick $V0 $H1:$B3/$V0 force +TEST $cli1 volume add-brick $V1 $H1:/$uuid3 force +TEST $cli1 volume add-brick $V2 $H1:$B4/$V0/brick3 force + +#####replace-brick tests +#FIX-ME: replace-brick does not work with the newly introduced cluster test +#####framework + +rmdir /$uuid1 /$uuid2 /$uuid3; + +cleanup; diff --git a/tests/bugs/bug-948729/bug-948729-mode-script.t b/tests/bugs/bug-948729/bug-948729-mode-script.t new file mode 100644 index 00000000000..541ca897d5f --- /dev/null +++ b/tests/bugs/bug-948729/bug-948729-mode-script.t @@ -0,0 +1,85 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../cluster.rc + +function check_peers { + $CLI_1 peer status | grep 'Peer in Cluster (Connected)' | wc -l +} + +cleanup; + +uuid1=`uuidgen`; +uuid2=`uuidgen`; +uuid3=`uuidgen`; + +V1=patchy1 +V2=patchy2 +V3=patchy3 + +TEST launch_cluster 2; + +TEST $CLI_1 peer probe $H2; + +EXPECT_WITHIN 20 1 check_peers; + +B3=/d/backends/3 +B4=/d/backends/4 +B5=/d/backends/5 +B6=/d/backends/6 +mkdir -p $B3 $B4 $B5 $B6 + +TEST truncate -s 16M $B1/brick1 +TEST truncate -s 16M $B2/brick2 +TEST truncate -s 16M $B3/brick3 +TEST truncate -s 16M $B4/brick4 +TEST truncate -s 16M $B5/brick5 +TEST truncate -s 16M $B6/brick6 + +TEST LD1=`losetup --find --show $B1/brick1` +TEST mkfs.xfs $LD1 +TEST LD2=`losetup --find --show $B2/brick2` +TEST mkfs.xfs $LD2 +TEST LD3=`losetup --find --show $B3/brick3` +TEST mkfs.xfs $LD3 +TEST LD4=`losetup --find --show $B4/brick4` +TEST mkfs.xfs $LD4 +TEST LD5=`losetup --find --show $B5/brick5` +TEST mkfs.xfs $LD5 +TEST LD6=`losetup --find --show $B6/brick6` +TEST mkfs.xfs $LD6 + +mkdir -p $B1/$V0 $B2/$V0 $B3/$V0 $B4/$V0 $B5/$V0 $B6/$V0 + +TEST mount -t xfs $LD1 $B1/$V0 +TEST mount -t xfs $LD2 $B2/$V0 +TEST mount -t xfs $LD3 $B3/$V0 +TEST mount -t xfs $LD4 $B4/$V0 +TEST mount -t xfs $LD5 $B5/$V0 +TEST mount -t xfs $LD6 $B6/$V0 + +#Case 0: Parent directory of the brick is absent +TEST ! $CLI_1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2 + +#Case 1: File system root being used as brick directory +TEST $CLI_1 volume create $V0 $H1:$B5/$V0 $H2:$B6/$V0 + +#Case 2: Brick directory contains only one component +TEST $CLI_1 volume create $V1 $H1:/$uuid1 $H2:/$uuid2 + +#Case 3: Sub-directories of the backend FS being used as brick directory +TEST $CLI_1 volume create $V2 $H1:$B1/$V0/brick1 $H2:$B2/$V0/brick2 + +#add-brick tests +TEST ! $CLI_1 volume add-brick $V0 $H1:$B3/$V0/nonexistent/brick3 +TEST $CLI_1 volume add-brick $V0 $H1:$B3/$V0 +TEST $CLI_1 volume add-brick $V1 $H1:/$uuid3 +TEST $CLI_1 volume add-brick $V2 $H1:$B4/$V0/brick3 + +#####replace-brick tests +#FIX-ME : replace-brick does not currently work in the newly introduced +#####cluster test framework + +rmdir /$uuid1 /$uuid2 /$uuid3 + +cleanup; diff --git a/tests/bugs/bug-948729/bug-948729.t b/tests/bugs/bug-948729/bug-948729.t new file mode 100644 index 00000000000..288ae2bef51 --- /dev/null +++ b/tests/bugs/bug-948729/bug-948729.t @@ -0,0 +1,68 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../cluster.rc + +function check_peers { + $CLI_1 peer status | grep 'Peer in Cluster (Connected)' | wc -l +} + +cleanup; + +uuid1=`uuidgen`; +uuid2=`uuidgen`; +uuid3=`uuidgen`; + +TEST launch_cluster 2; +cli1="gluster --remote-host=$H1" + +TEST $CLI_1 peer probe $H2; + +EXPECT_WITHIN 20 1 check_peers; + +B3=/d/backends/3 + +mkdir -p $B3 + +TEST truncate -s 16M $B1/brick1 +TEST truncate -s 16M $B2/brick2 +TEST truncate -s 16M $B3/brick3 + +TEST LD1=`losetup --find --show $B1/brick1` +TEST mkfs.xfs $LD1 +TEST LD2=`losetup --find --show $B2/brick2` +TEST mkfs.xfs $LD2 +TEST LD3=`losetup --find --show $B3/brick3` +TEST mkfs.xfs $LD3 + +mkdir -p $B1/$V0 $B2/$V0 $B3/$V0 + +TEST mount -t xfs $LD1 $B1/$V0 +TEST mount -t xfs $LD2 $B2/$V0 +TEST mount -t xfs $LD3 $B3/$V0 + +#Tests without --mode=script option + +#Case 0: Parent directory of the brick is absent +TEST ! $cli1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2 + +#Case 1: File system root being used as brick directory +TEST ! $cli1 volume create $V0 $H1:$B1/$V0 $H2:$B2/$V0 + +#Case 2: Brick directory contains only one component +TEST ! $cli1 volume create $V0 $H1:/$uuid1 $H2:/$uuid2 + +#Case 3: Sub-directories of the backend FS being used as brick directory +TEST $cli1 volume create $V0 $H1:$B1/$V0/brick1 $H2:$B2/$V0/brick2 + +#add-brick tests +TEST ! $cli1 volume add-brick $V0 $H1:$B3/$V0/nonexistent/b3 +TEST ! $cli1 volume add-brick $V0 $H1:$B3/$V0 +TEST ! $cli1 volume add-brick $V0 $H1:/$uuid3 +TEST $cli1 volume add-brick $V0 $H1:$B3/$V0/brick3 + +#####replace-brick tests +#FIX-ME: Replace-brick does not work currently in the newly introduced cluster +#####test framework. + +cleanup; |