In the test.efs setup for the test suite, we have *never* actually tested
against real NFS servers.  Why?  Well, we didn't have to, and the focus was
on testing how EFS manages the namespace, more than how it interacts with
NFS.   The NFS "volumes" are just directories in /var/tmp, and we simulate
the /.efsadmin namespace with just directories and symlinks.  This works
quite well, is all automated (duh -- I wrote it :-P), and has served it's
purpose.   This works simply because there's no difference between accessing
things via NFS mounts, vs local filesystems, as far as chmod/chown/etc. are
concerned.   We just manipulate pathnames, and NFS is transparent to most of
the code.

Well, that ain't gonna work with AFS.   We need *real* AFS cell
infrastructure, and while we *could* set it up automatically in the test
suite directly, I think it makes sense to change the way we build the
test.efs VMs to add static fileserver infrastructure which can be used by
the test suite.   I started writing up the changes we will need to support
OpenAFS here:

http://docs.openefs.org/efs-core-docs/DevGuide/Future/OpenAFS.html

I've managed to reproduce a basic AFS cell, and will shortly be able to
auto-generate all 3 of the cells we will need in this setup.  When I look at
how we fake all this in the test suite, though, it seems to me that we
should take a similar approach with NFS.   Since we're adding fileservers
for the purposes of serving AFS, we should also make these same machines the
NFS servers for the test suite.

This will be a huge improvement to our test infrastructure, since we'll be
using NFS for real, finally.   This would be  essential for testing NFSv4 as
well.

This will require changing the setup code to bootstrap the autofs maps,
instead of creating an /.efsadmin symlink tree, and we'll have to
auto-configure autofs of course, but ALL of that code is scattered around
the various bootstrap scripts, so it's most a matter of migrating a few
hacks around (to the disgust of my development team, this is going to
involve some cut/paste, as it's NOT practical to factor the code into
modules).

I am going to be making MAJOR changes to the test.efs environment as part of
this work, so be prepared to completely rebuild your from scratch when this
is ready in a week or two.  I'm going to change the "function" names of the
various servers, and their IP addresses, which will make the existing
test.efs setups obsolete.
_______________________________________________
EFS-dev mailing list
[email protected]
http://mailman.openefs.org/mailman/listinfo/efs-dev

Reply via email to