1. 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
  2. 28 Mar, 2012 1 commit
  3. 14 Apr, 2010 1 commit
    • Mike Hibler's avatar
      Reduce from 3 DB queries per node to 1 total query. · e4173cfa
      Mike Hibler authored
      Reduce the running time by 50%...from 1 second to 0.5 seconds.
      A marvel of pointless optimization!  At the time it seemed like it might
      matter, but the case that is really slow (requiring a call to nalloc per
      node) is still slow.  But it was a twenty minute diversion.
      e4173cfa
  4. 02 Aug, 2007 1 commit
  5. 06 Mar, 2007 1 commit
  6. 28 Apr, 2003 1 commit
  7. 14 Apr, 2003 2 commits
  8. 07 Dec, 2002 1 commit
  9. 07 Jul, 2002 1 commit
  10. 23 Aug, 2001 1 commit
    • Mac Newbold's avatar
      Lots of small changes for turning our 'require lib*' lines into 'use lib*'... · e2ed8a1c
      Mac Newbold authored
      Lots of small changes for turning our 'require lib*' lines into 'use lib*' lines. Proper modules declare themselves as a package, and use Exporter to export the names of the subroutines that should be visible from the outside world. Many of ours didn't do that, it was just a file with a bunch of subs in it. So now I've fixed many of them to be proper, and removed the requires and 'push(@INC,...)' hacks and changed it to the proper 'use lib @prefix@/lib/;' and use lib*.
      e2ed8a1c
  11. 10 Jul, 2001 1 commit
    • Mac Newbold's avatar
      Added sched_reserve. Works kind of like sched_reload, but for a reservation. · e1f4263c
      Mac Newbold authored
      Rob and I noticed that when we need to do maintainance to a node, its hard
      to grab it when it gets freed before it gets taken again. So this will allow
      admins to set up nodes so that when the current owner frees them, they
      immediately are moved into another experiment. For instance, if I need to do
      an upgrade on all the machines in the testbed, I can do:
      
      sched_reserve testbed down pc1 pc2 pc3 [...] pc40
      
      and it will immediately reserve any free nodes, skip any that are already
      in testbed/down, and add an entry to the next_reserve table for any nodes
      that are already reserved. Then nfree checks for entries in the next_reserve
      table before it lets any nodes go (much like it does for the reloads table),
      and moves them into the expt before it can get reserved again. So we can
      guarantee that the next time a node is freed, it will be saved for us.
      
      Note that this can also be useful to accumulate nodes for a large experiment,
      since you can make sure you get them as soon as the current owner is done.
      e1f4263c