1. 07 Dec, 2012 1 commit
  2. 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
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
  3. 30 Apr, 2012 2 commits
  4. 25 May, 2011 1 commit
  5. 31 Aug, 2010 2 commits
    • Mike Hibler's avatar
      Sigh...fix another instance of $PWD being incorrect. · 03fb3921
      Mike Hibler authored
      You would think I would have got this right, since I got bit by this
      just a week ago!  Long-term memory...who needs it!
    • Mike Hibler's avatar
      Update NS version used by nsverify from 2.29 to 2.34. · 063b2e02
      Mike Hibler authored
      This allows nsverify to be built on FreeBSD 7+.  Based on patches from John
      Hickey <jhickey@isi.edu> and Serge van Ginderachter <serge@vanginderachter.be>,
      thanks guys!
      I also moved all the logic for downloading/patching the tarball from the
      GNUmakefile into ns-patch.sh to bring this in line with our other third-party
      packages that do the same.  This is in pursuit of one day having a GUDS
      (Grand Unified Download Script).
  6. 02 Aug, 2007 1 commit
  7. 07 May, 2007 1 commit
  8. 19 Jan, 2007 1 commit
  9. 01 Dec, 2006 1 commit
  10. 25 Oct, 2006 1 commit
    • Leigh B. Stoller's avatar
      Makefile Whacking! Try to deal with the problem caused by the delay · 7590f9c5
      Leigh B. Stoller authored
      between when something is installed and when post-install runs. Short
      of a global lock (which we probably need anyway someday), my solution
      is this. In your makefiles, add these variables before the line that
      has the include of $(TESTBED_SRCDIR)/GNUmakerules:
      I have added three new rules to GNUmakerules that look like this:
      	$(addprefix $(SBINDIR)/, $(SETUID_SBIN_SCRIPTS)): $(SBINDIR)/%: %
      		echo "Installing (setuid) $<"
      		-mkdir -p $(INSTALL_SBINDIR)
      		$(SUDO) $(INSTALL) -o root -m 4755 $< $@
      Yep, your eyes ain't lying to you; use sudo to run the target so that
      install does the right thing (which is that the old file is not
      replaced until the new one has the proper attributes on it).
      Note that post-install is still needed for the initial install, but
      should no longer be needed for day to day installs since all that other
      stuff post-install does is mkdir/chmod on directories.
  11. 20 Oct, 2006 1 commit
    • Mike Hibler's avatar
      Wow, this should make me look important! · afa5e919
      Mike Hibler authored
      Two-day boondoggle to support "/scratch", an optional large, shared filesystem
      for users.  To do this, I needed to find all the instances where /proj is used
      and behave accordingly.  The boondoggle part was the decision to gather up all
      the hardwired instances of shared directory names ("/proj", "/users", etc.)
      so that they are set in a common place (via unexposed configure variables).
      This is a boondoggle because:
      1. I didn't change the client-side scripts.  They need a different mechanism
         (e.g., tmcd) to get the info, configure is the wrong way.
      2. Even if I had done #1 it is likely--no, certain--that something would
         fail if you tried to rename "/proj" to be "/mike".  These names are just
         too ingrained.
      3. We may not even use "/scratch" as it turns out.
      Note, I also didn't fix any of the .html documentation.  Anyway, it is done.
      To maintain my illusion in the future you should:
      1. Have perl scripts include "use libtestbed" and use the defined PROJROOT(),
         et.al. functions where possible.  If not possible, make sure they run
         through configure and use @PROJROOT_DIR@, etc.
      2. Use the configure method for python, C, php and other languages.
      3. There are perl (TBValidUserDir) and php (VALIDUSERPATH) functions which
         you should call to determine if an NS, template parameter, tarball or
         other file are in "an acceptable location."  Use these functions where
         possible.  They know about the optional "scratch" filesystem.  Note that
         the perl function is over-engineered to handles cases that don't occur
         in nature.
  12. 17 Oct, 2006 2 commits
  13. 20 Sep, 2006 1 commit
    • Leigh B. Stoller's avatar
      By popular demand, you can now force a swap modify to be done when · b9161642
      Leigh B. Stoller authored
      doing a Start Run. On the web page, there is a new checkbox, and
      on ops, template_startrun takes a new -m option.
      Caveat: You cannot specify a new NS file, yet. The original file is
      reparsed, and the idea is that a change in the template parameters
      will result in a change to the topology. I will add the ability to
      specify a new NS file in the next revision of this change.
      If you really really want to change the NS file, go to
      /proj/$pid/exp/$eid/archive/nsdata and edit nsfile.ns ...
      In addtion, DATASTORE is now defined while parsing the NS file. This
      turned to be quite the headache!
  14. 27 Mar, 2006 1 commit
  15. 16 Mar, 2006 1 commit
  16. 09 Feb, 2006 2 commits
    • Kevin Atkinson's avatar
      Changed tbdie to die if before "require libtblog". · 86b15235
      Kevin Atkinson authored
      Fixed a few calls to tbwarn/tberror/tbdie to get better results.
      Include Cause & Confidence rating in the error string stored in the
      database for future reference.
    • Timothy Stack's avatar
      Some nsverify fixes: · 2cc2c944
      Timothy Stack authored
      	* tbsetup/ns2ir/nstb_compat.tcl: Change tb-set-node-startcmd to
      	actually create the program agent.  Add an "unknown" instproc for
      	LanNode so "mustdelay" and whatever else works.
      	* tbsetup/nsverify/ns-2.27.patch, tbsetup/nsverify/ns-2.29.patch:
      	Use real_set when setting last_host/last_whateva.
      	* tbsetup/nsverify/nstbparse.in: Don't do a rename for
      	* tbsetup/nsverify/tb_compat.tcl: Match behavior in the NS parser
      	where the user manually sets/clears red_/gred_ in a queue object.
      	Also need to output "h" lines for node objects that weren't stored
      	in a global variable and so only have an internal name.
  17. 07 Feb, 2006 1 commit
  18. 06 Feb, 2006 1 commit
  19. 26 Jan, 2006 1 commit
    • Timothy Stack's avatar
      For the real NS parser, simulate the way raw object names work in the · f91efbbe
      Timothy Stack authored
      testbed parser.  For example, in:
        set node [$ns node]
      The "set" creates a variable named node, but the testbed parser also
      renames the object to be "node".  Doing a similar rename is hard in
      the real NS parser since we have to change any existing references to
      the object.  Instead, we dynamically create a procedure with the name
      that forwards methods to the actual object.
      And so, the corrupting of my soul continues.
  20. 23 Jan, 2006 1 commit
    • Timothy Stack's avatar
      · add602df
      Timothy Stack authored
      Parse the NS file with the real NS parser so we can make sure linktest is
      doing the "right" thing.
      	* configure, configure.in: Add tbsetup/nsverify files.
      	* tbsetup/GNUmakefile.in: Add nsverify subdir.
      	* tbsetup/tbprerun.in: Run verify-ns on the experiments NS file.
      	* tbsetup/ns2ir/nstb_compat.tcl: Bring up-to-date with the current
      	* tbsetup/nsverify/GNUmakefile.in: Makefile.
      	* tbsetup/nsverify/ns-2.27.patch: Patch file for NS version 2.27.
      	* tbsetup/nsverify/nstbparse.in: Wrapper for the NS parser.
      	* tbsetup/nsverify/tb_compat.tcl: Different version of
      	tb_compat.tcl that is used to verify linktest parameters.
      	* tbsetup/nsverify/verify-ns.in: Script that runs on boss and
      	verifies that the testbed parser worked correctly.
      	* tbsetup/ns2ir/parse-ns.in, tbsetup/ns2ir/parse.proxy.in: Tweaked
      	a bit so parse.proxy can be used to run the regular NS parser in
      	addition to the testbed one.