1. 08 Feb, 2010 2 commits
  2. 04 Feb, 2010 1 commit
  3. 03 Feb, 2010 1 commit
  4. 07 Jan, 2010 2 commits
  5. 05 Jan, 2010 2 commits
  6. 14 Dec, 2009 2 commits
  7. 07 Dec, 2009 2 commits
  8. 02 Dec, 2009 1 commit
  9. 01 Dec, 2009 1 commit
  10. 02 Nov, 2009 1 commit
  11. 12 Oct, 2009 1 commit
    • David Johnson's avatar
      Add the ability to load images on virtnodes. For now, we just overload · c6c57bc9
      David Johnson authored
      the tb-set-node-os command with a second optional argument; if that is
      present, the first arg is the child OS and the second is the parent OS.
      We add some new features in ptopgen (OS-parentOSname-childOSname) based
      off a new table that maps which child OSes can run on which parents, and
      the right desires get added to match.  We setup the reloads in os_setup
      along with the parents.  Also needed a new opmode, RELOAD-PCVM, to handle
      all this.
      
      For now, users only have to specify that their images can run on pcvms, a
      special hack for which type the images can run on.  This makes sense in
      general since there is no point conditionalizing childOS loading on
      hardware type at the moment, but rather on parentOS.  Hopefully this stuff
      wiill mostly work on shared nodes too, although we'll have to be more
      aggressive on the client side garbage collecting old frisbee'd images for
      long-lived shared hosts.
      
      I only made these changes in libvtop, so assign_wrapper folks are left in
      the dark.
      
      Currently, the client side supports frisbee.  Only in openvz for now, and
      this probably breaks libvnode_xen.pm.  Also in here are some openvz
      improvements, like ability to sniff out which network is the public
      control net, and which is the fake virtual control net.
      c6c57bc9
  12. 05 Oct, 2009 4 commits
  13. 29 Sep, 2009 1 commit
  14. 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
  15. 07 Aug, 2009 3 commits
  16. 05 Aug, 2009 1 commit
  17. 04 Aug, 2009 3 commits
  18. 16 Jun, 2009 1 commit
  19. 12 Jun, 2009 1 commit
  20. 11 Jun, 2009 1 commit
    • Leigh B. Stoller's avatar
      Various changes to support shared nodes (a node that can be shared · 02661f36
      Leigh B. Stoller authored
      between experiments and projects using VMs (jail, vservers, openvz,
      etc).
      
      * Add new slot to virt_nodes called "sharing_mode". Only admins can set
        this, via the NS file, to create an experiment consisting of nodes
        that are shared. A text string, in case we want to support different
        kinds of sharing modes.
      
      * Add new slot to reserved called "sharing_mode". This is copied from
        the virt_nodes table as above. Also, virtnodes that are currently
        allocated to a shared node, get this slot set, so that the rest of
        the system knows.
      
      * Add a toklen to the "erole" slot of the reserved table, called
        "sharedhost"; erole is returned to the client when it boots, and
        this is how the client knows it is acting as a shared host. We could
        probably compute this value in tmcd, but I did not want to change
        that now.
      
      * Add new slot to interfaces called "trunk". This is set when an
        interface should be set to trunking by "snmpit -t". We previously
        used the vinterfaces table to determine this, but there are other
        cases when we want an interface to be trunked.
      
        Aside: there is a problem with this approach I realized later;
        trunked interfaces are essentially shared resources of multiple
        vlans, which does not play well with the vlan optimizations in
        swapmod.
      
      * Add new slot to vinterfaces called "bandwidth"; this is the amount
        of bandwidth that link is defined to use (via the NS file). This is
        used in resource scheduling of link bandwidth.
      
      * Add new slot to interface_state called "remaining_bandwidth". For a
        shared node, we have to reserve both the nodes and the link bandwidth.
        We use this slot (with locking) from the mapper_wrapper to make sure that
        the link has not been consumed already by another assignment running at
        the same time.
      
      * Add new tokens "veth-ne", "veth-en", and "vlans" to the osfeatures slot
        of the os_info table. veth-en (encap) and veth-ne (no-encap) are intended
        to replace the current "veths" feature. "vlans" is set for OSs that
        support vlan devices.
      
      * Fix the primary key on the linkdelays table; it needed to have the
        exptidx in the key so that we can allocated linkdelays for different
        experiments to the same node.
      02661f36
  21. 01 Apr, 2009 1 commit
  22. 20 Mar, 2009 1 commit
  23. 18 Mar, 2009 1 commit
  24. 11 Feb, 2009 1 commit
  25. 09 Feb, 2009 1 commit
  26. 02 Feb, 2009 1 commit
  27. 30 Jan, 2009 1 commit
  28. 21 Jan, 2009 1 commit
    • Leigh B. Stoller's avatar
      Switch the DB migration method form instructions to database-migrate.txt, · 75d8a6b9
      Leigh B. Stoller authored
      to numbered update scripts. To install updates:
      
      	boss> cd /your/srcdir/sql/updates
      	boss> perl /your/objdir/db/dbupdate tbdb
      
      For developers, please look in the sql/updates/4/1 file for an example
      of how to do updates. For each revision in database-create.sql, create
      a corresponding script and add it to the repository. The scripts will
      be applied in numeric order (see db/dbupdate.in), starting with the
      version recorded in the version_info table. This table is updated by
      dbupdate as it runs each script.
      75d8a6b9