From 4d3b3d3f8a26b65e6a235d937baff40eefd577fd Mon Sep 17 00:00:00 2001 From: Sakshi Date: Thu, 28 May 2015 10:49:36 +0530 Subject: glusterd: check if all bricks are started before performing remove-brick Due to low severity the patch was not immediately backported. > Backport of http://review.gluster.org/#/c/10954/ > Change-Id: Ie9e24e037b7a39b239a7badb983504963d664324 > BUG: 1225716 > Signed-off-by: Sakshi > Reviewed-on: http://review.gluster.org/10954 > Tested-by: NetBSD Build System > Tested-by: Gluster Build System > Reviewed-by: Atin Mukherjee Change-Id: Ifc6088949f3891c28c4941b3377c72b68b68cb29 BUG: 1302528 Signed-off-by: Sakshi Reviewed-on: http://review.gluster.org/13306 Reviewed-by: Gaurav Kumar Garg Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Atin Mukherjee --- ...-1225716-brick-online-validation-remove-brick.t | 32 ++++++++++++++++++++++ tests/bugs/glusterd/bug-857330/normal.t | 2 ++ tests/bugs/glusterd/bug-857330/xml.t | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 tests/bugs/glusterd/bug-1225716-brick-online-validation-remove-brick.t (limited to 'tests') diff --git a/tests/bugs/glusterd/bug-1225716-brick-online-validation-remove-brick.t b/tests/bugs/glusterd/bug-1225716-brick-online-validation-remove-brick.t new file mode 100644 index 00000000000..657c7f8eb01 --- /dev/null +++ b/tests/bugs/glusterd/bug-1225716-brick-online-validation-remove-brick.t @@ -0,0 +1,32 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd + +TEST $CLI volume create $V0 $H0:$B0/${V0}0 $H0:$B0/${V0}1 $H0:$B0/${V0}2 +TEST $CLI volume start $V0 + +#kill a brick process +kill -15 `cat $GLUSTERD_WORKDIR/vols/$V0/run/$H0-d-backends-${V0}1.pid`; + +#remove-brick start should fail as the brick is down +TEST ! $CLI volume remove-brick $V0 $H0:$B0/${V0}1 start + +TEST $CLI volume start $V0 force +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}1 + +#remove-brick start should succeed as the brick is up +TEST $CLI volume remove-brick $V0 $H0:$B0/${V0}1 start + +#kill a brick process +kill -15 `cat $GLUSTERD_WORKDIR/vols/$V0/run/$H0-d-backends-${V0}1.pid`; + +#remove-brick commit should pass even if the brick is down +TEST $CLI volume remove-brick $V0 $H0:$B0/${V0}1 commit + +cleanup; diff --git a/tests/bugs/glusterd/bug-857330/normal.t b/tests/bugs/glusterd/bug-857330/normal.t index c575038b840..d42f5dacaf6 100755 --- a/tests/bugs/glusterd/bug-857330/normal.t +++ b/tests/bugs/glusterd/bug-857330/normal.t @@ -46,6 +46,8 @@ TEST $CLI volume replace-brick $V0 $REP_BRICK_PAIR commit force; ################## ## Remove-brick ## ################## +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}3 + COMMAND="volume remove-brick $V0 $H0:$B0/${V0}3 start" PATTERN="ID:" TEST check-and-store-task-id diff --git a/tests/bugs/glusterd/bug-857330/xml.t b/tests/bugs/glusterd/bug-857330/xml.t index c25a8a63251..6b87f21d9c1 100755 --- a/tests/bugs/glusterd/bug-857330/xml.t +++ b/tests/bugs/glusterd/bug-857330/xml.t @@ -52,6 +52,8 @@ TEST $CLI volume replace-brick $V0 $H0:$B0/${V0}2 $H0:$B0/${V0}3 commit force ################## ## Remove-brick ## ################## +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" brick_up_status $V0 $H0 $B0/${V0}3 + COMMAND="volume remove-brick $V0 $H0:$B0/${V0}3 start" PATTERN="task-id" TEST check-and-store-task-id-xml -- cgit