1. 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
  2. 01 Apr, 2009 1 commit
  3. 20 Mar, 2009 1 commit
  4. 18 Mar, 2009 1 commit
  5. 11 Feb, 2009 1 commit
  6. 02 Feb, 2009 1 commit
  7. 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
  8. 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
  9. 11 Dec, 2008 1 commit
  10. 08 Dec, 2008 1 commit
  11. 04 Dec, 2008 1 commit
  12. 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
  13. 20 Oct, 2008 1 commit
  14. 17 Oct, 2008 1 commit
  15. 28 Aug, 2008 1 commit
  16. 19 Aug, 2008 1 commit
  17. 16 Jul, 2008 1 commit
  18. 10 Jul, 2008 2 commits
  19. 11 Jun, 2008 2 commits
  20. 03 Jun, 2008 1 commit
  21. 30 May, 2008 1 commit
  22. 20 May, 2008 1 commit
  23. 19 May, 2008 1 commit
  24. 13 May, 2008 1 commit
  25. 12 May, 2008 1 commit
  26. 17 Apr, 2008 3 commits
  27. 24 Mar, 2008 1 commit
  28. 21 Feb, 2008 1 commit
  29. 11 Feb, 2008 2 commits
  30. 09 Feb, 2008 1 commit
  31. 14 Jan, 2008 1 commit
  32. 10 Jan, 2008 2 commits
  33. 20 Dec, 2007 1 commit
  34. 26 Nov, 2007 1 commit