1. 22 Dec, 2010 1 commit
  2. 14 Dec, 2010 2 commits
  3. 16 Oct, 2010 1 commit
    • Weibin Sun's avatar
      Apply changes on boss installation to the source: add isSwitchPort and... · 7bd594ea
      Weibin Sun authored
      Apply changes on boss installation to the source: add isSwitchPort and getVlanIfaces to snmpit_lib, isSwitchPort detects if a given port is on switch, getVlanIfaces get ports in a Vlan in iface format; call getVlanIfaces from getVlanPorts to reuse the code to find members in a VLAn; in convertPortFromIface, detect if a port is actually on switch and get the port in node:card.port format, but now the return value is still node:card because lots of code in snmpit and snmpit_lib heavily depend on the node:card format. In snmpit, check if a port is on switch before portControl and getInterfaceSettings to avoid errors cause by port-not-found. In snmpit_apcon, try to refine the given ports in setPortsVlan and portControl to deal with switch port, also a more robust function to translate port from pc node format to switch format.
      7bd594ea
  4. 01 Oct, 2010 1 commit
  5. 24 Sep, 2010 1 commit
  6. 23 Sep, 2010 1 commit
  7. 08 Jan, 2010 1 commit
  8. 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
  9. 23 Jul, 2009 1 commit
    • Leigh B. Stoller's avatar
      Some ne utility functions. · c3d9ebc4
      Leigh B. 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
  10. 01 Jul, 2009 1 commit
  11. 11 Jun, 2009 1 commit
  12. 07 Jan, 2009 1 commit
  13. 21 Nov, 2008 1 commit
  14. 28 Jul, 2008 1 commit
  15. 14 Jan, 2008 1 commit
  16. 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
  17. 15 Aug, 2006 2 commits
  18. 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
  19. 16 Mar, 2006 1 commit
  20. 16 Feb, 2006 1 commit
  21. 09 Dec, 2005 1 commit
  22. 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
  23. 21 Jun, 2005 1 commit
  24. 26 May, 2005 1 commit
  25. 04 May, 2005 1 commit
  26. 20 Apr, 2005 1 commit
  27. 25 Mar, 2005 1 commit
  28. 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
  29. 21 Dec, 2004 1 commit
  30. 03 Dec, 2004 2 commits
  31. 15 Nov, 2004 1 commit
    • Leigh B. Stoller's avatar
      A bunch of ElabInELab changes. · 10b116e0
      Leigh B. 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
  32. 10 Nov, 2004 2 commits
  33. 01 Oct, 2004 1 commit
  34. 29 Sep, 2004 1 commit
  35. 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
  36. 27 Aug, 2003 1 commit