• Mike Hibler's avatar
    Support for no shared filesystem (unsupport for shared filesystem?) and · c1c1bce2
    Mike Hibler authored
    (eventual) support for NFS servers without race conditions!
    
    This means no NFS between nodes and ops/fs. There are still NFS mounts of
    ops on boss however.
    
    Added new defs-* variable NOSHAREDFS, which when set non-zero will disable
    the export of NFS filesystems to nodes.  Involved lots of little changes:
    
     * /users, /proj, and /share filesystems are not exported to nodes.
    
     * Returned mount info now includes an FSTYPE key which will be set to "LOCAL"
       if NOSHAREDFS is in effect (by default it is set to "NFS-RACY"; more on
       this later).  In the case where it is set to LOCAL, the other mount lines
       no longer contain REMOTE=foo settings.  Because of this change,
       THE TMCD VERSION NUMBER HAS BEEN BUMPED TO 32.
    
     * The client rc.mounts script will now create local versions of /users/*,
       /proj/<pid>, and /share when FSTYPE=LOCAL.  It first runs mkextrafs to
       create a large partition for these, since someday we will likely want
       to pre-populate these with a non-trivial amount of data.  Right now,
       the only thing that is put in the user's homedir is the standard dotfiles
       for the OS and the Emulab authorized_keys file (so you can login).
    
     * Linktest had to be modified to fetch the various results files (via
       loghole) rather than just assuming they were in /proj.  And also changed
       to invoke tevc with the local copy of the event key so it won't try to
       read it over NFS.
    
     * create_image was modified to ssh to the node and run the imagezip
       command, capturing the output of ssh.  This is controlled via the "-s"
       option which defaults to on for a NOSHAREDFS system, but can also be
       used on a normal system.
    
     * elabinelab's can be configured with/without a shared FS via the
       CONFIG_SHAREDFS attribute (note polarity change) which defaults to 1.
    
    Another new defs-* variable, NFSRACY, will some day allow you to specify
    (by setting to 0) that your NFS server does NOT have the nefarious mountd
    race condition when changing /etc/exports.  Currently, this defaults to 1
    since all versions of FreeBSD supported as an "fs" node have this "feature."
    Rumor has it that FreeBSD 8 does not have this problem nor, presumably,
    would a Linux NFS server.
    
    The only use of this variable right now is to set the FSTYPE returned by the
    tmcd "mounts" call, which in turn is used by one client script, rc.topomap
    (via a libsetup function) to determine whether it should try copying
    the topo file multiple times.
    
    Random: add python2.6 to list of python's checked for in configure.
    Random: resync defs-example-privatecnet with defs-example.
    Random: did a little code-pissin here and there.
    c1c1bce2
Name
Last commit
Last update
account Loading commit data...
apache Loading commit data...
assign Loading commit data...
autoconf Loading commit data...
backend Loading commit data...
bugdb Loading commit data...
capture Loading commit data...
cdrom Loading commit data...
collab Loading commit data...
daikon Loading commit data...
db Loading commit data...
delay Loading commit data...
dhcpd Loading commit data...
discvr Loading commit data...
doc Loading commit data...
event Loading commit data...
firewall Loading commit data...
flash Loading commit data...
hw_config Loading commit data...
hyperviewer Loading commit data...
image-test Loading commit data...
install Loading commit data...
ipod Loading commit data...
lib Loading commit data...
mfs Loading commit data...
mote Loading commit data...
named Loading commit data...
node_usage Loading commit data...
os Loading commit data...
patches Loading commit data...
pelab Loading commit data...
protogeni Loading commit data...
pxe Loading commit data...
rc.d Loading commit data...
robots Loading commit data...
rpms Loading commit data...
security Loading commit data...
sensors Loading commit data...
sql Loading commit data...
ssl Loading commit data...
sysadmin Loading commit data...
tbsetup Loading commit data...
testsuite Loading commit data...
tip Loading commit data...
tmcd Loading commit data...
tools Loading commit data...
utils Loading commit data...
vis Loading commit data...
wiki Loading commit data...
www Loading commit data...
xmlrpc Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.loc-ignore Loading commit data...
AGPL-COPYING Loading commit data...
GNUmakefile.in Loading commit data...
GNUmakerules Loading commit data...
GPL-COPYING Loading commit data...
LGPL-COPYING Loading commit data...
MOVED-TO-WIKI Loading commit data...
Makeconf.in Loading commit data...
README Loading commit data...
TODO Loading commit data...
TODO.plab Loading commit data...
VERSION Loading commit data...
WEBtemplate.in Loading commit data...
config.h.in Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
defs-aerolab Loading commit data...
defs-calfeld-emulab Loading commit data...
defs-davidand-emulab Loading commit data...
defs-default Loading commit data...
defs-duerig-emulab Loading commit data...
defs-elabinelab Loading commit data...
defs-example Loading commit data...
defs-example-privatecnet Loading commit data...
defs-fbsd7 Loading commit data...
defs-fish-emulab Loading commit data...
defs-gatech Loading commit data...
defs-gtw-emulab Loading commit data...
defs-johnsond-emulab Loading commit data...
defs-kevina-emulab Loading commit data...
defs-kwebb-emulab Loading commit data...
defs-mike-emulab Loading commit data...
defs-newbold-emulab Loading commit data...
defs-newbold-macdb Loading commit data...
defs-ricci-emulab Loading commit data...
defs-shash-emulab Loading commit data...
defs-stoller-emulab Loading commit data...
defs-stoller-home Loading commit data...
defs-stoller-lbsdb Loading commit data...
defs-uky Loading commit data...
defs-wbsun-emulab Loading commit data...
defs-wide Loading commit data...