diff options
author | Mohammed Rafi KC <rkavunga@redhat.com> | 2015-02-12 18:59:35 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-05-08 02:26:35 -0700 |
commit | 3afff4aacd1b74eff44a9fe320b1547eb165b2eb (patch) | |
tree | a61ebc6b8b24d3507fdb9bbcf6e8ed711a211dd8 /tests | |
parent | c2bf7f57d45b97252f128b9b78c6a72249bc74ae (diff) |
snapshot: Handshake with glusterd is not proper
Backport of http://review.gluster.org/9664
If a snap is activated or deactivated, when a node is down,
it is not retrieving the data properly during the handshake
of glusterd
With this patch, a version check will made when a glusterd
is started running. If there is a mismach in version, then
peers will exchange the healed data.
Change-Id: I8bd2a347723db2194d3fa73295878b4dd2e9be5d
BUG: 1219744
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
Reviewed-on: http://review.gluster.org/9664
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/10661
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/basic/volume-snapshot.t | 13 | ||||
-rw-r--r-- | tests/snapshot.rc | 27 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/basic/volume-snapshot.t b/tests/basic/volume-snapshot.t index 7987d4039d3..fb6a73c8953 100755 --- a/tests/basic/volume-snapshot.t +++ b/tests/basic/volume-snapshot.t @@ -114,6 +114,19 @@ activate_snapshots EXPECT 'Started' snapshot_status ${V0}_snap; EXPECT 'Started' snapshot_status ${V1}_snap; +#testing handshake with glusterd (bugid:1122064) + +TEST kill_glusterd 2 +deactivate_snapshots +TEST start_glusterd 2 +sleep 10 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Success" snapshot_snap_status ${V0}_snap "Brick\ Running" "No" +TEST kill_glusterd 2 +activate_snapshots +TEST start_glusterd 2 +sleep 10 +EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Success" snapshot_snap_status ${V0}_snap "Brick\ Running" "Yes" + TEST snapshot_exists 1 ${V0}_snap TEST snapshot_exists 1 ${V1}_snap TEST $CLI_1 snapshot config $V0 snap-max-hard-limit 100 diff --git a/tests/snapshot.rc b/tests/snapshot.rc index 7fe9b39cd7c..f2ff047a8ea 100644 --- a/tests/snapshot.rc +++ b/tests/snapshot.rc @@ -307,6 +307,33 @@ function snapshot_status() } +#Check the different status of a particular snapshot +#Arg1 : <Snap name> +#Arg2 : <Filed in status> +#Arg3 : <Expected value> +function snapshot_snap_status() +{ + + local snap=$1; + local cli=$CLI_1; + local field=$2; + local expected=$3; + if [ "$cli" = "" ]; then + cli=$CLI + fi + for i in $($cli snapshot status $snap | grep "$field" | \ + cut -d ':' -f2 | awk '{print $1}') ; + do + if [ "$i" != "$expected" ]; then + echo "Failed" + return 1; + fi; + done; +echo "Success" +return 0; +} + + # TODO: Cleanup code duplication function volinfo_field() { |