1. 27 Apr, 2005 3 commits
    • Leigh B. Stoller's avatar
      Allow override of OSID in elabinelab experiments. Like this: · 67fca12d
      Leigh B. Stoller authored
      	source tb_compat.tcl
      	set ns [new Simulator]
      
      	tb-elab-in-elab 1
      
      	namespace eval TBCOMPAT {
      	    set elabinelab_maxpcs 1
      	    set elabinelab_nodeos(myboss) FBSD47-STD
      	    set elabinelab_nodeos(myops) FBSD47-STD
      	    set elabinelab_nodeos(mypc1) FBSD47-STD
      	}
      	$ns run
      67fca12d
    • Leigh B. Stoller's avatar
      A set of changes to allow the newnode path (MFS and adding nodes) to · 94d97303
      Leigh B. Stoller authored
      work inside ElabInElab.
      
      The crux of this is to emulate what switchmac does when incorporating nodes
      into the testbed. Rather then using snmpit to ask the switches for MAC info,
      we can just ask outer emulab via the proxy to get that same info from the
      DB. Note, there are no changes to the newnode MFS; it will boot and happily
      report it after launching teachswitch, but those packets are harmless to the situation.
      
      Another wrinkle is that we need the outer emulab to tell us which
      interfaces are control and which are experimental, since inside there
      is no real way to determine that. I did this by overloading the final
      field in the return from switchmac, and using that to override the
      "role" setting that utils/newnode would normally choose on its own.
      
      There is another new routine in the XMLRPC server that is intended to
      be used for bypassing the newnode path. This is not hooked into
      anything yet, but the intent is that rather then using the web
      interface to "add" nodes, we just return everything needed to seed the
      new_nodes and new_interfaces table, and then run newnodes directly.
      94d97303
    • Leigh B. Stoller's avatar
  2. 26 Apr, 2005 5 commits
    • Robert Ricci's avatar
      Start of a simple Genetic Algorithm core. · bcf2eb6a
      Robert Ricci authored
      I've sucesfully used this core to 'evolve' a sorted list of 18
      elements. It takes negligible time, and ~100 generations.
      
      Right now, I am only using mutation, not crossover. To do crossover,
      I'm going to have to start studying permutation encoding.
      bcf2eb6a
    • Leigh B. Stoller's avatar
      A watchdog daemon to try and catch (and recover from) the periodic · c47cefa1
      Leigh B. Stoller authored
      mysqld hangs that cause the entire system to grind to a halt. The
      basic theory of operation is like this:
      
      * Once a minute fork a child (protected by a 60 second timeout) to
        connect to the DB and issue a simple query. If the child can access
        the DB okay, it exits with a zero status.
      
      * If the alarm fires, the child is killed. This indicates that mysqld
        is no longer responding in a reasonable amount of time (60 seconds).
        We shift into trying to restart mysqld:
      
           * Send mysqld a TERM. Wait for 30 seconds.
      
           * Try query again; typically, the situation will not have changed one
             bit, but I do it anyway.
      
           * If mysqld was running, send it a kill -9. Wait for 15 seconds.
      
           * Start mysqld. Wait for 5 seconds.
      
           * Try query again. If query succeeds, we are done, and no one
             will have to deal with it Sunday morning at 6am (thanks Tim).
      
           * If query still fails, send email and give up trying to do fix
             anything. The daemon continues to query the DB once a minute;
             once the query succeeds (cause a human fixed things up), the
             daemon goes back into its normal mode (attempt to fix things
             next time it fails).
      
      So, the problem is what happens when someone kills off mysqld for some
      other reason. It may be that this daemon should only try to restart
      mysqld if and only if, it actually killed a running mysqld. Comments?
      c47cefa1
    • Timothy Stack's avatar
      ab6ade3e
    • Leigh B. Stoller's avatar
      Trivial tweak to previous revision. · 7ddfa05b
      Leigh B. Stoller authored
      7ddfa05b
    • Leigh B. Stoller's avatar
      Add a bullet item on directories created in /groups and how to use · 8ffda10b
      Leigh B. Stoller authored
      that to keep files private to each subgroup.
      8ffda10b
  3. 25 Apr, 2005 9 commits
  4. 22 Apr, 2005 9 commits
  5. 21 Apr, 2005 1 commit
  6. 20 Apr, 2005 6 commits
  7. 19 Apr, 2005 1 commit
  8. 18 Apr, 2005 1 commit
  9. 15 Apr, 2005 5 commits