1. 09 Feb, 2010 1 commit
    • Mike Hibler's avatar
      One fix and one work around for new (5.10.0) perl warnings about "used once" · d10e9504
      Mike Hibler authored
      variables in libtblog_simple and SWIG generated code.
      
      The fix is to libtblog, to get rid of the warning.  The warning from swig
      generated code is a swig problem that was supposedly fixed, but apparently
      not.  So those warnings remain, and led to the workaround.
      
      The workaround is in shommlists which parses output captured by SUEXEC.
      That function captures all output, stdout and stderr, from the command it runs
      and presents it in an array.  So if you use it to invoke a perl script that
      evokes the "used once" messages, those messages wind up in the array.
      showmmlists was not validating that output at all, it just assumed everything
      returned was the name of a mail list.  Added some syntactic validation
      (aka a regexp) to deal with that.
      d10e9504
  2. 27 Sep, 2006 1 commit
    • Kevin Atkinson's avatar
      · 7293bbc0
      Kevin Atkinson authored
      Second attempt to fix the problem of duplicate log entries.  I am
      99.99% sure this will get 100% of the cases, and 99.999% sure it won't
      break anything.
      
      It basically detects when the DB handle is a child and if so set
      "InaciveDestroy" before the database handle DESTROY method is called.
      Since the DB handle can be closed in several different places I created a
      new class to override the Db Handle (the Mysql class) DESTROY method. The
      other alternative is to add special code anywhere where the database handle
      could be destroyed which is when every a reconnect is done and when the
      module exists.  The later would have involved putting code in the END block.
      I think the new class method is simpler for that reason.
      
      
      Also, add a note about patching Mysql.pm in doc/UPDATING.
      7293bbc0
  3. 31 Aug, 2006 1 commit
    • Kevin Atkinson's avatar
      · 964b8d11
      Kevin Atkinson authored
      Add patch to modify Mysql.pm to allow setting the "InactiveDestroy" in
      the underlying DB handle.  Also avoid disconnecting the file handle
      explistly on DESTROY as that will be taken care of in the DESTROY
      method for the the DB handle.
      
      Override perl version of fork() to set InactiveDestroy in all open
      database handles in the child so that it won't send a disconnect when
      the handle is destroyed as this will also close the database handle
      for the parent.  It will also call tblog_new_child_process in the
      child process to properly inform tblog of the new process. This will
      be a NoOp if the libtblog module is not loaded.
      964b8d11
  4. 16 Aug, 2006 1 commit
    • Kevin Atkinson's avatar
      - Added tbreport database schema (added three tables), storage for · 9c5d3308
      Kevin Atkinson authored
        tbreport errors & context.
      
      - Modified fatal() in swapexp, batchexp, and tbprerun, and die_noretry()
        in os_setup to pass hash parameter to tblog functions.
      
      - Added tbreport errror & context information for select errors in
        swapexp, tbswap, assign_wrapper2, snmpit_lib, snmpit, batchexp,
        assign_wrapper, os_setup, parse-ns, & tbprerun.
      
      - Added assign error parser in assign_wrapper2.
      
      - Added parse.tcl error parser in parse-ns.
      
      - Added severity constants for tbreport in libtblog_simple.
      
      - Added tbreport() function & context table mappging for reporting
        discrete error types to libtblog.
      9c5d3308
  5. 14 Aug, 2006 1 commit
    • Kevin Atkinson's avatar
      · 07dda0d8
      Kevin Atkinson authored
      Prep for Mike Kasick report code.  Updated database schema and
      installed hooks for his code.
      
      Cleaned up how errors were handled in tblog(...).
      
      Allow SENDMAIL to be called before the path is untained in '-T' scripts.
      
      Other small changes.
      07dda0d8
  6. 21 Mar, 2006 1 commit
    • Kevin Atkinson's avatar
      · d258dde6
      Kevin Atkinson authored
      Changed format of email sent to user on errors.  The error will now
      appear instead of the generic message when I am confident it is
      accurate.  The subject line will also change to reflect the cause of
      an error.
      
      Avoid sending mail to testbed-ops during failed swap related evenets
      in some cases.  It will instead be sent to a new mailing list
      testbed-errors.
      
      Added a new row in the experiment info table "Last Error:" which
      states the cause of the error, and links to a new page displaying the
      error.
      
      Made some assign/assign_wrapper errors more informative.
      
      The error (as determined by tblog) is now stored in the database in a
      more structured fashion.  This inlcudes adding a column for the session
      (in the log table) to testbed_stats to link eash swap event with the
      logs and possible the error.
      
      Other changes to the database, see sql/database-migrate.txt
      d258dde6
  7. 26 Jan, 2006 1 commit
    • Kevin Atkinson's avatar
      · 05015359
      Kevin Atkinson authored
      Merged in changes from tblog-2-branch:
      
                Move parts of libtblog into libtblog_simple.  Libtblog simple
                provided the basic logging functions but doesn't touch anything.
                Moreover including libtblog_simple doesn't automatically start
                the logging subsystem.  It also doesn't have testbed dependencies
                which mean 1) it can be used in the core testbed libraries (such
                as libdb, libtestbed) without introducing a circular dependency
                and 2) can be used independently.
      
                Reworked DBFatal and DBWarn to use tblog.  It will still email
                testbed-ops, however.
      
                Make use of the "cause" field to determine the cause of the bug.
                In particular tblog_find_error will look at the value of this
                field and report the "cause".  In the future different actions
                can be taken based on the ultimate "cause" of the bug, such as if
                testbed-ops should be notified.
      
                Change format of Error Message reported by libtblog.  As per the
                email "Format or Error Messages" ro testbed-dev.
      
                Have libtblog use its own Database handle to avoid problems with
                locked tables.
      
                Also set DBCONN_MAXTRIES to 3 for most important queries.  For
                queries that are not important don't send mail on error.
      05015359