diff options
Diffstat (limited to 'tests/bugs')
| -rw-r--r--[-rwxr-xr-x] | tests/bugs/bug-860297.t | 88 | 
1 files changed, 7 insertions, 81 deletions
diff --git a/tests/bugs/bug-860297.t b/tests/bugs/bug-860297.t index fa1b1ff285a..2a3ca7a7a6c 100755..100644 --- a/tests/bugs/bug-860297.t +++ b/tests/bugs/bug-860297.t @@ -1,87 +1,13 @@  #!/bin/bash -  . $(dirname $0)/../include.rc -cleanup - -function recreate { -	# The rm is necessary so we don't get fooled by leftovers from old runs. -	rm -rf $1 && mkdir -p $1 -} - -function count_bricks { -	local count -	local pid -	count=0 -	for pid in /var/lib/glusterd/vols/${1}/run/*pid; do -		if kill -0 $(cat $pid); then -			count=$((count+1)) -		fi -	done -	echo $count -} +cleanup;  TEST glusterd  TEST pidof glusterd -TEST $CLI volume info; - -## Start and create a volume -TEST recreate ${B0}/${V0}-0 -TEST recreate ${B0}/${V0}-1 -TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}-{0,1} - -function volinfo_field() -{ -    local vol=$1; -    local field=$2; - -    $CLI volume info $vol | grep "^$field: " | sed 's/.*: //'; -} - - -## Verify volume is created -EXPECT "$V0" volinfo_field $V0 'Volume Name'; -EXPECT 'Created' volinfo_field $V0 'Status'; - -## Start volume and verify that all bricks start. -TEST $CLI volume start $V0; -EXPECT 'Started' volinfo_field $V0 'Status'; -EXPECT 2 count_bricks $V0 -TEST $CLI volume stop $V0 - -# Nuke one of the bricks and make sure it *doesn't* start. -TEST recreate ${B0}/${V0}-1 -# We can't do the usual TEST/startup thing here because of another bug.  If -# a server fails to start a brick, it won't start any others either.  Since -# all of our bricks in testing are on one server, that means no bricks start -# and so the volume doesn't start either.  Changing the order etc. doesn't -# help, because the attempted startup order is non-deterministic.  Instead, -# we just don't rely on whether or not the volume starts; the brick count is -# sufficient for our purposes. -$CLI volume start $V0; -EXPECT 1 count_bricks $V0 -# If we can't depend on the volume starting, we can't depend on it stopping -# either. -$CLI volume stop $V0 - -# Label the recreated brick and make sure it starts now. -TEST $CLI volume label $V0 ${H0}:${B0}/${V0}-1 -TEST $CLI volume start $V0; -EXPECT 'Started' volinfo_field $V0 'Status'; -EXPECT 2 count_bricks $V0 - -# Make sure we can mount and use the volume. -TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 $M0 -TEST dd if=/dev/zero of=$M0/block bs=4k count=1 - -if [ "$EXIT_EARLY" = "1" ]; then -	exit 0; -fi - -## Finish up -TEST umount $M0 -TEST $CLI volume stop $V0; -EXPECT 'Stopped' volinfo_field $V0 'Status'; -TEST $CLI volume delete $V0; -TEST ! $CLI volume info $V0; - +TEST $CLI volume info +TEST $CLI volume create $V0 $H0:$B0/brick1 +setfattr -x trusted.glusterfs.volume-id $B0/brick1 +## If Extended attribute trusted.glusterfs.volume-id is not present +## then volume should not be able to start +TEST ! $CLI volume start $V0;  cleanup;  | 
