1. 01 Oct, 2010 1 commit
  2. 24 Sep, 2010 1 commit
  3. 23 Sep, 2010 1 commit
  4. 08 Jan, 2010 1 commit
  5. 11 Sep, 2009 1 commit
    • Robert Ricci's avatar
      Changed the way that snmpit decides what switches to operate on for the · 89be15ec
      Robert Ricci authored
      'tables', 'reset', and 'synctables' commands. Rather than assuming all
      VLANs live on the One True Experimental Net Stack (unless -S was given),
      they all now check the database to see which stack they should be operating
      on.
      
      Changed how stack information is currently stored in the database. The
      LAN attribute formerly known as 'stack' is now called 'class', and has
      two valid values, 'Experimental' and 'Control'. The idea is to record
      whether something is an experimental net or control net LAN, not which
      specific stack it's on. The 'stack' column in the VLANs table now
      records the actual stack_id on which the VLAN has been created.
      
      This is all in support of testbeds that have multiple experimental-net
      stacks, as Utah currently does.
      89be15ec
  6. 23 Jul, 2009 1 commit
    • Leigh Stoller's avatar
      Some ne utility functions. · c3d9ebc4
      Leigh Stoller authored
      * portiface() to mape between pcX:Y<==>pcX:iface (port<==>iface).
      
      * getExperimentCurrentTrunks() to return the current set of interfaces
        (for the given experiment) that are in trunk mode, according to the
        interface_state table.
      
      * getExperimentVlanPorts() to return all the members (ports) of a
        specific vlan.
      c3d9ebc4
  7. 01 Jul, 2009 1 commit
  8. 11 Jun, 2009 1 commit
  9. 07 Jan, 2009 1 commit
  10. 21 Nov, 2008 1 commit
  11. 28 Jul, 2008 1 commit
  12. 14 Jan, 2008 1 commit
  13. 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
  14. 15 Aug, 2006 2 commits
  15. 18 Jul, 2006 1 commit
    • Leigh Stoller's avatar
      Changes necessary for moving most of the stuff in the node_types · 624a0364
      Leigh 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
  16. 16 Mar, 2006 1 commit
  17. 16 Feb, 2006 1 commit
  18. 09 Dec, 2005 1 commit
  19. 18 Nov, 2005 1 commit
    • Robert Ricci's avatar
      Make snmpit_cisco much, much more robust to failures. · 1236b544
      Robert Ricci authored
      Convert most SNMP interaction to use the snmpit*() library, so that
      they get support for retrying failures, etc.
      
      Add new library calls for wrapping bulkwalk() - so now, we will
      retry those on error as well. Before, we had the bad behavior than
      many functions, like listVlans() would just see empty lists instead
      of errors.
      
      When making a new Cisco object, we now test network connectivity right
      away, by fetching an OID that should exist on all SNMP devices. Before,
      we wouldn't find out we couldn't contact the switch until we actually
      did something on it.
      
      Also, make VLAN number choosing go a bit faster by converting it to
      bulkwalk() (using the new library function) so we can grab all VLAN
      numbers at once.
      1236b544
  20. 21 Jun, 2005 1 commit
  21. 26 May, 2005 1 commit
  22. 04 May, 2005 1 commit
  23. 20 Apr, 2005 1 commit
  24. 25 Mar, 2005 1 commit
  25. 12 Jan, 2005 1 commit
    • Robert Ricci's avatar
      Added support for a switch being in more than one stack at a time. · e189be0a
      Robert Ricci authored
      Each switch has a 'primary' stack that it belongs to if it's specified
      with the '-i' parameter. Otherwise, it can be considered to be a part
      of any of the stacks of which it's a member.
      
      The main point of this is so that we can have switches that are on
      both the control and experimental networks.
      
      Note: Having a VLAN with the same name on two overlapping stacks is
      like crossing the streams: that would be bad. Not "all life as you
      know it stopping instantaneously" bad, but snmpit might get confused.
      e189be0a
  26. 21 Dec, 2004 1 commit
  27. 03 Dec, 2004 2 commits
  28. 15 Nov, 2004 1 commit
    • Leigh Stoller's avatar
      A bunch of ElabInELab changes. · 10b116e0
      Leigh Stoller authored
      * snmpit: When ElabInELabis true, use the routines in the new
        snmpit_remote.pm library for setting up and tearing down vlans for an
        experiment. At present, only these two operations are proxied out to
        the outer emulab.
      
      * snmpit_remote.pm: A new little library that uses the XMLPRC server on
        the outer emulab to setup and destroy vlans for an inner experiment.
        This code is used from snmpit (see above).
      
      * snmpit_lib.pm: A couple of minor changes for the server side of the
        proxy operation.
      
      * snmpit.proxy.in: A new perl module that is invoked from the RPC
        server.  This proxy sets up and tears down vlans for an inner elab.
        The basic model is that the container experiment will have lots of
        vlans for various individual experiments running on the inner emulab.
      
      * swapexp: A couple of minor elabinelab hacks.
      
      * tbswap: For elabinelab experiments, reconfig/restart dhcpd when
        tearing down the experiment, and call out to new elabinelab script
        when setting up an elabinelab experiment. There is no provision for
        swapmod at this time.
      
      * elabinelab: A new script to create the inner emulab. Does all kinds of
        gross DB stuff then more gross stuff on the inner ops and boss.
      10b116e0
  29. 10 Nov, 2004 2 commits
  30. 01 Oct, 2004 1 commit
  31. 29 Sep, 2004 1 commit
  32. 22 Oct, 2003 1 commit
    • Robert Ricci's avatar
      Change the way the switch modules for snmpit get their configuration · c069a419
      Robert Ricci authored
      information. Rather than pass it all in, which was getting very
      cumbersome, and inconsistent between Cisco and Intel switches, the
      modules query the database themselves (via a new function in
      snmpit_lib.pm).
      
      Also in this commit are two new options for switch stacks - the
      ability to specify minimum and maximum VLAN number to use.
      c069a419
  33. 27 Aug, 2003 1 commit
  34. 15 Jul, 2003 1 commit
  35. 28 Apr, 2003 1 commit
  36. 06 Mar, 2003 1 commit
  37. 07 Feb, 2003 1 commit