1. 25 Oct, 2010 2 commits
  2. 21 Oct, 2010 1 commit
  3. 20 Oct, 2010 6 commits
    • Leigh B Stoller's avatar
      Change libreboot log file to reboot.log (instead of power.log) and add · fb528ba4
      Leigh B Stoller authored
      logging to the power command (to power.log).
      fb528ba4
    • Jonathon Duerig's avatar
      Fix namespace in libvtop · 54d6b99a
      Jonathon Duerig authored
      54d6b99a
    • Leigh B Stoller's avatar
      Add missing module include. · 6d12313d
      Leigh B Stoller authored
      6d12313d
    • Mike Hibler's avatar
      Silence NS warning about unset elabinelab variables. · 4b0a2b93
      Mike Hibler authored
      Also update default to FBSD73-STD (for those who do not have the aforementioned
      variables set).
      4b0a2b93
    • David Johnson's avatar
      d7b1d6c6
    • 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
  4. 19 Oct, 2010 5 commits
  5. 18 Oct, 2010 1 commit
  6. 17 Oct, 2010 1 commit
  7. 14 Oct, 2010 6 commits
  8. 13 Oct, 2010 3 commits
    • Mike Hibler's avatar
      Remove taint mode from some daemons. · 605a4bd1
      Mike Hibler authored
      That change I made to EmulabConstants.pm.in only worked around one instance
      of the problem.  Apparently in perl 5.10 there is a known bug related to
      taint mode and self loading?  Anyway, the short-term fix is either to move
      to perl 5.12 (no thanks) or disable taint checking failures when we hit the
      problem.
      605a4bd1
    • Leigh B Stoller's avatar
      Remove bogus prototype and move untaint of environment before the · 9a38c48e
      Leigh B Stoller authored
      module includes.
      9a38c48e
    • Mike Hibler's avatar
      Deal with non-numeric OIDs. · 5db62fc4
      Mike Hibler authored
      If a counter returns a non-numeric value, then treat it as zero and print
      a warning.  Most likely these are OIDs that are unimplemented.
      It will only warn once per device per OID, but even that might get tedious
      so warnings can be turned off entirely with a global variable.
      5db62fc4
  9. 12 Oct, 2010 3 commits
  10. 11 Oct, 2010 3 commits
    • Leigh B Stoller's avatar
      Work on an optimization to the perl code. Maybe you have noticed, but · 92f83e48
      Leigh B Stoller authored
      starting any one of our scripts can take a second or two. That time is
      spent including and compiling 10000s of thousands of lines of perl
      code, both from our libraries and from the perl libraries.
      
      Mostly this is just a maintenance thing; we just never thought about
      it much and we have a lot more code these days.
      
      So I have done two things.
      
      1) I have used SelfLoader() on some of our biggest perl modules.
         SelfLoader delays compilation until code is used. This is not as
         good as AutoLoader() though, and so I did it with just a few 
         modules (the biggest ones).
      
      2) Mostly I reorganized things:
      
        a) Split libdb into an EmulabConstants module and all the rest of
           the code, which is slowly getting phased out.
      
        b) Move little things around to avoid including libdb or Experiment
           (the biggest files).
      
        c) Change "use foo" in many places to a "require foo" in the
           function that actually uses that module. This was really a big
           win cause we have dozens of cases where we would include a
           module, but use it in only one place and typically not all.
      
      Most things are now starting up in 1/3 the time. I am hoping this will
      help to reduce the load spiking we see on boss, and also help with the
      upcoming Geni tutorial (which kill boss last time).
      92f83e48
    • Jonathon Duerig's avatar
      Bugfix: Fix typo to ClemsonGENI clause · 40a1c96e
      Jonathon Duerig authored
      40a1c96e
    • Jonathon Duerig's avatar
      98fe4b13
  11. 08 Oct, 2010 2 commits
  12. 04 Oct, 2010 1 commit
  13. 01 Oct, 2010 1 commit
  14. 30 Sep, 2010 1 commit
  15. 29 Sep, 2010 4 commits