diff options
author | vmallika <vmallika@redhat.com> | 2015-07-10 14:37:50 +0530 |
---|---|---|
committer | Krishnan Parthasarathi <kparthas@redhat.com> | 2015-07-12 21:34:53 -0700 |
commit | 46d4d7ade012f86044135dd4af3101f851484cda (patch) | |
tree | e5308db8044e62788e0bde1f21ed54a904af40fe /tests/bugs/quota | |
parent | 2e44d1580497eb75f325ad3104249a425ddf592a (diff) |
features/quota : Fix spurious failure
Problem : Basically, in this test case a file is created
which exceeds the quota limit. Once the limit is reached
that file will be deleted. At the same moment we are
testing inode-quota. It can so happen that before the
marker updates the information related to deletion of
file, a new file creation operation comes and sees that
quota limit is still exceeded.
Solution : Inducing a check to see if marker updation
completed successfully.
Updated all the test case which has the similar
machanism and also moved the "usage" function
to a common place "volume.rc"
Change-Id: I36ddbc5ebbf1b74c9d326a0d1d5f3b32f20a906a
BUG: 1229297
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Signed-off-by: vmallika <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/11125
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Diffstat (limited to 'tests/bugs/quota')
-rw-r--r-- | tests/bugs/quota/afr-quota-xattr-mdata-heal.t | 2 | ||||
-rw-r--r-- | tests/bugs/quota/bug-1038598.t | 51 | ||||
-rw-r--r-- | tests/bugs/quota/bug-1178130.t | 10 | ||||
-rw-r--r-- | tests/bugs/quota/bug-1235182.t | 8 | ||||
-rw-r--r-- | tests/bugs/quota/inode-quota.t | 1 |
5 files changed, 15 insertions, 57 deletions
diff --git a/tests/bugs/quota/afr-quota-xattr-mdata-heal.t b/tests/bugs/quota/afr-quota-xattr-mdata-heal.t index 82921ff7b86..cac06a52960 100644 --- a/tests/bugs/quota/afr-quota-xattr-mdata-heal.t +++ b/tests/bugs/quota/afr-quota-xattr-mdata-heal.t @@ -16,7 +16,7 @@ TEST $CLI volume quota $V0 limit-usage /d 1MB TEST touch $M0/d/a echo abc > $M0/d/a -EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "512Bytes" quota_usage "/" +EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "512Bytes" quotausage "/" #Set the acl xattrs directly on backend, for some reason on mount it gives error acl_access_val="0x0200000001000600ffffffff04000400ffffffff10000400ffffffff20000400ffffffff" diff --git a/tests/bugs/quota/bug-1038598.t b/tests/bugs/quota/bug-1038598.t index 10fdb23424f..7d69a98cbd4 100644 --- a/tests/bugs/quota/bug-1038598.t +++ b/tests/bugs/quota/bug-1038598.t @@ -14,37 +14,6 @@ TEST $CLI volume info; TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{1,2}; -function hard_limit() -{ - local QUOTA_PATH=$1; - $CLI volume quota $V0 list $QUOTA_PATH | grep "$QUOTA_PATH" | awk '{print $2}' -} - -function soft_limit() -{ - local QUOTA_PATH=$1; - $CLI volume quota $V0 list $QUOTA_PATH | grep "$QUOTA_PATH" | awk '{print $3}' -} - -function usage() -{ - local QUOTA_PATH=$1; - $CLI volume quota $V0 list $QUOTA_PATH | grep "$QUOTA_PATH" | awk '{print $4}' -} - -function sl_exceeded() -{ - local QUOTA_PATH=$1; - $CLI volume quota $V0 list $QUOTA_PATH | grep "$QUOTA_PATH" | awk '{print $6}' -} - -function hl_exceeded() -{ - local QUOTA_PATH=$1; - $CLI volume quota $V0 list $QUOTA_PATH | grep "$QUOTA_PATH" | awk '{print $7}' - -} - EXPECT "$V0" volinfo_field $V0 'Volume Name'; EXPECT 'Created' volinfo_field $V0 'Status'; EXPECT '2' brick_count $V0 @@ -60,26 +29,26 @@ TEST glusterfs -s $H0 --volfile-id $V0 $M0; TEST mkdir -p $M0/test_dir TEST $CLI volume quota $V0 limit-usage /test_dir 10MB 50 -EXPECT "10.0MB" hard_limit "/test_dir"; -EXPECT "50%" soft_limit "/test_dir"; +EXPECT "10.0MB" quota_hard_limit "/test_dir"; +EXPECT "50%" quota_soft_limit "/test_dir"; TEST $QDD $M0/test_dir/file1.txt 256 16 -EXPECT "4.0MB" usage "/test_dir"; -EXPECT 'No' sl_exceeded "/test_dir"; -EXPECT 'No' hl_exceeded "/test_dir"; +EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "4.0MB" quotausage "/test_dir"; +EXPECT 'No' quota_sl_exceeded "/test_dir"; +EXPECT 'No' quota_hl_exceeded "/test_dir"; TEST $QDD $M0/test_dir/file1.txt 256 24 -EXPECT "6.0MB" usage "/test_dir"; -EXPECT 'Yes' sl_exceeded "/test_dir"; -EXPECT 'No' hl_exceeded "/test_dir"; +EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "6.0MB" quotausage "/test_dir"; +EXPECT 'Yes' quota_sl_exceeded "/test_dir"; +EXPECT 'No' quota_hl_exceeded "/test_dir"; #set timeout to 0 so that quota gets enforced without any lag TEST $CLI volume set $V0 features.hard-timeout 0 TEST $CLI volume set $V0 features.soft-timeout 0 TEST ! $QDD $M0/test_dir/file1.txt 256 60 -EXPECT 'Yes' sl_exceeded "/test_dir"; -EXPECT 'Yes' hl_exceeded "/test_dir"; +EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT 'Yes' quota_sl_exceeded "/test_dir"; +EXPECT 'Yes' quota_hl_exceeded "/test_dir"; TEST $CLI volume stop $V0 EXPECT "1" get_aux diff --git a/tests/bugs/quota/bug-1178130.t b/tests/bugs/quota/bug-1178130.t index a1ed1109580..f75bcd4f03c 100644 --- a/tests/bugs/quota/bug-1178130.t +++ b/tests/bugs/quota/bug-1178130.t @@ -9,12 +9,6 @@ cleanup; -function usage() -{ - local QUOTA_PATH=$1; - $CLI volume quota $V0 list $QUOTA_PATH | grep "$QUOTA_PATH" | awk '{print $4}' -} - QDD=$(dirname $0)/quota # compile the test write program and run it build_tester $(dirname $0)/../../basic/quota.c -o $QDD @@ -35,7 +29,7 @@ TEST $CLI volume quota $V0 hard-timeout 0 TEST $CLI volume quota $V0 soft-timeout 0 TEST $QDD $M0/file 256 40 -EXPECT "10.0MB" usage "/" +EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "10.0MB" quotausage "/" TEST kill_brick $V0 $H0 $B0/${V0}2 TEST mv $M0/file $M0/file2 @@ -45,7 +39,7 @@ TEST $CLI volume start $V0 force; EXPECT_WITHIN $HEAL_TIMEOUT "0" STAT "$B0/${V0}2/file2" #usage should remain same after rename and self-heal operation -EXPECT "10.0MB" usage "/" +EXPECT "10.0MB" quotausage "/" TEST $CLI volume stop $V0 TEST $CLI volume delete $V0 diff --git a/tests/bugs/quota/bug-1235182.t b/tests/bugs/quota/bug-1235182.t index 0bd43a9cb04..ec62b69638d 100644 --- a/tests/bugs/quota/bug-1235182.t +++ b/tests/bugs/quota/bug-1235182.t @@ -9,12 +9,6 @@ cleanup; -function usage() -{ - local QUOTA_PATH=$1; - $CLI volume quota $V0 list $QUOTA_PATH | grep "$QUOTA_PATH" | awk '{print $4}' -} - QDD=$(dirname $0)/quota # compile the test write program and run it build_tester $(dirname $0)/../../basic/quota.c -o $QDD @@ -47,7 +41,7 @@ echo "Wait for process with pid $PID to complete" wait $PID echo "Process with pid $PID finished" -EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "100.0MB" usage "/" +EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "100.0MB" quotausage "/" TEST $CLI volume stop $V0 TEST $CLI volume delete $V0 diff --git a/tests/bugs/quota/inode-quota.t b/tests/bugs/quota/inode-quota.t index 1b04f4062fb..cad63e1fd3c 100644 --- a/tests/bugs/quota/inode-quota.t +++ b/tests/bugs/quota/inode-quota.t @@ -80,6 +80,7 @@ EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "0Bytes" quota_list_field "/test_dir" 2 # try creating a 15MB file and it should succeed TEST ! $QDD $M0/test_dir/test2.txt 256 60 TEST rm -f $M0/test_dir/test2.txt +EXPECT_WITHIN $MARKER_UPDATE_TIMEOUT "0Bytes" quota_list_field "/test_dir" 2 #------------------------------------------------------ |