summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs/glusterd/bug-1444596_brick_mux_gd_status_restart.t68
-rw-r--r--tests/bugs/glusterd/bug-1444596_brick_mux_posix_hlth_chk_status.t44
-rwxr-xr-xtests/bugs/glusterd/bug-913555.t4
-rw-r--r--tests/cluster.rc10
-rw-r--r--tests/volume.rc30
5 files changed, 145 insertions, 11 deletions
diff --git a/tests/bugs/glusterd/bug-1444596_brick_mux_gd_status_restart.t b/tests/bugs/glusterd/bug-1444596_brick_mux_gd_status_restart.t
new file mode 100644
index 00000000000..950cb5f8046
--- /dev/null
+++ b/tests/bugs/glusterd/bug-1444596_brick_mux_gd_status_restart.t
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+. $(dirname $0)/../../include.rc
+. $(dirname $0)/../../volume.rc
+. $(dirname $0)/../../cluster.rc
+
+
+function count_up_bricks {
+ $CLI --xml volume status $1 | grep '<status>1' | wc -l
+}
+
+function count_brick_processes {
+ pgrep glusterfsd | wc -l
+}
+
+cleanup
+TEST glusterd
+TEST $CLI volume create $V0 $H0:$B0/brick{0,1}
+TEST $CLI volume create $V1 $H0:$B0/brick{2,3}
+
+TEST $CLI volume set all cluster.brick-multiplex on
+
+TEST $CLI volume start $V0
+TEST $CLI volume start $V1
+EXPECT_WITHIN $PROCESS_UP_TIMEOUT 2 count_up_bricks $V0
+EXPECT_WITHIN $PROCESS_UP_TIMEOUT 2 count_up_bricks $V1
+EXPECT 1 count_brick_processes
+
+pkill glusterd
+TEST glusterd
+
+#Check brick status after restart glusterd
+EXPECT_WITHIN $PROCESS_UP_TIMEOUT 2 count_up_bricks $V0
+EXPECT_WITHIN $PROCESS_UP_TIMEOUT 2 count_up_bricks $V1
+
+
+TEST $CLI volume stop $V0
+TEST $CLI volume stop $V1
+
+cleanup
+
+TEST glusterd
+TEST $CLI volume create $V0 $H0:$B0/brick{0,1}
+TEST $CLI volume create $V1 $H0:$B0/brick{2,3}
+
+TEST $CLI volume set all cluster.brick-multiplex on
+
+TEST $CLI volume start $V0
+TEST $CLI volume start $V1
+
+EXPECT 1 count_brick_processes
+
+TEST $CLI volume set $V0 performance.cache-size 32MB
+TEST $CLI volume stop $V0
+TEST $CLI volume start $V0
+
+#Check No. of brick processes after change option
+EXPECT 2 count_brick_processes
+
+pkill glusterd
+TEST glusterd
+
+#Check brick status after restart glusterd should not be NA
+EXPECT_WITHIN $PROCESS_UP_TIMEOUT 2 count_up_bricks $V0
+EXPECT_WITHIN $PROCESS_UP_TIMEOUT 2 count_up_bricks $V1
+EXPECT 2 count_brick_processes
+
+cleanup
diff --git a/tests/bugs/glusterd/bug-1444596_brick_mux_posix_hlth_chk_status.t b/tests/bugs/glusterd/bug-1444596_brick_mux_posix_hlth_chk_status.t
new file mode 100644
index 00000000000..39ab2dd723c
--- /dev/null
+++ b/tests/bugs/glusterd/bug-1444596_brick_mux_posix_hlth_chk_status.t
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+. $(dirname $0)/../../include.rc
+. $(dirname $0)/../../volume.rc
+. $(dirname $0)/../../cluster.rc
+
+
+function count_up_bricks {
+ $CLI --xml volume status $1 | grep '<status>1' | wc -l
+}
+
+function count_brick_processes {
+ pgrep glusterfsd | wc -l
+}
+
+cleanup
+TEST glusterd -LDEBUG
+TEST $CLI volume create $V0 $H0:$B0/brick{0,1}
+TEST $CLI volume create $V1 $H0:$B0/brick{2,3}
+
+TEST $CLI volume set all cluster.brick-multiplex on
+
+TEST $CLI volume start $V0
+TEST $CLI volume start $V1
+
+EXPECT 1 count_brick_processes
+
+TEST $CLI volume stop $V0
+TEST $CLI volume delete $V0
+TEST rm -rf $H0:$B0/brick{0,1}
+
+#Check No. of brick processes after remove brick from back-end
+EXPECT_WITHIN $PROCESS_UP_TIMEOUT 2 count_up_bricks $V1
+
+EXPECT 1 count_brick_processes
+
+pkill glusterd
+TEST glusterd -LDEBUG
+sleep 5
+EXPECT_WITHIN $PROCESS_UP_TIMEOUT 2 count_up_bricks $V1
+
+
+cleanup
+
diff --git a/tests/bugs/glusterd/bug-913555.t b/tests/bugs/glusterd/bug-913555.t
index 5c845dc8545..9bc875340d1 100755
--- a/tests/bugs/glusterd/bug-913555.t
+++ b/tests/bugs/glusterd/bug-913555.t
@@ -16,6 +16,10 @@ function check_peers {
$CLI_1 peer status | grep 'Peer in Cluster (Connected)' | wc -l
}
+function online_brick_count {
+ $CLI_1 --xml volume status | grep '<status>1' | wc -l
+}
+
cleanup;
TEST launch_cluster 3; # start 3-node virtual cluster
diff --git a/tests/cluster.rc b/tests/cluster.rc
index 6dece8182e4..48071647260 100644
--- a/tests/cluster.rc
+++ b/tests/cluster.rc
@@ -179,13 +179,3 @@ function brick_up_status_1 {
$CLI_1 volume status $vol $host:$brick --xml | sed -ne 's/.*<status>\([01]\)<\/status>/\1/p'
}
-function online_brick_count {
- local bricks
- local total=0
- local i
- for i in $(seq 1 $CLUSTER_COUNT); do
- bricks=$(find $B0/$i/glusterd/vols -name '*.pid' | wc -l)
- total=$((total+bricks))
- done
- echo $total
-}
diff --git a/tests/volume.rc b/tests/volume.rc
index 5c53bba2efd..c30c5fd2ea7 100644
--- a/tests/volume.rc
+++ b/tests/volume.rc
@@ -21,11 +21,39 @@ function brick_count()
$CLI volume info $vol | egrep "^Brick[0-9]+: " | wc -l;
}
+function check_brick_status() {
+ cmd="gluster --xml volume status"
+ local daemon=$1
+
+ if [[ -z $daemon ]]
+ then
+ echo `$cmd | grep '<status>1' | wc -l`
+ else
+ echo `$cmd | grep -A 5 ${daemon} | grep '<status>1' | wc -l`
+ fi
+}
+
function online_brick_count ()
{
- find $GLUSTERD_WORKDIR/vols/ -name '*.pid' | wc -l
+ local v1=0
+ local v2=0
+ local v3=0
+ local v4=0
+ local v5=0
+ local tot=0
+
+ #First count total Number of bricks and then subtract daemon status
+ v1=`check_brick_status`
+ v2=`check_brick_status "Self-heal"`
+ v3=`check_brick_status "Quota"`
+ v4=`check_brick_status "Snapshot"`
+ v5=`check_brick_status "Tier"`
+ tot=$((v1-v2-v3-v4-v5))
+ echo $tot
+
}
+
function brick_up_status {
local vol=$1
local host=$2