Matrix functional section
From Linux NFS
(Difference between revisions)
(→Static code analysis) |
|||
(18 intermediate revisions not shown) | |||
Line 40: | Line 40: | ||
|Protocol implementation interoperability between Linux server and client | |Protocol implementation interoperability between Linux server and client | ||
|Connectathon | |Connectathon | ||
- | |''' | + | |'''DONE''' |
- | | | + | |OSDL |
- | | | + | |Running Connectathon in automated test system |
|} | |} | ||
Line 56: | Line 56: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |I.B.1 |
- | | | + | |Run applicable existing functionality tests on codebase periodically |
- | |test | + | |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''' | |'''New''' | ||
| | | | ||
| | | | ||
+ | |- | ||
+ | |I.B.3 | ||
+ | |Cross-compile testing for variety of platforms on each NFSv4 patchset | ||
+ | | | ||
+ | |'''DONE''' | ||
+ | |OSDL | ||
+ | |Running automatically for all patch releases | ||
|} | |} | ||
Line 74: | Line 88: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |I.C.1 |
- | | | + | |Test install on Debian unstable of NFSv4 server & client, krb5, ldap, et al |
|test | |test | ||
|'''New''' | |'''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 | ||
|} | |} | ||
Line 92: | Line 169: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |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''' | |'''New''' | ||
| | | | ||
Line 110: | Line 271: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |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 | ||
+ | * Parse delegation callbacks (CB_NULL, CB_RECALL, CB_GETATTR) | ||
+ | * Parse OPEN repy's with a granted READ or WRITE delegation | ||
+ | | | ||
+ | |'''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''' | |'''New''' | ||
| | | | ||
Line 128: | Line 375: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |I.F.1 |
- | | | + | |Client notification to server of locking, write, read, etc. |
- | | | + | | |
|'''New''' | |'''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 | ||
+ | |[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 | ||
|} | |} | ||
Line 146: | Line 456: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |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''' | |'''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 . | ||
|} | |} | ||
Line 164: | Line 537: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |I.H.1 |
- | | | + | |Verify compatibility with glibc |
- | | | + | | |
|'''New''' | |'''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) | ||
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
Line 182: | Line 639: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |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''' | |'''New''' | ||
| | | | ||
Line 200: | Line 713: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |I.J.1 |
- | | | + | |Verify multi-character filenames are supported |
- | | | + | | |
|'''New''' | |'''New''' | ||
| | | | ||
Line 218: | Line 731: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |I.K.1 |
- | | | + | |Check that web content at nfs.sf.net has updated nfsv4 info |
- | |test | + | | |
+ | |'''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''' | |'''New''' | ||
| | | | ||
Line 237: | Line 827: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |I.L.1 |
- | | | + | |Test compatibility with TCP protocol |
- | | | + | | |
|'''New''' | |'''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== | ==Automounter functionality - amd== | ||
Line 256: | Line 901: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |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 | ||
| | | | ||
|} | |} | ||
Line 275: | Line 955: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |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 | ||
| | | | ||
|} | |} | ||
Line 294: | Line 1,009: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |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== | ==Use Case Scenarios== | ||
Line 312: | Line 1,061: | ||
!style="background: #ececec;"|'''owner''' | !style="background: #ececec;"|'''owner''' | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
+ | |||
|- | |- | ||
- | |I. | + | |I.P.1 |
- | | | + | |Database functionality on NFS |
- | | | + | | |
|'''New''' | |'''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 | ||
| | | | ||
|} | |} | ||
Line 332: | Line 1,152: | ||
!style="background: #ececec;"|'''notes''' | !style="background: #ececec;"|'''notes''' | ||
|- | |- | ||
- | |I. | + | |I.Q.1 |
- | | | + | |LDAP – ID mapping, authenticating users |
- | | | + | | |
+ | |'''New''' | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |I.Q.2 | ||
+ | |NIS | ||
+ | | | ||
+ | |'''New''' | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |I.Q.3 | ||
+ | |Cross realm mapping | ||
+ | | | ||
|'''New''' | |'''New''' | ||
| | | | ||
| | | | ||
|} | |} |
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 |