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
