1. 29 Jul, 2011 5 commits
  2. 28 Jul, 2011 7 commits
    • Leigh B Stoller's avatar
      Add back useprepass check. · 4ec85d39
      Leigh B Stoller authored
      4ec85d39
    • Mike Hibler's avatar
    • Leigh B Stoller's avatar
      Power "saving" additions from Barry Trent, who got them from Kevin · 03478fb9
      Leigh B Stoller authored
      Lahey.
      
      Power saving turns off nodes that have been sitting in PXEWAIT (and
      are thus free) for more then a set amount of time (see sitevar
      general/idlepower_idletime, which defaults to 3600 seconds).
      
      The driver script is tbsetup/idlepower.in and needs to be added to
      /etc/crontab at sites that want to do this. Even so, operation is
      enabled by the sitevar general/idlepower_enable. Each time it runs, it
      checks for nodes that need to be turned off, and then calls power.
      Note: This should be a daemon not a cron job.
      
      To be considered for power saving, you must add an attribute to the
      node_type_attributes table called 'idlepower_enable', set to 1.
      
      Locally, I hacked up stated and power to make the state transitions
      legal so that stated does not whine. I added POWEROFF as a valid
      transition from any state, to opmodes NORMAL, NORMALv1, and NORMALv2.
      Barry's original patch already had a state transition for PXEKERNEL.
      In power, I added code to look at the actual operation, and in the
      case of "on", do not send an event if the node is not in POWEROFF,
      since a user can foolishly say power on anytime, and the node is on
      nothing is every going to change, and the state transition would be
      wrong.
      
      node_reboot takes of powering nodes on, when they are in POWEROFF.
      
      Barry on copyright issues:
       "I'm not sure those rights are mine to grant! Remember that this code
       came originally from Kevin Lahey (kml@patheticgeek.net) and
       originated at DETER (although he's apparently not there anymore). I
       don't foresee a problem from our point of view (but I'll double
       check, of course). Shall I try to contact Kevin try to sort this mess
       out, or do you think it's better to coordinate from your end?"
      03478fb9
    • Leigh B Stoller's avatar
      Allow '*' for state1 (source state) in the state_transition table, · a6b87170
      Leigh B Stoller authored
      which says that any source state is okay, for the specified target
      state. Basically a convenience.
      a6b87170
    • Leigh B Stoller's avatar
      Add ExecQuiet() function (stolen from libinstall) to run a command, · 6f773c65
      Leigh B Stoller authored
      capturing and returning all output. Convenient.
      6f773c65
    • Leigh B Stoller's avatar
      Minor bug fix. · d191c7b4
      Leigh B Stoller authored
      d191c7b4
    • Leigh B Stoller's avatar
      Minor bug fix. · 93ff80fc
      Leigh B Stoller authored
      93ff80fc
  3. 27 Jul, 2011 4 commits
    • Mike Hibler's avatar
      bcf66178
    • Leigh B Stoller's avatar
      Forgot to move the lib directory from toplevel into clientside, since · e460550c
      Leigh B Stoller authored
      clientside requres it to be there. As noted in previous revision, the
      full emulab build always includes the clientside subdir, but a
      clientside build will not necessarily include the rest of Emulab.
      e460550c
    • Leigh B Stoller's avatar
      Minor fix. · 965687f5
      Leigh B Stoller authored
      965687f5
    • Leigh B Stoller's avatar
      Merge branch 'clientside' · 787d0759
      Leigh B Stoller authored
      This is the client reorganization! All of the code that makes up the
      client side (the stuff we install on images and mfs's) has been moved
      into a single place; the clientside subdir. The eventual plan is to
      turn this into a separate git submodule, but for now it lives inside
      of the emulab repo.
      
      There are two modes of installation.
      
      1. Build as part of a full emulab build; The top level configure and
         makefile operate as before; the clientside directory is built and
         the client and client-install targets do what they always do. Ditto
         the various mfs and subboss targets.
      
      2. In the clientside directory, there is a new configure script that
         covers just this subdir. chdir into clientside, run configure with
         no options or defs file, and then build/install. This will be a lot
         esier to handle for user wanting to simply update existing images
         with the latest clientside.
      
      Notes:
      
      1. I used "git mv" so the history will follow the files when you do a
         git log, but only if you use the --follow option.
      
      2. configure has been updated to 2.63 cause the old one we were using
         did not support some of the substitutions I wanted.
      787d0759
  4. 26 Jul, 2011 3 commits
  5. 24 Jul, 2011 1 commit
  6. 23 Jul, 2011 1 commit
  7. 22 Jul, 2011 7 commits
  8. 21 Jul, 2011 7 commits
  9. 20 Jul, 2011 2 commits
  10. 19 Jul, 2011 3 commits