OCFS2 Quota Test
Contents
Introduction
This document aims at scheduling the testing plan against quota which we're currently implementing on Ocfs2,and also capture/record the testing result to trace the status during test where we can easily position a bug.In an addition,we also explain how all of the testcases will be organized and the workflow of their corresponding testing tool.
Testcases
For quota tests on ocfs2,we're planning to carry out 2 kinds of tests on single node,one is made up of a shell script to perform a sanity check by using a series of userspace tools such as quotacheck,quotacheck,quotaon,quota,setquota,edquota,repquota,warnquota quota-tools-ocfs2.tar.gz . workload also can be added to user/group numbers,testing iterations,disk usage,inode numbers,multiple users and groups combinations etc to perform stress test somehow.
The second kind of test tools are designed by help of POSIX api quotactl() to construct all quota applications under userspace,its main goal is to check if the quotactl can work well(communicate with fs kernel from userspace).and also try to test quota in multiple nodes mode with the help of openmpi.
1.Quota_tests.sh a shell script to perform sanity check by using a series of quota tools
1.Sanity check,including mkfs,mount a quota-supported-fs volume, quota files generating,quota setting and editing for users and groups,verification for soft,hard and grace time limitation.moreover,the sanity check should be conducted under a series of block and cluster size(-b 1k -C 4k,-b 4k -C 4k,-b 4k,-C 32k)
2.Boundary test,test user and groups with soft and hard limitaion for space usage and inode numbers.
3.Combination test,a combination number of users and groups,it will includes,one user,one group,one user and group,multiple users and multiple groups.
4.Stress test,punch the test by tuning workload extremely high for user,group numbers,space usage and inode numbers.
5. All your comments and suggestions welcome here.
The sanity checker can be tuned to work under 3 working mode,they are small,medium and large,which means the stress of workload.
2. C binaries to implement a userspace tool to check if quotactl can work well with fs kernel and schedule a multi-nodes test with the help of openmpi
The goal is mainly to implement all quota related operations in userspace by the POSIX api quotactl(),that help to check if quotactl work well with fs kernel,also attempt to pass somewhat heavy workload to kernel by this API to perform a stress test among mult-nodes.
1.Test utility of quotactl() API.
2.Stress test with quotactl with extremely high workload.
3.Quota data sanity check after nodes' crash.(Manually).
4.Heavily test quota among nodes in parallel with the help of openmpi.
TestStatus
Kernel/Patches |
Arch/Nodes |
Ocfs2 Options |
Testing Report |
Ocfs2-Tools |
Testing Tool |
Date |
Coverage |
Latest 2.6.27 mainline kernel |
x86_64/2 Nodes |
/dev/sdd1 |
Quota sanity check on single node:,Passed,refer to testing log:quota-sanity-check-log.tgz |
Latest tools src built from git repo with quota patch for tools:0001-Implement-quota-support-to-mkfs-and-add-a-few-auxili.patch |
Testing tools src:quota_tests_1031.tgz |
10/31/2008 |
|
Latest 2.6.27 mainline kernel |
x86_64/2 Nodes |
/dev/sdd1 |
Quota sanity check on single node: |
Latest tools src built from git repo with quota patch for tools:0001-Implement-quota-support-to-mkfs-and-add-a-few-auxili.patch |
Testing tools src:quota_tests_1031.tgz |
11/3/2008 |
|
Latest 2.6.27 mainline kernel |
x86_64/2 Nodes |
/dev/sdd1 |
Quota sanity check on single node: |
Latest tools src built from git repo with quota patch for tools:0001-Implement-quota-support-to-mkfs-and-add-a-few-auxili.patch |
Testing tools src:quota_tests_1105.tgz |
11/5/2008 |
|
Latest 2.6.27 mainline kernel |
x86_64/2 Nodes |
/dev/sdd1 |
Quota test among multi-nodes: |
Latest tools src built from git repo with quota patch for tools:0001-Implement-quota-support-to-mkfs-and-add-a-few-auxili.patch |
Testing tools src:quota_tests_1106.tgz |
11/6/2008 |
|
Latest 2.6.27 mainline kernel |
x86_64/2 Nodes |
/dev/sdd1 |
Quota test among multi-nodes: |
Latest tools src built from git repo with quota patch for tools:0001-Implement-quota-support-to-mkfs-and-add-a-few-auxili.patch |
Testing tools src:quota_tests_1110.tgz |
11/10/2008 |
|
Mark's ocfs2.git tree/linux-next branch:2.6.28-rc4 kernel |
x86_64/2 Nodes |
/dev/sdc5 |
Sanity check for quota on ocfs2: |
Latest tools src built from git repo with quota patch for tools:0001-Implement-quota-support-to-mkfs-and-add-a-few-auxili.patch and change-quotafile-names.diff |
Testing tools src:quota_tests_1110.tgz |
11/21/2008 |
|
Mark's ocfs2.git tree/linux-next branch:2.6.28-rc4 kernel |
x86_64/2 Nodes |
/dev/sdc5 |
Sanity check for quota on ocfs2: |
Latest tools src built from git repo with quota patch for tools:0001-Implement-quota-support-to-mkfs-and-add-a-few-auxili.patch and change-quotafile-names.diff |
Testing tools src:quota_tests_1110.tgz |
11/21/2008 |
Testing Tools
Name |
Script / Program |
Description |
Technology |
#nodes |
Useful? |
What is tested |
quota_tests |
quota_tests.sh |
This script aims at performing a sanity check on quota for ocfs2,also can be tuned a stress puncher. |
Shell |
1 |
Yes |
Perform a sanity check for quota on ocfs2,also attempt to do stress test somehow |
quotactl_test.c |
test functionality of quotactl() api |
C |
2 |
Yes |