1. 31 Aug, 2011 1 commit
  2. 30 Aug, 2011 9 commits
  3. 29 Aug, 2011 1 commit
  4. 19 Aug, 2011 1 commit
    • Kevin Atkinson's avatar
      Use foreach instead of while (...each) when iterating through $fields, · d4bd798b
      Kevin Atkinson authored
      it's less error prone.  That is change:
        while (list ($name, $attributes) = each ($fields)) {
        foreach ($fields as $name => $attributes) {
      This fixes a bug which caused an empty form to display in
      When using while (...each) it is important to call reset, before the
      loop to reset the internal array iterator.  We don't ever seam to do
      this, and its clearer to just use foreach.
      Someone, eventually, should probably fix all the other cases of using
      each in a while loop, just in case.  But that fix is for another day.
  5. 16 Aug, 2011 1 commit
  6. 12 Aug, 2011 1 commit
  7. 28 Jul, 2011 2 commits
    • 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
      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
      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?"
  8. 19 Jul, 2011 1 commit
  9. 14 Jul, 2011 1 commit
  10. 13 May, 2011 1 commit
  11. 11 May, 2011 1 commit
  12. 29 Apr, 2011 1 commit
  13. 21 Mar, 2011 1 commit
  14. 07 Mar, 2011 1 commit
  15. 02 Mar, 2011 1 commit
  16. 01 Mar, 2011 1 commit
  17. 24 Feb, 2011 1 commit
  18. 23 Feb, 2011 1 commit
  19. 18 Jan, 2011 1 commit
  20. 06 Jan, 2011 1 commit
  21. 27 Dec, 2010 1 commit
  22. 23 Dec, 2010 2 commits
  23. 22 Dec, 2010 2 commits
  24. 20 Dec, 2010 1 commit
  25. 15 Dec, 2010 1 commit
  26. 16 Nov, 2010 1 commit
    • Kevin Atkinson's avatar
      Add support for all node "tb-set-tarfiles". · a0d0c95e
      Kevin Atkinson authored
      "tb-set-tarfiles" is like "tb-set-node-tarfiles" except that it
      distributes the tarfile to all nodes rather than just one and that it
      uses frisbee to distribute the file.
      These changes involved 1) refactoring frisbee info from images table
      into a new table, frisbee_blobs, 2) a new experiment_blobs table, and
      3) a new tmcd command so the node knows how to get the files from the
      The changes where designed to be general purpose enough to eventually
        1) Distributing arbitrary files (not just tarfiles) to nodes
        2) Perform arbitrary actions on those files
        3) Use arbitrary methods to get the files
      As such the tmcd line is as follows:
        URL=* ACTION=*
      where URL is currently:
      for example
      and when we get around to using a master Frisbee server it could be
      or it could be a file://, http://, etc.
      and ACTION is currently:
      for example
      with future syntax to be determined.
  27. 09 Nov, 2010 1 commit
  28. 15 Oct, 2010 1 commit
  29. 01 Oct, 2010 1 commit
    • Kevin Atkinson's avatar
      Bug fix: Don't assume fgets when reading from a socket will always return data. · 824fab48
      Kevin Atkinson authored
      In fact, it might return an empty string if there is no data available.
      Thus testing trim(fgets(...))=='' is NOT a good way to test for a
      blank line.  Fixed this by accounting for the no data case.
      This bug caused the header of the HTTP response of an xmlrpc call to
      become part of the body, and thus creating invalid xml, which in turn
      caused xmlrpc_decode_request to fail.  The end result was that a WEB
      ERROR REPORT was created and no useful info was returned to the user
      when an NS file took a long time to parse.