RE: NFS testing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm embarrassed that I don't do anything close to this for my weekly
nfs-ganesha merges...

I'd love to see some tools to make it easier to do more testing.

I wish there was a solution that didn't require two hosts for testing NFSv3
locks against nfs-ganesha.

I need to get back to the pynfs v3 tests...

Another test I have run is pjdfstests, which there seem to be multiple
versions of, I have repos of two versions here that are Ganesha aware. These
tests include a lot of POSIX compliance so will catch permission issues and
other POSIX oddities. I also haven't run them in ages...

https://github.com/ffilz/ntfs-3g-pjd-fstest
https://github.com/ffilz/pjdfstest

The nfs-ganesha tree also has a tool to help write lock tests (and can be
used for a few other things too - I recently added more flags to open so it
can test most open system call invocations of interest) in:

https://github.com/nfs-ganesha/nfs-ganesha/tree/next/src/tools/multilock

Hmm, I should incorporate the features of Bruce's lock tests into that...

The multilock tool can drive multiple clients to use system calls (so any
POSIX client can be used including a local process on the server) or
Gluster's libgfapi or Cephs libcephfs.

Frank

> -----Original Message-----
> From: J. Bruce Fields [mailto:bfields@xxxxxxxxxxxx]
> Sent: Friday, January 7, 2022 1:35 PM
> To: Chuck Lever <chuck.lever@xxxxxxxxxx>
> Cc: linux-nfs@xxxxxxxxxxxxxxx
> Subject: NFS testing
> 
> Chuck was asking about the regular NFS testing I do.  Cc'ing the list in
case this is
> useful to anyone else.
> 
> We'd really like to set up regular testing on some kind of common
infrastructure
> that more people can get to.  I'm not sure how to get there yet.
> 
> For now all I have is this pile of bash scripts that build kernels and
boot test VMs
> and run tests between them, all on a machine in my
> basement:
> 
> 	http://git.linux-nfs.org/?p=bfields/testd.git;a=tree
> 
> The "install.sh" file has notes on my setup.
> 
> The thing I run most regularly is this:
> 
> 	http://git.linux-nfs.org/?p=bfields/testd.git;a=blob;f=bin/do-all
> 
> which runs:
> 
> 	- connectathon, on v3, v4, v4.1, and v4.2, each with both
> 	  auth_sys and krb5.  Except v4.2, which I run with auth_sys,
> 	  krb5i, and krb5p.
> 	- at the same time as connectathon (so with the same
> 	  permutations as the above), I also run the tests in
> 
> 		http://git.linux-nfs.org/?p=bfields/lock-tests.git
> 
> 	  which check basic lock and lease functionality plus some odd
> 	  corner cases I ran into some years ago.
> 	- pynfs 4.0 tests:
>
http://git.linux-nfs.org/?p=bfields/testd.git;a=blob;f=bin/do-
> pynfs
> 	  I do two auth_sys runs, one as root, one not.  (Tests that
> 	  create special files need root, tests that expect permission
> 	  failures need non-root).  A couple krb5 runs are temporarily
> 	  disabled.
> 
> 	  My goal is that a normal result should be "everything passed",
> 	  so that it stands out when there's a regression.  So I skip a
> 	  few known failures:
> 		http://git.linux-
> nfs.org/?p=bfields/testd.git;a=blob;f=data/pynfs-skip
> 	- pynfs 4.1 tests: similar if a little less complicated:
>
http://git.linux-nfs.org/?p=bfields/testd.git;a=blob;f=bin/do-
> pynfs41
> 	  4.1 tests to skip:
> 		http://git.linux-
> nfs.org/?p=bfields/testd.git;a=blob;f=data/pynfs41-skip
> 	- xfstests:
>
http://git.linux-nfs.org/?p=bfields/testd.git;a=blob;f=bin/do-
> xfstests
> 	  This is the most time-consuming, so I just do a single run
> 	  over NFSv4.2 with auth_sys.
> 
> 	  As with pynfs I aim for the normal result to be "everything
> 	  passed", so I skip these known failures:
> 		http://git.linux-
> nfs.org/?p=bfields/testd.git;a=blob;f=data/xfstests-failed
> 	  I also normally skip anything that takes more than a couple
> 	  minutes, unfortunately:
> 		http://git.linux-
> nfs.org/?p=bfields/testd.git;a=blob;f=data/xfstests-slow
> 
> I also have some other test sets in there that I don't use as often.
> And I "bisect" script that will run other tests, e.g.
> 
> 	qtst <host> bisect <good> <bad> xfstests generic/465
> 
> and it'll crank away for a few hours and (hopefully) mail me a git-bisect
result
> telling me where generic/465 started failing.
> 
> --b.




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux