Matrix functional section
From Linux NFS
(Difference between revisions)
(→Network transport protocols compatibility) |
(→Static code analysis) |
||
(3 intermediate revisions not shown) | |||
Line 425: | Line 425: | ||
|- | |- | ||
|I.F.8 | |I.F.8 | ||
- | | | + | |Blocking locks - fair queing |
- | + | |[http://nfsv4.bullopensource.org/tools/tests_tools/locktests.tar.gz Locktests] | |
- | + | |'''Work in progress''' | |
- | + | |'''Bull''' | |
- | | | + | |Mandatory (blocking) locks are yet not supported by NFSv4 |
- | |''' | + | |- |
- | | | + | |I.F.9 |
- | | | + | |Non-blocking locks (POSIX Locks) |
+ | |[http://nfsv4.bullopensource.org/tools/tests_tools/locktests.tar.gz Locktests] | ||
+ | |'''Done''' | ||
+ | |'''Bull''' | ||
+ | |Fixed. Works. | ||
+ | |- | ||
+ | |I.F.10 | ||
+ | |Mandatory locks | ||
+ | |[http://nfsv4.bullopensource.org/tools/tests_tools/locktests.tar.gz Locktests] | ||
+ | |'''Work in progress''' | ||
+ | |'''Bull''' | ||
+ | |Mandatory (blocking) locks are yet not supported by NFSv4 | ||
|} | |} | ||
- | |||
==Portability to target architectures/platforms== | ==Portability to target architectures/platforms== | ||
Line 544: | Line 554: | ||
|Verify compatibility with Kerberos | |Verify compatibility with Kerberos | ||
| | | | ||
- | |''' | + | |'''Open''' |
- | | | + | |Bull |
- | | | + | |2.6.15-CITI-3 |
|- | |- | ||
|I.H.4 | |I.H.4 | ||
Line 681: | Line 691: | ||
|Misuse of pointers | |Misuse of pointers | ||
| | | | ||
- | |''' | + | |'''Open''' |
- | | | + | |Bull |
- | | | + | |Seek for buffer overflow and penetration. |
|- | |- | ||
|I.I.9 | |I.I.9 |
Latest revision as of 13:12, 26 January 2006
Standards compliance/conformance verification (server)
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.A.1 | Test POSIX conformance | POSIX testsuite | New | ||
I.A.2 | Test protocol compliance/conformance against NFSv2 spec | Connectathon | New | ||
I.A.3 | Test protocol compliance/conformance against NFSv3 spec | Connectathon | New | ||
I.A.4 | Test protocol compliance/conformance against NFSv4 spec (RFC 3530) | Pynfs, POSIX conformance suite, connectathon | New | ||
I.A.5 | Protocol implementation interoperability between Linux server and client | Connectathon | DONE | OSDL | Running Connectathon in automated test system |
Regression testing
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.B.1 | Run applicable existing functionality tests on codebase periodically | Connectathon, fsx, fsx-direct, pynfs | DONE | OSDL | Running in automated test suite |
I.B.2 | Review common faults reported with NFSv3 and check if they still exist | New | |||
I.B.3 | Cross-compile testing for variety of platforms on each NFSv4 patchset | DONE | OSDL | Running automatically for all patch releases |
Installability
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.C.1 | Test install on Debian unstable of NFSv4 server & client, krb5, ldap, et al | test | New | ||
I.C.2 | Test install on Fedora Core of NFSv4 server & client, krb5, ldap, et al | test | New | ||
I.C.3 | Test install on SuSE of NFSv4 server & client, krb5, ldap, et al | test | Open | Novell | alolla is coordinating testing with us |
I.C.4 | Test install on Gentoo of NFSv4 server & client, krb5, ldap, et al | test | New | ||
I.C.5 | Test install on SLES of NFSv4 server & client, krb5, ldap, et al | test | New | ||
I.C.6 | Test install on RHEL of NFSv4 server & client, krb5, ldap, et al | test | New | ||
I.C.7 | Test install on Ubuntu of NFSv4 server & client, krb5, ldap, et al | test | New | ||
I.C.8 | Test install on Mandriva of NFSv4 server & client, krb5, ldap, et al | test | New | ||
I.C.9 | Test install on Turbolinux of NFSv4 server & client, krb5, ldap, et al | test | New | ||
I.C.10 | Test installation of heimdal vs. MIT krb5 implementations | test | DONE | OSDL+CITI | Done at Connectathon '04; distros will be moving away from heimdal |
Integration testing
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.D.1 | Verify functional requirements met for NFSv4 server / RPC | New | |||
I.D.2 | Verify functional requirements met for NFSv4 server / Transport Switch | New | |||
I.D.3 | Verify functional requirements met for NFSv4 server / GSS | New | |||
I.D.4 | Verify functional requirements met for NFSv4 server / GSS / Kerberos | New | |||
I.D.5 | Verify functional requirements met for NFSv4 server / GSS / SPKM | New | |||
I.D.6 | Verify functional requirements met for NFSv4 server / ACLs | New | |||
I.D.7 | Verify functional requirements met for NFSv4 client / NFSv4 server | New | |||
I.D.8 | Verify functional requirements met for NFSv4 client / GSS | New | |||
I.D.9 | Verify functional requirements met for NFSv4 client / GSS / Kerberos | New | |||
I.D.10 | Verify functional requirements met for NFSv4 client / GSS / SPKM | New | |||
I.D.11 | Verify functional requirements met for NFSv4 client / ACLs | New | |||
I.D.12 | Verify functional requirements met for NFSv4 client / mount | New | |||
I.D.13 | Verify functional requirements met for NFSv4 client / IDMAP | New |
Serviceability
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.E.1 | Verify NFSv4 administrative functionality within Webmin | In Progress | Bull | Verification has been done by Bull in 2004. Code has been done and delivered. ACL to be studied. | |
I.E.2 | Verify NFSv4 debugging functionality within nfsdebug, et al | New | |||
I.E.3 | Verify NFSv4 monitoring functionality within nagios | Done | Bull | Verification and code has been done by Bull in 1H2005. | |
I.E.4 | Verify informativeness of error/trace messages | New | |||
I.E.5 | Verify sufficient monitoring functionality within Ethereal
| New | |||
I.E.6 | Verify ability to get detailed state info from service | New | |||
I.E.7 | Verify ability to list who has open/locked files (ala lsof) | New | |||
I.E.8 | Verify ability to list active mount points and who has them open | New | Showmount? | ||
I.E.9 | Verify ability to force operations (close files, change states, unmount) | New | e.g. Umount -f | ||
I.E.10 | Verify ability for global visualization of mounts/locks/traffic (like top/ntop) | New | An SNMP interface? | ||
I.E.11 | Verify ability to trace NFS activity (like strace) | New | |||
I.E.12 | Verify ability to trace security rules (e.g., why did user X get auth'd) | New | |||
I.E.13 | Verify admin access to session encryption key (so can e.g. decode protocol in Ethereal) | New |
State transitions
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.F.1 | Client notification to server of locking, write, read, etc. | New | |||
I.F.2 | Reboot recovery | New | |||
I.F.3 | Delegation / delegation callbacks | New | |||
I.F.4 | Open with shares / deny | New | |||
I.F.5 | Bumping a sequence ID | New | |||
I.F.6 | Network partition recovery | New | |||
I.F.7 | Sharing file local accessors and remote accessors | New | |||
I.F.8 | Blocking locks - fair queing | Locktests | Work in progress | Bull | Mandatory (blocking) locks are yet not supported by NFSv4 |
I.F.9 | Non-blocking locks (POSIX Locks) | Locktests | Done | Bull | Fixed. Works. |
I.F.10 | Mandatory locks | Locktests | Work in progress | Bull | Mandatory (blocking) locks are yet not supported by NFSv4 |
Portability to target architectures/platforms
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.G.1 | Test compilation and functionality on UP systems | DONE | OSDL | Build, cthon, pynfs run on ia32 client/server systems automatically for all patch releases | |
I.G.2 | Test compilation and functionality on SMP (2, 4, 8, 16, +) systems | New | |||
I.G.3 | Test compilation and functionality on cluster system(s) | New | |||
I.G.4 | Test compilation and functionality on IA-32 (2, 4, 8-way systems) | Open | OSDL | ||
I.G.5 | Test compilation and functionality on IA-64 | Open | Bull | ||
I.G.6 | Test compilation and functionality on PPC-64 with Linux in 32-bit mode | New | |||
I.G.7 | Test compilation and functionality on PPC-64 | In progress | Bull | Done with kernel 2.6.14 . | |
I.G.8 | Test compilation and functionality on IA-32e, and if there are differences from IA-32 | New | |||
I.G.9 | Test compilation and functionality on Sparc | New | |||
I.G.10 | Test compilation and functionality on x86_64 | In Progress | Bull | Done with kernel 2.6.14 . |
Ecosystem compatibility
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.H.1 | Verify compatibility with glibc | New | |||
I.H.2 | Verify compatibility with NLM/NSM and NFSv3 locking | New | |||
I.H.3 | Verify compatibility with Kerberos | Open | Bull | 2.6.15-CITI-3 | |
I.H.4 | Verify compatibility with Ipsec | New | |||
I.H.5 | Verify compatibility with POSIX ACLs | New | |||
I.H.6 | Verify compatibility with NFS ACLs | New | |||
I.H.7 | Verify compatibility with LDAP | New | |||
I.H.8 | Verify compatibility with NIS | New | |||
I.H.9 | Verify compatibility with automounter | Open | IBM | ||
I.H.10 | Verify compatibility with pNFS | New | |||
I.H.11 | Verify compatibility with basic system tools (file utils, core utils, util-linux, mount, sar, iostat, etc.) | New | |||
I.H.12 | Verify compatibility with Active Directory | New | |||
I.H.13 | Verify compatibility with Samba (CIFS Server) |
Static code analysis
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.I.1 | Syntax | New | |||
I.I.2 | Unreachable code, unconditional branches into loops | New | |||
I.I.3 | Undeclared or uninitialized variables | New | |||
I.I.4 | Parameter type mismatches | New | |||
I.I.5 | Uncalled functions and procedures | New | |||
I.I.6 | Non-usage of function results | New | |||
I.I.7 | Possible array bound errors | New | |||
I.I.8 | Misuse of pointers | Open | Bull | Seek for buffer overflow and penetration. | |
I.I.9 | Sparse testing – random writes to a file as large as local file system | New |
Localization/Internationalization testing
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.J.1 | Verify multi-character filenames are supported | New |
Documentation update verification
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.K.1 | Check that web content at nfs.sf.net has updated nfsv4 info | New | |||
I.K.2 | Check that NFS HOWTO is updated with sufficient nfsv4 info | New | |||
I.K.3 | Check that all NFS man pages are updated with nfsv4 info | New | |||
I.K.4 | Check that Network Admin Guide at tldp.org is updated for nfsv4 | New | |||
I.K.5 | Check that NFS docs for main distros are updated for nfsv4 | New | |||
I.K.6 | Check that an NFSv4 Security Best Practices document available | New | |||
I.K.7 | Check the nfs performance section in howto | Open | Chuck | ||
I.K.8 | Make sure section RPCGSS, set up kerberos explanations, etc. exist | New | Is in FAQ but not HOWTO | ||
I.K.9 | List to check system for kerberos config's to make sure it's set up correctly | New | |||
I.K.10 | Interoperability considerations - known issues, things to test | New | |||
I.K.11 | Ensure there is inline documentation for all nfsv4 client code in kernel | New | |||
I.K.12 | Ensure there is inline documentation for all nfsv4 sever code in kernel | New |
Network transport protocols compatibility
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.L.1 | Test compatibility with TCP protocol | New | Need to define compatibility | ||
I.L.2 | Test compatibility with SCTP protocol | How rpc, rdma, etc. runs over TPC | New | Requires the RPC transport switch be implemented first | |
I.L.3 | Test compatibility with BIC-TCP protocol | Issues like reconnecting, etc. | New | Requires the RPC transport switch be implemented first | |
I.L.4 | Test compatibility with RDMA/DAPL protocol | Ask Steve for ideas | New | Requires the RPC transport switch be implemented first | |
I.L.5 | Test compatibility with UDP for NFS 2/3 backwards compatibility | New | Failover works smoothly | ||
I.L.6 | Test basic NFS functionality under IPv6 | In Progress | Bull | Done with NFSv4 client-side on Linux and server-side on other OS. | |
I.L.7 | Test ecosystem under IPv6 (see section I.I) | In Progress | Bull | Done with NFSv4 client-side on Linux and server-side on other OS. | |
I.L.8 | Test compatibility with other network transport protocols (see section I.M) | Open | Bull | ||
I.L.9 | Test NFSv2/3 with Ipv6 | Done | Bull |
Automounter functionality - amd
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.M.1 | Verify functionality of direct map support | Connectathon | Open | IBM | |
I.M.2 | Verify functionality of indirect map support | Connectathon | Open | IBM | |
I.M.3 | Verify functionality of multimount support, including hierarchical mounts | Connectathon | Open | IBM | |
I.M.4 | Verify functionality of nested map support | Connectathon | Open | IBM | |
I.M.5 | Verify functionality of /net (-hosts) support | Connectathon | Open | IBM | |
I.M.6 | Verify functionality of browse (ghosting) support | Connectathon | Open | IBM |
Automounter functionality - autofs4
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.N.1 | Verify functionality of direct map support | Connectathon | Open | IBM | |
I.N.2 | Verify functionality of indirect map support | Connectathon | Open | IBM | |
I.N.3 | Verify functionality of multimount support, including hierarchical mounts | Connectathon | Open | IBM | |
I.N.4 | Verify functionality of nested map support | Connectathon | Open | IBM | |
I.N.5 | Verify functionality of /net (-hosts) support | Connectathon | Open | IBM | |
I.N.6 | Verify functionality of browse (ghosting) support | Connectathon | Open | IBM |
Automounter functionality - autong
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.O.1 | Verify functionality of direct map support | Connectathon | Open | IBM | |
I.O.2 | Verify functionality of indirect map support | Connectathon | Open | IBM | |
I.O.3 | Verify functionality of multimount support, including hierarchical mounts | Connectathon | Open | IBM | |
I.O.4 | Verify functionality of nested map support | Connectathon | Open | IBM | |
I.O.5 | Verify functionality of /net (-hosts) support | Connectathon | Open | IBM | |
I.O.6 | Verify functionality of browse (ghosting) support | Connectathon | Open | IBM |
Use Case Scenarios
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.P.1 | Database functionality on NFS | New | |||
I.P.2 | Diskless boot functionality on NFS (going away) | New | |||
I.P.3 | Clusters / migration / replication functionality (multiple clients) | New | |||
I.P.4 | Functionality on Async I/O interface to file systems on client | New | |||
I.P.5 | Web server | New | |||
I.P.6 | User filesystem environment | New | |||
I.P.7 | Mail spooling | New | |||
I.P.8 | Wide area clustering | New | |||
I.P.9 | Single client high performance computing | New | |||
I.P.10 | Clustering servers to provide higher reliability | New | |||
I.P.11 | Render farm | Open | OSDL |
ID mapping
ID | test | tool test | status | owner | notes |
---|---|---|---|---|---|
I.Q.1 | LDAP – ID mapping, authenticating users | New | |||
I.Q.2 | NIS | New | |||
I.Q.3 | Cross realm mapping | New |