1. 21 Jan, 2009 1 commit
    • Leigh Stoller's avatar
      Switch the DB migration method form instructions to database-migrate.txt, · 75d8a6b9
      Leigh 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
  2. 07 Jan, 2009 1 commit
    • Leigh Stoller's avatar
      Various changes to support storing control network vlans in · f55e466c
      Leigh 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
  3. 11 Dec, 2008 1 commit
  4. 08 Dec, 2008 1 commit
  5. 04 Dec, 2008 1 commit
  6. 17 Nov, 2008 1 commit
    • Leigh Stoller's avatar
      Minor changes to user certs to support certificate revocation lists · 4809cd65
      Leigh 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
  7. 20 Oct, 2008 1 commit
  8. 17 Oct, 2008 1 commit
  9. 28 Aug, 2008 1 commit
  10. 19 Aug, 2008 1 commit
  11. 28 Jul, 2008 1 commit
  12. 16 Jul, 2008 1 commit
  13. 10 Jul, 2008 2 commits
  14. 08 Jul, 2008 1 commit
  15. 05 Jul, 2008 1 commit
  16. 11 Jun, 2008 2 commits
    • Kevin Atkinson's avatar
      · 425c4b89
      Kevin Atkinson authored
      Set the charset for all emulab pages to utf-8 which is needed to
      display foreign names correctly.  Also added three rows to table_regex:
      tinytext_utf8, text_utf8, fulltext_utf8
      
      Enhanced form_defs.php:
      
        - Add Support for Textarea
      
        - Add Support for a vertical list, for example see Category in
          submitpub.php
      
        - Add support for dumping the form values in plain text, used in the
          email I send to testbed-ops.
      
        - Change Error Reporting text for subfields such as in a list so
          they also include the text from the outer field, for example in
          newosid "ping" will become "OS Features, ping".  I needed this
          since some of my subfields didn't have labels and it seamed like
          the right thing to do.
      
        - Set #return_value to 1 in FormRenderCheckBox if it not already
          specified
      
        - In FormRenderSelect, if the #value is not in the list add it to
          the end.
      
        - Add support for "display" type, to just display some text in the
          table
      
        - Possibly some other little things I forgot about.
      
      New site variable PUBSUPPORT.
      
      Implement FS#201: Provide users a way to add a paper that used Emulab
      see (https://users.emulab.net/flyspray/?do=details&id=201), summary of
      changes:
      
        - Controlled via the new site variable PUBSUPPORT.
      
        - The emulab_papers spread sheet is now frozen all new changes
          should be made using the new system.
      
        - New pages submitpub.php for users to submit a new publication
          with different views for admins and non-admins.
      
        - New page expubs.php to replace doc/expubs.html, lists publications
          in database.  Also allows admins to edit publications.
      
        - Project members can edit papers associated with the project as
          long as they have local_root or higher privileges. Papers for a
          project are listed under a new tab in the showproject page. I keep
          track of the last person to edit the paper submission in addition
          to who initially submitted it.
      
        - Users can modify papers they submitted which is needed if the
          project was N/A. Papers users submitted now appear in a new tab in
          the showuser page.
      
        - Script to import spreadsheet to the database is in
          utah/bibliography/emulab_pubs-import.pl.
      
        - Changes web pages that point to doc/expubs.html to instead point
          to expubs.php
      425c4b89
    • Leigh Stoller's avatar
      Add uuids to the interfaces table. · 357df448
      Leigh Stoller authored
      357df448
  17. 03 Jun, 2008 1 commit
  18. 30 May, 2008 1 commit
  19. 20 May, 2008 1 commit
  20. 19 May, 2008 1 commit
  21. 13 May, 2008 2 commits
  22. 12 May, 2008 1 commit
  23. 17 Apr, 2008 3 commits
  24. 24 Mar, 2008 1 commit
  25. 21 Feb, 2008 1 commit
  26. 11 Feb, 2008 2 commits
  27. 09 Feb, 2008 1 commit
  28. 14 Jan, 2008 1 commit
  29. 10 Jan, 2008 2 commits
  30. 20 Dec, 2007 1 commit
  31. 26 Nov, 2007 2 commits
  32. 06 Nov, 2007 1 commit
    • Leigh Stoller's avatar
      This started out as a simple change to turn the datastore into a CVS · c1cff09b
      Leigh Stoller authored
      sandbox, and that I did. It falls back to the older archive when
      the template is older then CVS repos.
      
      But along the way I got annoyed with the fact that template instantiation
      does not provide a logfile to the web interface. The reason is that
      the current logfile stuff is very experiment centric; there has to be an
      experiment and an attached logfile. An instance does not have an experiment
      until really late in the game so the code was just not bothering.
      
      Anyway, I've started to generalize the logfile stuff with a new table
      and the approach that a logfile is named by a random key, and if you
      know the key you can look at the logfile in the web (since without an
      experiment it is hard to do permission checks unless we make logfiles
      uid/gid owned, and I did not want to do that.
      c1cff09b