1. 13 Apr, 2010 1 commit
  2. 12 Apr, 2010 1 commit
  3. 08 Apr, 2010 3 commits
  4. 29 Mar, 2010 2 commits
  5. 22 Mar, 2010 1 commit
    • Leigh B Stoller's avatar
      Finish up user deletion. The big visible change is that when a user is · 2965922b
      Leigh B Stoller authored
      deleted, they still remain in the user table with a status of
      "archived", but since all the queries in the system now use uid_idx
      instead of uid, it is safe to reuse a uid since they are no longer
      ambiguous. 
      
      The reason for not deleting users from the users table is so that the
      stats records can refer to the original record (who was that person
      named "mike"). This is very handy and worth the additional effort it
      has taken.
      
      There is no way to ressurect a user, but it would not be hard to add.
      2965922b
  6. 08 Feb, 2010 1 commit
  7. 03 Feb, 2010 1 commit
  8. 05 Jan, 2010 1 commit
  9. 14 Dec, 2009 1 commit
  10. 07 Dec, 2009 2 commits
  11. 01 Dec, 2009 1 commit
  12. 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
  13. 05 Oct, 2009 3 commits
  14. 29 Sep, 2009 1 commit
  15. 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
  16. 07 Aug, 2009 3 commits
  17. 04 Aug, 2009 1 commit
  18. 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
  19. 01 Apr, 2009 1 commit
  20. 20 Mar, 2009 1 commit
  21. 18 Mar, 2009 1 commit
  22. 11 Feb, 2009 1 commit
  23. 02 Feb, 2009 1 commit
  24. 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
  25. 07 Jan, 2009 1 commit
    • Leigh B. Stoller's avatar
      Various changes to support storing control network vlans in · f55e466c
      Leigh B. Stoller authored
      the DB, and eventually elabinelab firewalls.
      
             # Allow arbitrary the names for the ids. Forgot who wanted this.
             alter table elabinelab_vlans change `inner_id`
                      `inner_id` varchar(32) NOT NULL default '';
             alter table elabinelab_vlans change `outer_id`
                      `outer_id` varchar(32) NOT NULL default '';
      
             # Tag elabinelab created vlans with the stack module.
             alter table elabinelab_vlans add `stack`
                 enum('Control','Experimental') NOT NULL default 'Experimental';
      
             # Tag vlans softstate table with the stack module.
             alter table vlans add `stack`
                 enum('Control','Experimental') NOT NULL default 'Experimental';
      
             # A new table, to store softstate on interfaces. snmpit will
             # modify this table whenever a port is enabled/trunked(tagged)
             # on the command line. Eventually speed/duplex should go here.
             CREATE TABLE `interface_state` (
      	  `node_id` varchar(32) NOT NULL default '',
      	  `card` tinyint(3) unsigned NOT NULL default '0',
      	  `port` tinyint(3) unsigned NOT NULL default '0',
      	  `iface` varchar(32) NOT NULL,
      	  `enabled` tinyint(1) default '1',
      	  `tagged` tinyint(1) default '0',
      	  PRIMARY KEY  (`node_id`,`card`,`port`),
      	  KEY `nodeiface` (`node_id`,`iface`)
      	) ENGINE=MyISAM DEFAULT CHARSET=latin1;
      
      	# Initialize the above table.
      	insert into interface_state (node_id,card,port,iface)
      	   select node_id,card,port,iface from interfaces;
      
      	# Cleanup the vlans table which was filling with cruft
      	# cause of a bug in the swapout code. Finally figured
      	# out how to combine delete and join!
      	delete v FROM vlans v LEFT JOIN lans l on l.lanid=v.id
      	       WHERE l.lanid IS NULL;
      
              # Fix an unrelated bug; slot overflow.
              alter table nodelog change `log_id`
                      `log_id` int(10) unsigned NOT NULL auto_increment;
      f55e466c
  26. 11 Dec, 2008 1 commit
  27. 08 Dec, 2008 1 commit
  28. 04 Dec, 2008 1 commit
  29. 17 Nov, 2008 1 commit
    • Leigh B. Stoller's avatar
      Minor changes to user certs to support certificate revocation lists · 4809cd65
      Leigh B. Stoller authored
      in the protogeni code. We no longer save the unencrypted certs after
      they are revoked, since protogeni will ignore them. I redid the the
      DB table as well, adding a revoked stamp, and the DN so that we can
      generate the CRL list from the DB directly, without having to run them
      all through openssl.
      
      This commit requires all certs to be regenerated, and the ssl xmlrpc
      server to be restarted.
      4809cd65
  30. 20 Oct, 2008 1 commit
  31. 17 Oct, 2008 1 commit
  32. 28 Aug, 2008 1 commit