1. 20 Oct, 2005 1 commit
  2. 19 Oct, 2005 2 commits
    • Timothy Stack's avatar
      · bd627836
      Timothy Stack authored
      Some event system changes for linktest and any future things we want to
      run with the event system in the swapin path:
      
      	* event/linktest/linktest_control.in: Let linktest be run while
      	the experiment is activating.
      
      	* event/sched/event-sched.c, event/sched/rpc.h,
      	event/sched/rpc.cc: Don't wait for the experiment to become active
      	before loading the eventlist so any system defined agents are
      	available to use.  Don't start time unless the experiment is
      	already active, let boss do it otherwise.  Send out COMPLETE
      	events so 'tevc' can listen for them.
      
      	* event/sched/timeline-agent.c: Send a complete event even if the
      	timeline is empty.
      
      	* event/tbgen/tevc.c: Add a '-w' option so that tevc can wait for
      	an event that sends back a COMPLETE.
      
      	* tbsetup/tbswap.in: Explicitly send an event to start event time.
      bd627836
    • Leigh B. Stoller's avatar
      Change how output is logged to make it easier to use from the web · ef347623
      Leigh B. Stoller authored
      interface, and so the textarea on the web page can be updated in
      real time as it runs.
      ef347623
  3. 18 Oct, 2005 1 commit
  4. 10 Sep, 2004 1 commit
  5. 09 Sep, 2004 1 commit
  6. 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
  7. 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