1. 18 Jan, 2007 1 commit
  2. 20 Dec, 2006 1 commit
  3. 18 Jul, 2006 1 commit
    • 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();
      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
  4. 31 May, 2005 1 commit
    • Leigh B. Stoller's avatar
      A few more ELABINELAB related changes. The ordering of interfaces · 5f942a73
      Leigh B. Stoller authored
      might different, as reported by the newnode MFS. At present, I need
      the ordering (and thus, the iface names) to agree with the outer
      emulab since that is how I request vlans to be setup. This is not
      very pleasing, and I will probably have to change it to use MACs
      instead. For now, reorder the new_interfaces based on what switchmac
      (the proxy) tells us.
      5f942a73
  5. 27 Apr, 2005 1 commit
    • 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
  6. 10 Jun, 2004 1 commit
  7. 04 Jun, 2004 1 commit
  8. 28 Apr, 2004 1 commit
  9. 05 Nov, 2003 2 commits
  10. 10 Sep, 2003 1 commit
  11. 28 Jul, 2003 1 commit
  12. 17 Jul, 2003 1 commit
    • Robert Ricci's avatar
      Use card numbers rather than iface names. · b9bc3a5e
      Robert Ricci authored
      Provide a way to re-number interfaces, in case the MFS discovers
      them in something other than the preffered (ie. Linux) order.
      
      Use the switch class from showmac to avoid problems where there is
      leakage between the control and experimental net, so we see a MAC
      on both.
      
      Fix a dumb php bug - can you beleive the in_array() function wasn't
      in php3?
      b9bc3a5e
  13. 14 Jul, 2003 1 commit
    • Robert Ricci's avatar
      Web interface for autoconfiguring nodes. This consisits of two pages, · 6ad7d688
      Robert Ricci authored
      one that lists and allows operations on a number of nodes at once, and
      another that allows editing of an individual node.
      
      Split much of the functionality of newnodecheckin.php into a new
      library, so it can get re-called from newnodes_list.php3 later.
      
      Move where we look for MACs on the switches - instead of doing in in
      newnode, call it from newnodecheckin.php - this provides the admins
      more feedback as to what's going on, and allows them to call it again
      later or put the information in by hand.
      6ad7d688