1. 20 Jan, 2004 6 commits
  2. 17 Jan, 2004 1 commit
    • David Anderson's avatar
      Checkpoint commit. I've added the static-linked program "ltevent" to send · c6911250
      David Anderson authored
      and wait for linktest events, and integrated it into the perl scripts.
      
      At this point I'm working on small potatoes such as the rc.setup script
      to invoke linktest daemon and nailing down where to put platform-specific
      stuff such as the ns-linktest build and the customized tb-compat.
      
      Also am testing linktest in cases where I've deliberately inserted an error
      to make sure it catches it.
      c6911250
  3. 16 Jan, 2004 5 commits
  4. 15 Jan, 2004 9 commits
    • Leigh Stoller's avatar
      Back part of Mac's last revision since it breaks the parser. · 56139163
      Leigh Stoller authored
      No idea, just making it work.
      56139163
    • Mac Newbold's avatar
      libdb changes: · 78ad260c
      Mac Newbold authored
      - add functions to recursively dump hashes and arrays into a string
        suitable for printing as debugging output (great for data structures)
      
      - add three new trigger strings
      
      - add 'use strict', do corresponding cleanup
      
      stated changes:
      
      - move special-cased stuff in handleEvent for PXEBOOTING and BOOTING into
        triggers (PXEBOOTING, BOOTING, and CHECKGENISUP)
      
      - clarify (via comments) the existing kinds of triggers and which ones run
        when, and add a new kind (global "any-mode" triggers). We already had
        per-node mode-specific, per-node any-mode, and global mode-specific
        triggers. Now you can have a trigger that is good for any mode in a
        given state, that can be overridden on a mode-specific basis. This is
        great for PXEBOOTING, BOOTING, and ISUP, since they each have a trigger
        list that should be run regardless of what mode you're in. Now they only
        require 3 entries instead of 3*N that have to be maintained per mode.
      
           # A note about triggers:
           #
           # "per-node" triggers only affect their specific node in a
           # particular mode/state, and are run first of all. "global"
           # triggers are triggers for a given mode/state that affect all
           # nodes, and are run after any per-node triggers. "Any-mode"
           # triggers are tied to a state, and occur in that state in any
           # mode. The any-mode triggers are over-ridden by global triggers,
           # and if an "Any-mode" trigger for state XYZ exists as well as a
           # global trigger for mode FOOBAR state XYZ, then when I arrive in
           # XYZ any per-node triggers will be run. Then, if I'm in mode
           # FOOBAR, only the global trigger will run. If I'm in any other
           # mode, only the any-mode trigger will run.
      
           # (our "*" is stored as $TBANYMODE)
           # Per-node triggers have a specific node_id
           # Global triggers have "*" as the node_id
           # Any-mode triggers have "*" as the mode, and can be global or per-node
      
        The updated table looks like this in the accompanying change to
        database-fill.sql:
      
      +---------+----------+------------+-----------------------+
      | node_id | op_mode  | state      | trigger               |
      +---------+----------+------------+-----------------------+
      | *       | *        | BOOTING    | BOOTING, CHECKGENISUP |
      | *       | *        | ISUP       | RESET                 |
      | *       | *        | PXEBOOTING | PXEBOOT               |
      | *       | RELOAD   | RELOADDONE | RESET, RELOADDONE     |
      | *       | ALWAYSUP | SHUTDOWN   | ISUP                  |
      +---------+----------+------------+-----------------------+
      
      - I also cleaned up the functions that add, get, and delete triggers.
        Before, the get function didn't include global triggers. Now it does,
        and has an option to just get the per-node triggers. Add and delete are
        still just per-node, of course.
      
      - Also found and fixed some little bugs while I was in there. (global
        triggers not taking a list,
      
      These changes are me getting ready to re-add all the changes I made months
      ago in order to do a before-and-after experiment for my thesis. Between
      now and the end of next week I'll be working on taking before numbers,
      patching stated with the changes, and getting after numbers.
      
      The problems I'm trying to replicate are the problems and slowdowns we
      used to get when os_{load,setup} would reboot a node, thinking it had
      timed out, when it really didn't know whether it was making progress or
      not. The fix includes making os_{load,setup} depend on stated to watch for
      progress and timeouts, and do any appropriate retries. Part of that is the
      StateWait stuff, that lets programs watch for events easily, and the
      node_reboot-with-events stuff that puts stated in control of nodes as they
      reboot.
      78ad260c
    • Shashi Guruprasad's avatar
      cb802d48
    • Shashi Guruprasad's avatar
      One more bugfix. sendpkt() was being called with a wrong length even though · a59ebe6c
      Shashi Guruprasad authored
      the RAW_IP packet being sent had a different ip_len. This happened in the
      case of a nse topology that is disconnected due to how assign maps it. The
      encapsulated simulator packet was decapsulated even though it has to leave
      the physical node again. Under this circumstance, the decapsulated simulator
      packet size was used for RAW_IP send() instead of the size of the encapsulated
      packet.
      a59ebe6c
    • Leigh Stoller's avatar
      Change beginexp_html.php3 to invoke xml backend with a POST instead of · 02851d49
      Leigh Stoller authored
      GET to avoid GET size limitations. This should have been easy, but PHP
      has no native support for doing this, so takes a bit of mucking around
      with a direct socket connection to the server, and sending it the
      right headers, blah, blah, blah.
      
      Will make this live soon!
      02851d49
    • Leigh Stoller's avatar
      Update · c81a35d7
      Leigh Stoller authored
      c81a35d7
    • Shashi Guruprasad's avatar
      Allowing arbitrary strings in the event arguments field for NSEEVENT. These · 6df710cb
      Shashi Guruprasad authored
      are essentially Tcl strings that will be evaluated in nse. The old code
      will do its usual stuff if <name>=<val> type args are passed to tevc.
      6df710cb
    • Leigh Stoller's avatar
      Add "killmode" to frisbeelauncher to kill a running frisbee for an · 9dfea9fb
      Leigh Stoller authored
      imageid.  Uses new slot in the images table (frisbee_pid) to track
      running frisbee daemon for an image so that it can be killed from
      create-image (kill before creating new image) and from the web page
      before deleting an imageid.
      9dfea9fb
    • Mac Newbold's avatar
  5. 14 Jan, 2004 19 commits