Project

General

Profile

Feature #512

RFE: We need a (basic) NFS testsuite

Added by Roland Mainz over 9 years ago. Updated over 9 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Start date:
2010-12-13
Due date:
% Done:

0%

Estimated time:
Difficulty:
Tags:
Gerrit CR:

Description

RFE: We need a (basic) NFS testsuite which covers both client and server and does some basic tests.

Notes:
- We need to investigate whether others OSes (like { Linux, FreeBSD }) have something like that
- We need to re-fine the requirements
- Testing may include building of OS/Net (and more importantly due it's greater diversity) SFWNV with TMPDIR set to the same mount.


Related issues

Blocked by illumos gate - Feature #699: RFE: Need utilities to create and list holes (sparse files): lsholes and mkholesNew2011-02-07

Actions

History

#1

Updated by Roland Mainz over 9 years ago

More notes:
- NFSv4 uses UTF-8 on the wire. We may need i18n tests to check whether non-UTF-8 locales work
- If we write our own C modules we should consider iterating over multiple read/write APIs per test, e.g. for write operations { |write()|, |writev()|, |pwrite()|, |aio_write()|, |mmap()|+memory write (with various options, including sparse files), |sendfile()| (not possible in Solaris yet to use |sendfile()| for file fds) }
- We need tests for |poll()|
- We may need test for various directory operation "stunts"
- We need to have tests for the |*at()|-APIs
- We need to have tests for pathchk&co.
- Sparse file "spray" test: Create 20TB sparse file, |mmap()| it and then "spray" the address space and sync random parts

#2

Updated by Roland Mainz over 9 years ago

[It seems I have to redmine permission for the bugs I filed... title should include the word "automated", e.g. we need as testsuite which runs fully automated]

#3

Updated by Gordon Ross over 9 years ago

The "Connectathon NFS tests" are available. I have a fairly up-to-date copy I can put somewhere. Where do we keep tests?

#4

Updated by Roland Mainz over 9 years ago

More random notes (mainly for me):
- Focus needs to be on NFS referrals, see nfsref(1M), http://tools.ietf.org/html/draft-ietf-nfsv4-referrals-00 and http://download.oracle.com/docs/cd/E19963-01/821-1454/gjuaj/index.html
- "Connectathon NFS tests" are Ok but we need either own add-ons or a seperate testsuite which fits our needs
- Think about automated testing (long term goal): One option is to use "qemu" (on x86), e.g. build bootable CDROM image and run either client and/or server tests from it. This solves the problems with (otherwise) unresolveable filesystem hangs ("soft" mounts do not work with NFSv4) and allows runtime snapshots for further dissection if hangs occur.
- Need extensive tests for locking strategies, including mandatory locking and the various systems used to access files /var/mail/ and databases.
- See fbt(7D) for a trace facility to "truss" inside kernel space. This is needed to verify whether specific codepaths in the NFS parts of the kernel have been hit.

Also available in: Atom PDF