1. 10 Oct, 2018 1 commit
  2. 09 Aug, 2018 1 commit
  3. 30 Jul, 2018 1 commit
  4. 12 Jul, 2017 1 commit
  5. 20 Jan, 2017 1 commit
  6. 22 Feb, 2016 1 commit
  7. 23 Sep, 2015 1 commit
  8. 04 Aug, 2015 1 commit
  9. 30 Jul, 2015 1 commit
  10. 09 Jun, 2015 1 commit
  11. 28 Jul, 2014 1 commit
  12. 07 Feb, 2014 1 commit
  13. 05 Feb, 2013 1 commit
    • Leigh Stoller's avatar
      Fix a troublesome SelfLoader problem caused by AuditFork. Do NOT · 774279a9
      Leigh Stoller authored
      close the saved STDOUT/STDERR descriptors until the new ones are open
      and dup'ed into fileno 1 and 2, and the LOG descriptor closed. This
      was causing SelfLoader to get confused; it has a wacky test that is
      supposed to look for a fork and reopen the handle on __DATA__, so that
      parent and child have its own fd. Not sure I really understand the
      sequence of events though.
      774279a9
  14. 29 Jan, 2013 1 commit
  15. 18 Jan, 2013 1 commit
  16. 17 Jan, 2013 1 commit
    • Leigh Stoller's avatar
      Various changes and fixes to libaudit. · 8ac3f988
      Leigh Stoller authored
      Add TBLOGS option to send LOGONLY logs to testbed-logs instead of
      default tbops (except when an error).
      
      Do not delete logfiles when NODELETE is given; we were not being
      careful about that.
      
      Changes and fixes to AuditFork to support new usage from ProtoGeni
      XMLRPC (the only place we use it).
      8ac3f988
  17. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  18. 27 May, 2012 1 commit
  19. 21 Jun, 2011 1 commit
  20. 18 Feb, 2011 1 commit
    • Leigh Stoller's avatar
      Fix the AuditFork() to prevent the loss of STDERR. Turns out · b5db8735
      Leigh Stoller authored
      (something I just managed to remember) is that if you call the shell
      without STDERR=2, then the shell has no place to send STDERR. The
      only way to get this correct is to use POSIX::dup2 instead of the
      standard perl open function. Well, I bet there is a way (or 10 ways)
      to do this, but this is one that stumbled onto. libaudit does a lot
      of descriptor messing around.
      
      BTW; this is also why we sometimes lose STDERR from the XMLRPC server.
      b5db8735
  21. 17 Feb, 2011 1 commit
  22. 03 Mar, 2010 1 commit
  23. 25 Mar, 2009 1 commit
  24. 27 Feb, 2009 1 commit
  25. 07 Jan, 2009 1 commit
  26. 04 Nov, 2008 1 commit
  27. 03 Nov, 2008 1 commit
  28. 29 Aug, 2008 1 commit
  29. 02 Aug, 2007 1 commit
  30. 09 Jan, 2007 1 commit
  31. 06 Nov, 2006 1 commit
    • Kevin Atkinson's avatar
      libaudit related changes: · e89ee617
      Kevin Atkinson authored
        - Added "LIBAUDIT_FANCY" option to AuditStart.  When this option is
          used libaudit will send a different email than it normally sends,
          and on error call tblog_find_error() to determine the error.
      
        - Also add audit function AddAuditInfo which adds add additional
          information for libaudit to use in SendAuditMail when AUDIT_FANCY
          is set.
      
        - Modify template_swapin, template_instantiate, and template_create
          to use the new audit functionality.
      
        - Suppressing calling tblog_find_error and sending the error email
          when auditing in swapexp and batchexp
      
      tblog changes:
      
        - Shorten the message sent to the user when the error in unknown.
          Remove all parts about lack of free nodes as it no longer really
          applies as tblog now correctly identified those errors and handles
          them separately.  The message is now just "Please look at the log
          below to see what happened."
      
        - Improve algo. used to determine the other error when canceled.
          Will now work by removing all errors related to the cancel request
          and the essentially rerunning tblog_find_error.  If the cause of
          the error is still canceled, repeat and try again until the cause
          is something other than canceled or no errors are left.
      
        - Refactor tblog_find_error, which involves creating new internal
          functions: tblog_determine_single_error, tblog_store_error,
          tblog_dump_error
      
        - Add section on Primary vs Secondary Errors to the inline POD
          documentation.
      
        - Other minor enhancements and bug fixes.
      e89ee617
  32. 06 Oct, 2006 1 commit
  33. 05 Sep, 2006 1 commit
  34. 18 Jul, 2006 1 commit
    • Leigh Stoller's avatar
      Changes necessary for moving most of the stuff in the node_types · 624a0364
      Leigh Stoller authored
      table, into a new table called node_type_attributes, which is intended
      to be a more extensible way of describing nodes.
      
      The only things left in the node_types table will be type,class and the
      various isXXX boolean flags, since we use those in numerous joins all over
      the system (ie: when discriminating amongst nodes).
      
      For the most part, all of that other stuff is rarely used, or used in
      contexts where the information is needed, but not for type descrimination.
      Still, it made for a lot of queries to change!
      
      Along the way I added a NodeType library module that represents the type
      info as a perl object. I also beefed up the existing Node module, and
      started using it in more places. I also added an Interfaces module, but I
      have not done much with that yet.
      
      I have not yet removed all the slots from the node_types table; I plan to
      run the new code for a few days and then remove the slots.
      
      Example using the new NodeType object:
      
      	use NodeType;
      
      	my $typeinfo = NodeType->Lookup($type);
      
              if ($typeinfo->control_interface(\$control_iface) ||
                  !$control_iface) {
        	    warn "No control interface for $type is defined in the DB!\n";
              }
      
      or using the Node:
      
      	use Node;
      
              my $nodeobject = Node->Lookup($node_id);
              my $imageable  = $nodeobject->NodeTypeInfo()->imageable();
      or
              my $rebootable = $nodeobject->isrebootable();
      or
              $nodeobject->NodeTypeAttribute("control_interface", \$control_iface);
      
      Lots of way to accomplish the same thing, but the main point is that the
      Node is able to override the NodeType (if it wants to), which I think is
      necessary for flexibly describing one/two of a kind things like switches, etc.
      624a0364
  35. 10 Jul, 2006 1 commit
  36. 14 Jun, 2006 1 commit
  37. 06 Jun, 2006 1 commit
  38. 30 Aug, 2004 1 commit
  39. 07 Aug, 2003 2 commits