1. 18 Jul, 2006 2 commits
    • Leigh B. Stoller's avatar
      Changes necessary for moving most of the stuff in the node_types · 624a0364
      Leigh B. 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();
              my $rebootable = $nodeobject->isrebootable();
              $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.
    • Leigh B. Stoller's avatar
  2. 17 Jul, 2006 5 commits
  3. 14 Jul, 2006 9 commits
  4. 13 Jul, 2006 6 commits
  5. 11 Jul, 2006 7 commits
  6. 10 Jul, 2006 7 commits
  7. 08 Jul, 2006 1 commit
  8. 07 Jul, 2006 3 commits
    • Dan Gebhardt's avatar
      First "release" of automanage. · 7d62d520
      Dan Gebhardt authored
      - when a site has no available nodes or the bestnode. changes,
        measurements to this node are stopped from all others.
      - tests are started to a new node chosen for a site.
      - before a site's bestnode is selected, automanage verifies bgmon is
        running correctly on the node
      - pseudo-balanced latency initialization is done using randomly
        selected path directions between a node pair.
      - other misc. stuff.
    • Dan Gebhardt's avatar
      Added distributed start times during an INIT to spread out the scheduled test... · 26e5f364
      Dan Gebhardt authored
      Added distributed start times during an INIT to spread out the scheduled test times over half the desired period.
      Added error codes for determining "down paths" using a bw value of -1 or -3 to indicate a timeout or "unknown" (such as bad host name, no socket, etc..), respectively.
      Some other miscellaneous changes.
    • Jonathon Duerig's avatar
      Quick fix for a race condition in the auto-framework. This makes the race... · 96fda10d
      Jonathon Duerig authored
      Quick fix for a race condition in the auto-framework. This makes the race condition happen less, but it still happens. The real solution is to have the stub daemon-ize itself just before it is ready to accept connections.