1. 30 Aug, 2017 3 commits
  2. 23 Aug, 2017 3 commits
  3. 18 Aug, 2017 2 commits
    • Leigh Stoller's avatar
      Fix to previous revision. · 1dfe10c8
      Leigh Stoller authored
      1dfe10c8
    • Leigh Stoller's avatar
      Work on wires table schema change, but lots of other stuff: · 332c8b81
      Leigh Stoller authored
      1. Beef up MakeFake in Interface/Wires and use that from Port library
         instead of existing fake stuff.
      
      2. Add a Create routine for wires, remove all the direct insertions
         scattered around the code.
      
      3. Add some Lookup routines, so we can remove a bunch of direct queries
         to the DB scattered around the code.
      
      4. Add a trivial wrapper Interface::Type, and give it one useful
         function for now, to map generic speed to interface object.
      332c8b81
  4. 14 Aug, 2017 1 commit
    • Leigh Stoller's avatar
      Initial part of the Wires table overhaul; new script updatewires does · 2bb703d7
      Leigh Stoller authored
      sanity checking on the interfaces and wires tables, creates interfaces
      for the switch side of all wires, as well as any other missing
      interfaces for wires. Eventually the primary key for the wires table
      will be node_id1,iface1,node_id2,iface2, but we are ways off from that.
      
      Not that wires between switches that do not have an existing for at
      least one side, are not handled yet since there is not enough
      information to generate the two missing interfaces. Have to think about
      that, but not a problem for now.
      2bb703d7
  5. 09 Aug, 2017 1 commit
    • Leigh Stoller's avatar
      Various changes to MLE support, related to issue #317: · 57def35b
      Leigh Stoller authored
      1. We now allow lans to be implemented by a path. We did not allow this
         before, cause some of the sanity checking code was a pain to
         implement for lans. Well, no more sanity checking, the user is
         responsible for doing things correctly (after all, they are doing
         experiments with their own switches!).
      
      2. We now allow topologies with more then one switch to be wired
         together. The wires between switches are marked as "trunk" wires,
         which informs the configuration generation code in libosload_switch
         to create the trunks and do the little tagged/untagged magic that is
         required on procurve switches. The same information is used to mark
         the the logical wires between switches as trunks.
      
         Aside: this stuff needs some work; we have spanning tree on by
         default, which causes the trunks to not work correctly. When I turn
         that off, things start working. So need some help from others who now
         about spanning tree stuff.
      
      3. Serious kludging in the Interface and Port libraries related to
         choice of primary keys in the wires table. In order to insert a
         logical wire (or interface) that represents a connection setup by the
         apcon, we have to overload the primary key since the node_id1 side of
         the logical wires is the same as the physical wire to the apcon. We
         have to have overload the node_id2 side too, but that is really just
         a problem when wiring two switches together. Anyway, the kludge just
         maps card1 to a different id, and the Port library unmaps it. It will
         do for now, but really need logical wires to be done better then
         this.
      57def35b
  6. 01 Feb, 2017 1 commit
  7. 07 Jun, 2016 1 commit
  8. 22 Feb, 2016 1 commit
  9. 09 Aug, 2014 1 commit
  10. 06 Jun, 2014 1 commit
  11. 14 May, 2014 1 commit
  12. 07 Apr, 2014 1 commit
  13. 30 Apr, 2013 1 commit
  14. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  15. 28 Aug, 2012 1 commit
  16. 27 Aug, 2012 1 commit
  17. 01 Aug, 2012 1 commit
  18. 30 Jul, 2012 1 commit
  19. 17 Jul, 2012 1 commit
  20. 17 May, 2012 1 commit
  21. 16 May, 2012 1 commit
    • Leigh Stoller's avatar
      Another protogeni checkbox; scriptify and simplify adding "special" · cf517af6
      Leigh Stoller authored
      devices with network interfaces. Emulab's spp and bbg nodes are
      examples, but I did all that by hand inserting sql. An spp node is a
      shared node with some interfaces. Users can allocate one or more of
      those interfaces and establish vlans to the interfaces. The node is a
      "fakenode" in "shared" mode, and everything else falls out. The mapper
      assigns virtual nodes until all of the interfaces are allocated,
      snmpit does its work on the interfaces, and the user then does the
      rest.
      
      Anyway, to added a special device:
      
        boss> wap addspecialdevice -s -t goober goober1
      
      The -t argument is the name of the node type, created if it does not
      exists. The last argument is the name of the fakenode to create in the
      DB. The -s option says the special device is shared. Without -s, the
      device is allocated exclusively.
      
      Then to add interfaces to the device:
      
        boss> wap addspecialiface -b 1Gb -s cisco4,100,100 goober1 eth0
      
      The -b option is the speed (either 100Mb or 1Gb). The -s option is the
      switch side of the interface (switchname,card,port). The last two
      arguments are the nodename and iface name for the interfaces table.
      
      After the interface and wires table entry are added to the DB, snmpit
      is called to put the switch port into tagged mode (if the node is
      shared). To skip the snmpit step, add the -t option.
      cf517af6
  22. 03 May, 2012 1 commit
    • Leigh Stoller's avatar
      Add support for fully initializing the ilo on geni rack nodes. · 164da3ba
      Leigh Stoller authored
      The basic operational model is as follows.
      
      * We turn the nodes on.
      
      * Since there is nothing on the disks, they will fall through to
        booting from the PXE and will boot the newnode MFS. They all check
        in.
      
      * We run Jon's script that adds the nodes. They are now in hwdown,
        still nothing on the disks.
      
      * We run my script, which is driven from a datafile we are supposed to
        get from HP. This script has the ilomac, ilopswd, control mac. I
        will add another column initially; the permanent IP to assign to the
        ilo. This script does:
      
       + Reads the datafile to get all the stuff.
       + Reads the dhcpd.leases file to find the temporary IPs of the ilos.
       + Finds the corresponding nodes in the DB.
       + Sends over an XML file that does the following:
           - Add the elabman user.
           - Add local root's dsa pub key to the new elabman user.
           - Add Utah's root dsa key to the Administrator user
           - Sets the power on mode to auto (so that the node turns on!).
           - Sets the idle timeout to 2 hours.
       + Sets the bootorder so that PXE is first. This has to be done
         with ssh and some expect stuff I culled from power_ilo. Sigh.
       + Calls out to another script that adds the ilo interface to the
         DB (this is the management_iface script I did last month).
       + Sends another XML file that tells the ilo to reset itself, so that
         it picks up its permanent IP address.
      
      * Now we can free the nodes from hwdown.
      164da3ba
  23. 09 Apr, 2012 1 commit
  24. 27 Mar, 2012 2 commits
  25. 28 Sep, 2011 1 commit
  26. 20 Sep, 2011 1 commit
  27. 12 May, 2011 1 commit
  28. 11 May, 2011 1 commit
  29. 05 May, 2011 2 commits
  30. 22 Jul, 2010 1 commit
  31. 26 Feb, 2010 1 commit
  32. 23 Feb, 2010 1 commit
  33. 12 Jan, 2010 1 commit