diff options
| author | Avra Sengupta <asengupt@redhat.com> | 2014-02-19 16:30:11 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2014-04-11 16:29:17 -0700 | 
| commit | 29bccc2ed18eedc40e83d2f0d35327037a322384 (patch) | |
| tree | 207829c5a0535af28cbad6de90497d2f48093d1a /tests/basic | |
| parent | 2045c9ea1c7c3aac9d377070df6f0ee99619f421 (diff) | |
gluster: GlusterFS Volume Snapshot Feature
This is the initial patch for the Snapshot feature. Current patch
includes following features:
* Snapshot create
* Snapshot delete
* Snapshot restore
* Snapshot list
* Snapshot info
* Snapshot status
* Snapshot config
Change-Id: I2f46920c0d61c515f6a60e0f8b46fff886d9f6a9
BUG: 1061685
Signed-off-by: shishir gowda <sgowda@redhat.com>
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Signed-off-by: Vijaikumar M <vmallika@redhat.com>
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Signed-off-by: Rajesh Joseph <rjoseph@redhat.com>
Signed-off-by: Joseph Fernandes <josferna@redhat.com>
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-on: http://review.gluster.org/7128
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'tests/basic')
| -rw-r--r--[-rwxr-xr-x] | tests/basic/mgmt_v3-locks.t (renamed from tests/basic/volume-locks.t) | 21 | ||||
| -rwxr-xr-x | tests/basic/volume-snapshot.t | 95 | 
2 files changed, 113 insertions, 3 deletions
diff --git a/tests/basic/volume-locks.t b/tests/basic/mgmt_v3-locks.t index b9e94b7e166..22ca27b9f20 100755..100644 --- a/tests/basic/volume-locks.t +++ b/tests/basic/mgmt_v3-locks.t @@ -27,13 +27,23 @@ function volinfo_field()  function two_diff_vols_create {          # Both volume creates should be successful          $CLI_1 volume create $V0 $H1:$B1/$V0 $H2:$B2/$V0 $H3:$B3/$V0 & -        $CLI_2 volume create $V1 $H1:$B1/$V1 $H2:$B2/$V1 $H3:$B3/$V1 +        PID_1=$! + +        $CLI_2 volume create $V1 $H1:$B1/$V1 $H2:$B2/$V1 $H3:$B3/$V1 & +        PID_2=$! + +        wait $PID_1 $PID_2  }  function two_diff_vols_start {          # Both volume starts should be successful          $CLI_1 volume start $V0 & -        $CLI_2 volume start $V1 +        PID_1=$! + +        $CLI_2 volume start $V1 & +        PID_2=$! + +        wait $PID_1 $PID_2  }  function two_diff_vols_stop_force { @@ -42,7 +52,12 @@ function two_diff_vols_stop_force {          # still go ahead. Both volume stops should          # be successful          $CLI_1 volume stop $V0 force & -        $CLI_2 volume stop $V1 force +        PID_1=$! + +        $CLI_2 volume stop $V1 force & +        PID_2=$! + +        wait $PID_1 $PID_2  }  function same_vol_remove_brick { diff --git a/tests/basic/volume-snapshot.t b/tests/basic/volume-snapshot.t new file mode 100755 index 00000000000..c826631cad9 --- /dev/null +++ b/tests/basic/volume-snapshot.t @@ -0,0 +1,95 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc +. $(dirname $0)/../cluster.rc +. $(dirname $0)/../snapshot.rc + +V1="patchy2" + +function create_volumes() { +        $CLI_1 volume create $V0 $H1:$L1 & +        PID_1=$! + +        $CLI_2 volume create $V1 $H2:$L2 $H3:$L3 & +        PID_2=$! + +        wait $PID_1 $PID_2 +} + +function create_snapshots() { +        $CLI_1 snapshot create ${V0}_snap ${V0}& +        PID_1=$! + +        $CLI_1 snapshot create ${V1}_snap ${V1}& +        PID_2=$! + +        wait $PID_1 $PID_2 +} + +function delete_snapshots() { +        $CLI_1 snapshot delete ${V0}_snap & +        PID_1=$! + +        $CLI_1 snapshot delete ${V1}_snap & +        PID_2=$! + +        wait $PID_1 $PID_2 +} + +function restore_snapshots() { +        $CLI_1 snapshot restore ${V0}_snap & +        PID_1=$! + +        $CLI_1 snapshot restore ${V1}_snap & +        PID_2=$! + +        wait $PID_1 $PID_2 +} +cleanup; + +#Create cluster with 3 nodes +TEST launch_cluster 3; +TEST setup_lvm 3 + +TEST $CLI_1 peer probe $H2; +TEST $CLI_1 peer probe $H3; +EXPECT_WITHIN 20 2 peer_count; + +create_volumes +EXPECT 'Created' volinfo_field $V0 'Status'; +EXPECT 'Created' volinfo_field $V1 'Status'; + +start_volumes 2 +EXPECT 'Started' volinfo_field $V0 'Status'; +EXPECT 'Started' volinfo_field $V1 'Status'; + +#Snapshot Operations +create_snapshots +TEST snapshot_exists 1 ${V0}_snap +TEST snapshot_exists 1 ${V1}_snap +TEST $CLI_1 snapshot config $V0 snap-max-hard-limit 100 +TEST $CLI_1 snapshot config $V1 snap-max-hard-limit 100 + +TEST glusterfs -s $H1 --volfile-id=/snaps/${V0}_snap/${V0} $M0 +sleep 2 +TEST umount -f $M0 +TEST glusterfs -s $H2 --volfile-id=/snaps/${V1}_snap/${V1} $M0 +sleep 2 +TEST umount -f $M0 + +#Clean up +stop_force_volumes 2 +EXPECT 'Stopped' volinfo_field $V0 'Status'; +EXPECT 'Stopped' volinfo_field $V1 'Status'; + +restore_snapshots +TEST ! snapshot_exists 1 ${V0}_snap +TEST ! snapshot_exists 1 ${V1}_snap + +delete_volumes 2 +TEST ! volume_exists $V0 +TEST ! volume_exists $V1 + +cleanup; +  | 
