From 9a9f37440cb07ce2a1130ce39ea0d3461078f3a8 Mon Sep 17 00:00:00 2001 From: Atin Mukherjee Date: Thu, 30 Jun 2016 11:42:54 +0530 Subject: glusterd: spawn daemons from init() on a single or two node setup Allow glusterd to spawn the daemons at the time of initialization when peer count is less than 2. This is required if user wants to set up a two node cluster with out server side quorum and want the bricks to come up on a node where the other node is down, however the behaviour will be overriden when server side quorum is enabled. Change-Id: I21118e996655822467eaf329f638eb9a8bf8b7d5 BUG: 1352277 Signed-off-by: Atin Mukherjee Reviewed-on: http://review.gluster.org/14848 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Jeff Darcy --- .../bug-1352277-spawn-daemons-on-two-node-setup.t | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/bugs/glusterd/bug-1352277-spawn-daemons-on-two-node-setup.t (limited to 'tests') diff --git a/tests/bugs/glusterd/bug-1352277-spawn-daemons-on-two-node-setup.t b/tests/bugs/glusterd/bug-1352277-spawn-daemons-on-two-node-setup.t new file mode 100644 index 00000000000..53d8d34160e --- /dev/null +++ b/tests/bugs/glusterd/bug-1352277-spawn-daemons-on-two-node-setup.t @@ -0,0 +1,37 @@ +#!/bin/bash + +# Test case for checking whether the brick process(es) come up on a two node +# cluster if one of them is already down and other is going through a restart + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc +. $(dirname $0)/../../cluster.rc + +cleanup; + +TEST launch_cluster 2 + +TEST $CLI_1 peer probe $H2; +EXPECT_WITHIN $PROBE_TIMEOUT 1 peer_count + +# Lets create the volume +TEST $CLI_1 volume create $V0 $H1:$B1/${V0}1 $H2:$B2/${V0}2 + +# Start the volume +TEST $CLI_1 volume start $V0 + +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status_1 $V0 $H1 $B1/${V0}1 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status_1 $V0 $H2 $B2/${V0}2 + +# Bring down all the gluster processes +TEST killall_gluster + +#Bring back 1st glusterd and check whether the brick process comes back +TEST $glusterd_1 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status_1 $V0 $H1 $B1/${V0}1 + +#Enabling quorum should bring down the brick +TEST $CLI_1 volume set $V0 cluster.server-quorum-type server +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "0" brick_up_status_1 $V0 $H1 $B1/${V0}1 + +cleanup; -- cgit