1. 25 Jan, 2006 2 commits
  2. 24 Jan, 2006 1 commit
  3. 12 Dec, 2005 1 commit
  4. 08 Dec, 2005 1 commit
  5. 07 Dec, 2005 1 commit
  6. 03 Nov, 2005 1 commit
    • Kevin Atkinson's avatar
      · 9b2c1e26
      Kevin Atkinson authored
      Added undocumented option "-L" to set the start level.
      9b2c1e26
  7. 31 Oct, 2005 1 commit
  8. 19 Oct, 2005 1 commit
  9. 18 Oct, 2005 2 commits
  10. 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
  11. 30 Aug, 2004 1 commit
    • Leigh B. Stoller's avatar
      The bulk of the event system changes. · 9aa6b5ca
      Leigh B. Stoller authored
      * The per-experiment event scheduler now runs on ops instead of boss.
        Boss still runs elvind and uses events internally, but the user part
        of the event system has moved.
      
      * Part of the guts of eventsys_control moved to new script, eventsys.proxy,
        which runs on ops and fires off the event scheduler. The only tricky part
        of this is that the scheduler runs as the user, but killing it has to be
        done as root since a different person might swap out the experiment. So,
        the proxy is a perl wrapper invoked from a root ssh from boss, which
        forks, writes the pid file into /var/run/emulab/evsched/$pid_$eid.pid,
        then flips to the user and execs the event scheduler (which is careful
        not to fork). Obviously, if the kill is done as root, the pid file has to
        be stored someplace the user is not allowed to write.
      
      * The event scheduler has been rewritten to use Tim's C++ interface to the
        sshxmlrpc server on boss. Actually, I reorg'ed the scheduler so that it
        can ...
      9aa6b5ca
  12. 29 Jun, 2004 1 commit
    • Leigh B. Stoller's avatar
      Some "improvements" to linktest ... · 159076bf
      Leigh B. Stoller authored
      * The linktest daemon (the one that runs on the nodes) no longer talks
        to boss directly, but instead contacts the local elvind; rc.linktest
        is changed to reflect that.
      
      * A bunch of signal handler changes to run_linktest.pl; do not rely on
        events to stop linktest when it is running on boss; when the user
        kills a running linktest make sure all the processes are killed
        explicitly.
      
      * New wrapper script (linktest_control) for use on boss, specifically
        when being called from the web interface. This script handles the DB
        part (getting linktest_level and linktest_pid), making sure that
        only one linktest is running at a time (on boss) and reseting the
        pid in the DB as needed. The -k option kills a running linktest, and
        is invoked from the web interface when the user wants to kill one in
        progress. This gets the pid from the DB and sends it a TERM signal,
        which sends a TERM to the run_linktest.pl script, which sends a TERM
        to the ltevent helper app.
      
        Note that this wrapper is also suitable for the XMLRPC interface,
        although I have not added it there yet.
      159076bf
  13. 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
  14. 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
  15. 20 Apr, 2004 1 commit
  16. 30 Jan, 2004 1 commit
  17. 29 Jan, 2004 2 commits
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Redo run_linktest.pl so that it is okay to run on boss/ops. Note that · b4480193
      Leigh B. Stoller authored
      I am not using paperbag to run it on ops, but just installing the two
      programs that are needed. Eventually should paperbag it.
      
      This same script runs on both boss/ops and on experimental nodes to
      fire off the linktest daemon on the nodes and wait. This is icky as
      some crufty stuff has to be done so that it will run in both
      environments. ltevent is of course not needed on boss, but do not want
      to bother it now since it *is* needed on the nodes.
      
      To run it on boss script needed severe cleanup and taint checking.
      Also added the use of event keyfile, which is currently optional, but
      needs to be mandatory once the images are updated.
      
      The current problem is that run_linktest can hang waiting for the
      clients to finish?. We can use quick mode in the experiment setup
      path, but maybe we need a cancel operation?
      b4480193
  18. 26 Jan, 2004 3 commits
  19. 24 Jan, 2004 1 commit
  20. 20 Jan, 2004 1 commit
  21. 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
  22. 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