From 50d91473c202a44f39cdf4640d7966af370f2dce Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Mon, 21 Jan 2013 23:52:21 +0530 Subject: self-heald basic tests Change-Id: I50e5c4a6712cfc0a7c544551ba1ff182d851f522 BUG: 861015 Signed-off-by: Pranith Kumar K Reviewed-on: http://review.gluster.org/4401 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- tests/basic/self-heald.t | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/basic/self-heald.t (limited to 'tests/basic/self-heald.t') diff --git a/tests/basic/self-heald.t b/tests/basic/self-heald.t new file mode 100644 index 00000000..4468c881 --- /dev/null +++ b/tests/basic/self-heald.t @@ -0,0 +1,48 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{0,1,2,3,4,5} +TEST $CLI volume set $V0 cluster.background-self-heal-count 0 +TEST $CLI volume set $V0 cluster.eager-lock off +TEST $CLI volume start $V0 +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 +TEST kill_brick $V0 $H0 $B0/${V0}0 +TEST kill_brick $V0 $H0 $B0/${V0}2 +TEST kill_brick $V0 $H0 $B0/${V0}4 +cd $M0 +HEAL_FILES=0 +for i in {1..10} +do + dd if=/dev/urandom of=f bs=1M count=10 2>/dev/null + HEAL_FILES=$(($HEAL_FILES+1)) + mkdir a; cd a; + HEAL_FILES=$(($HEAL_FILES+3)) #As many times as distribute subvols +done +HEAL_FILES=$(($HEAL_FILES + 3)) #Count the brick root dir + +cd ~ +EXPECT "$HEAL_FILES" afr_get_pending_heal_count $V0 +TEST ! $CLI volume heal $V0 +TEST $CLI volume set $V0 cluster.self-heal-daemon off +TEST ! $CLI volume heal $V0 info +TEST ! $CLI volume heal $V0 +TEST $CLI volume start $V0 force +TEST $CLI volume set $V0 cluster.self-heal-daemon on +EXPECT_WITHIN 20 "Y" glustershd_up_status +EXPECT_WITHIN 20 "1" afr_child_up_status_in_shd $V0 0 +EXPECT_WITHIN 20 "1" afr_child_up_status_in_shd $V0 2 +EXPECT_WITHIN 20 "1" afr_child_up_status_in_shd $V0 4 +TEST $CLI volume heal $V0 +sleep 5 #Until the heal-statistics command implementation +#check that this heals the contents partially +TEST [ $HEAL_FILES -gt $(afr_get_pending_heal_count $V0) ] + +TEST $CLI volume heal $V0 full +EXPECT_WITHIN 30 "0" afr_get_pending_heal_count $V0 +cleanup -- cgit