1. 20 Oct, 2010 1 commit
    • 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
  2. 11 Oct, 2010 1 commit
  3. 23 Apr, 2007 1 commit
  4. 23 Mar, 2007 1 commit
  5. 17 Jul, 2006 1 commit
  6. 16 Nov, 2005 1 commit
  7. 19 Aug, 2005 1 commit
    • Timothy Stack's avatar
      · a1c355a5
      Timothy Stack authored
      Bring linktest in line with the new event system world order and do some
      generic cleanup.  I'm pretty sure I broke backwards compatibility with
      old disk images though...
      
      	* configure, configure.in: Remove linktest.h.in from the list of
      	template files.
      
      	* event/linktest/GNUmakefile.in: Don't make subdirectories for
      	executables since it can mess up the dependencies.  Don't install
      	tb_compat.tcl stuff anymore.  Check for '/usr/local/bin/pathrate'
      	and friends, and print out a warning if they are not found.  Make
      	a version file for the linktest daemon.
      
      	* event/linktest/linktest.c: Only subscribe to the events we care
      	about 'STOP/KILL'.  Subscribe to TIME START events and kill any
      	linktests that are in progress.  Send events through the local
      	elvind instead of running tevc.
      
      	* event/linktest/linktest.pl.in: Don't run the modified NS anymore
      	to generate the topology file, use gentopofile to do that.  Send
      	COMPLETE events to indicate that the tests were finished instead
      	of STOP so it works with event-sequences.  Use emulab-sync to
      	report errors between linktest daemons.  In addition to sending
      	REPORT events, send LOG events to the SIMULATOR agent so the
      	messages end up in the report e-mail.  Fix wait_all so it collects
      	child processes immediately and doesn't leave zombies lying
      	around.  Make the static route test work with topologies that
      	aren't fully connected.  Change ownership of the linktest error
      	files from root to the swapper.  Bump latency tolerance up to
      	2.5ms.
      
      	* event/linktest/ltevent.c: Use event_schedule instead of
      	event_notify so the events go through the scheduler.
      
      	* event/linktest/run_linktest.pl.in: Wait for COMPLETE events
      	insetad of STOPs.
      
      	* event/linktest/linktest.h.in: Removed.
      
      	* event/sched/error-record.c: Include linktest error output in the
      	report e-mail.
      
      	* event/sched/event-sched.c: Linktest now sends COMPLETE events
      	for START events.
      
      	* tbsetup/gentopofile.in, tmcd/common/config/rc.topomap: Piggy
      	back the generation and management of the linktest config file
      	onto the generation of the topomap.
      
      	* tbsetup/ns2ir/sim.tcl.in: Add "linktest" event to the Simulator
      	object that runs linktest at level 3 (latency, static routing, and
      	loss).
      
      	* tmcd/common/libsetup.pm: Add TMLTMAP constant that contains the
      	path to the node local linktest config file.
      
      	* tmcd/common/rc.linktest: Pass '-u' option to the linktest daemon
      	so it knows what user should to change ownership of files to.
      
      	* tmcd/freebsd/jail/mkjail.pl: Copy the linktest config file
      	(ltmap) into the jail.
      a1c355a5
  8. 28 Jun, 2004 1 commit
    • Leigh B. Stoller's avatar
      Fix a few things that cropped up while debugging for jails. · 2861a1a6
      Leigh B. Stoller authored
      * Do not have linktest daemon connect to boss; have it connect to
        local node elvind like all other local agents. Remove the event
        generation code (linktest was sending a KILL event to all other
        linktest programs), and replace with a system() call to tevc, which
        sends the event through the scheduler and exits; this will avoid a
        zillion tcp connctions to boss from the linktest daemon.
      
      * A couple of process group changes to linktest daemon; the daemon
        appeared to be killing itself off.
      
      * Fix to run_linktest.pl; It was just hanging after it completed,
        cause its child ltevent process was still running. Changed to record
        child pid, and kill/close ltevent child before exiting.
      2861a1a6
  9. 27 Jun, 2004 1 commit
    • David Anderson's avatar
      This commit has various changes to Linktest to make it more reliable. · 9a23fe83
      David Anderson authored
      1. The Linktest daemon, linktest.c, now listens for a KILL event. If received,
         the daemon will kill the linktest.pl child process and all of its subchildren.
      2. The daemon also listens for SIGSTP events from the linktest.pl child, and
         will kill the linktest.pl process and its children if linktest.pl dies
         unexpectedly.
      3. Locking has been implemented in linktest.c to ignore requests to start linktest
         while a current run is executing.
      4. The controller script run_linktest.pl now includes the following new options:
         -t   allows the user to specify a timeout in seconds for Linktest.
         -v   prints out better feedback from the Linktest run as it proceeds.
      
      Major remaining items are:
      1. Avoid NFS mount hups
      2. More testing, especially on vnodes
      9a23fe83
  10. 29 Jan, 2004 2 commits
  11. 28 Jan, 2004 1 commit
  12. 26 Jan, 2004 1 commit
  13. 17 Jan, 2004 1 commit
    • David Anderson's avatar
      Checkpoint commit. I've added the static-linked program "ltevent" to send · c6911250
      David Anderson authored
      and wait for linktest events, and integrated it into the perl scripts.
      
      At this point I'm working on small potatoes such as the rc.setup script
      to invoke linktest daemon and nailing down where to put platform-specific
      stuff such as the ns-linktest build and the customized tb-compat.
      
      Also am testing linktest in cases where I've deliberately inserted an error
      to make sure it catches it.
      c6911250
  14. 14 Jan, 2004 1 commit
    • David Anderson's avatar
      Updates to Linktest for a caller script, run_linktest.pl. · 5a1ab5a8
      David Anderson authored
      This includes an updated client-install.
      
      However, this is not yet ready for builds due to certain libraries not
      present on the nodes and ops. For those I will be writing a static
      linked c program to handle the linktest "done" event in both linktest.pl
      and run_linktest.pl.
      5a1ab5a8
  15. 16 Dec, 2003 2 commits
  16. 24 Nov, 2003 1 commit
  17. 13 Oct, 2003 1 commit
  18. 30 Sep, 2003 1 commit