1. 09 Sep, 2011 1 commit
  2. 30 Aug, 2011 1 commit
  3. 19 Jul, 2011 1 commit
  4. 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
  5. 02 Aug, 2007 1 commit
  6. 28 Jun, 2006 1 commit
  7. 26 Apr, 2006 1 commit
  8. 06 Apr, 2006 1 commit
    • Mike Hibler's avatar
      Subtle change to the query that checks whether a node's OS supports linktest: · e19449fd
      Mike Hibler authored
      change the query to check nodes.node_id instead of nodes.phys_nodeid against
      the reserved.node_id.
      
      This means the query now returns FBSD-JAIL for vnodes rather than NULL
      for the OS.  I ran the query against every current experiment in the DB
      and the only other changes were:
      
        * plab nodes return RHL_PLAB instead of NULL.  As long as linktest is
          not an osfeature of that image (it isn't) then this fix is compatible
      
        * pc2000s, which host IXPs, now only return one row in the query.
          Previously they would return a row for "pc17X" and for "ixpN".
          This is probably not what we wanted anyway.
      e19449fd
  9. 02 Jan, 2006 1 commit
  10. 13 Dec, 2005 1 commit
  11. 12 Dec, 2005 1 commit
  12. 07 Dec, 2005 1 commit
  13. 06 Dec, 2005 1 commit
  14. 20 Nov, 2005 1 commit
  15. 09 Nov, 2005 1 commit
  16. 26 Oct, 2005 1 commit
  17. 20 Oct, 2005 1 commit
  18. 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
  19. 18 Oct, 2005 1 commit
  20. 10 Sep, 2004 1 commit
  21. 09 Sep, 2004 1 commit
  22. 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
  23. 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