diff options
Diffstat (limited to 'tests/bugs/snapshot/bug-1087203.t')
-rw-r--r-- | tests/bugs/snapshot/bug-1087203.t | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/tests/bugs/snapshot/bug-1087203.t b/tests/bugs/snapshot/bug-1087203.t new file mode 100644 index 00000000000..035be098576 --- /dev/null +++ b/tests/bugs/snapshot/bug-1087203.t @@ -0,0 +1,103 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc +. $(dirname $0)/../../snapshot.rc +. $(dirname $0)/../../cluster.rc + +function get_volume_info () +{ + local var=$1 + $CLI_1 volume info $V0 | grep "^$var" | sed 's/.*: //' +} + +cleanup; + +TEST verify_lvm_version +TEST launch_cluster 2 +TEST setup_lvm 2 + +TEST $CLI_1 peer probe $H2; +EXPECT_WITHIN $PROBE_TIMEOUT 1 peer_count; + +TEST $CLI_1 volume create $V0 $H1:$L1 $H2:$L2 +EXPECT "$V0" get_volume_info 'Volume Name'; +EXPECT 'Created' get_volume_info 'Status'; + +TEST $CLI_1 volume start $V0 +EXPECT 'Started' get_volume_info 'Status'; + + +# Setting system limit +TEST $CLI_1 snapshot config snap-max-hard-limit 100 + +# Volume limit cannot exceed system limit, as limit is set to 100, +# this should fail. +TEST ! $CLI_1 snapshot config $V0 snap-max-hard-limit 101 + +# Following are the invalid cases +TEST ! $CLI_1 snapshot config $V0 snap-max-hard-limit a10 +TEST ! $CLI_1 snapshot config snap-max-hard-limit 10a +TEST ! $CLI_1 snapshot config snap-max-hard-limit 10% +TEST ! $CLI_1 snapshot config snap-max-soft-limit 50%1 +TEST ! $CLI_1 snapshot config snap-max-soft-limit 0111 +TEST ! $CLI_1 snapshot config snap-max-hard-limit OXA +TEST ! $CLI_1 snapshot config snap-max-hard-limit 11.11 +TEST ! $CLI_1 snapshot config snap-max-soft-limit 50% +TEST ! $CLI_1 snapshot config snap-max-hard-limit -100 +TEST ! $CLI_1 snapshot config snap-max-soft-limit -90 + +# Soft limit cannot be assigned to volume +TEST ! $CLI_1 snapshot config $V0 snap-max-soft-limit 10 + +# Valid case +TEST $CLI_1 snapshot config snap-max-soft-limit 50 +TEST $CLI_1 snapshot config $V0 snap-max-hard-limit 10 + +# Validating auto-delete feature +# Make sure auto-delete is disabled by default +EXPECT 'disable' snap_config CLI_1 'auto-delete' + +# Test for invalid value for auto-delete +TEST ! $CLI_1 snapshot config auto-delete test + +TEST $CLI_1 snapshot config snap-max-hard-limit 6 +TEST $CLI_1 snapshot config snap-max-soft-limit 50 + +# Create 4 snapshots +snap_index=1 +snap_count=4 +TEST snap_create CLI_1 $V0 $snap_index $snap_count + +# If auto-delete is disabled then oldest snapshot +# should not be deleted automatically. +EXPECT '4' get_snap_count CLI_1; + +TEST snap_delete CLI_1 $snap_index $snap_count; + +# After all those 4 snaps are deleted, There will not be any snaps present +EXPECT '0' get_snap_count CLI_1; + +TEST $CLI_1 snapshot config auto-delete enable + +# auto-delete is already enabled, Hence expect a failure. +TEST ! $CLI_1 snapshot config auto-delete on + +# Testing other boolean values with auto-delete +TEST $CLI_1 snapshot config auto-delete off +EXPECT 'off' snap_config CLI_1 'auto-delete' + +TEST $CLI_1 snapshot config auto-delete true +EXPECT 'true' snap_config CLI_1 'auto-delete' + +# Try to create 4 snaps again, As auto-delete is enabled +# oldest snap should be deleted and snapcount should be 3 + +TEST snap_create CLI_1 $V0 $snap_index $snap_count; +EXPECT '3' get_snap_count CLI_1; + +TEST $CLI_1 snapshot config auto-delete disable +EXPECT 'disable' snap_config CLI_1 'auto-delete' + +cleanup; + |