1. 26 Jan, 2015 1 commit
  2. 20 Aug, 2014 1 commit
  3. 21 Oct, 2013 1 commit
  4. 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
  5. 01 Aug, 2012 1 commit
    • Mike Hibler's avatar
      Support 64-bit FreeBSD on the server side. · 9036d314
      Mike Hibler authored
      NOTE: currently only for FreeBSD 7.3 installs because that is the only
      set of boss/ops/fs packages I have built so far!
      
      This mostly involved minor changes to event agents. Too often we were
      passing a pointer to a "long" to *get_int32, which on a 64-bit x86 OS would
      fill the wrong half of a 64-bit variable. There was also one instance of
      TCL code that had to be tweaked to account for 32- vs 64-bit.
      
      These changes also required regeneration of SWIG stubs and an ugly change
      to the SWIG generated code to use va_copy rather than direct assignment in
      a couple of places.
      
      Also related to SWIG is ensuring that the components that go into the
      perl/python stub .so files are built with PIC. The amd64 linker requires
      this.
      
      The meta-ports had to be changed to reflect that linuxthreads and
      ulsshxmlrpcpp don't work on amd64. The former had little effect as we
      had mostly eliminated uses of linuxthreads already. The one thing that
      did change was that we do not build nfstrace on amd64 (and we don't
      currently use this anyway). Removing ulsshxmlrpcpp required switching
      to the new event scheduler (event/new_sched) that Ryan did awhile back.
      Note that it is only "new" in the sense that it uses a standard XMLRPC
      package, there should be no functional differences. However, to be safe
      we only use new_sched as the standard scheduler on 64-bit server installs.
      
      Finally, added support to elabinelab setup to do a 64-bit server install.
      Just specify FBSD73-64-STD as the boss/ops/fs osid and rc.mkelab should
      do the rest.
      
      That is pretty much it other than some random nits here and there.
      9036d314
  6. 30 Jan, 2012 1 commit
  7. 27 Jul, 2011 1 commit
  8. 19 Jul, 2011 1 commit
  9. 15 Apr, 2010 1 commit
  10. 31 Jul, 2007 1 commit
    • Kevin Atkinson's avatar
      · b2f12037
      Kevin Atkinson authored
      Fix bug where "archive" option was not correctly being recognized in
      "$ns report".
      b2f12037
  11. 25 May, 2007 1 commit
  12. 25 Apr, 2007 1 commit
    • Kevin Atkinson's avatar
      · 9c446bf8
      Kevin Atkinson authored
      Fix FS#151  "$ns report" get's called in seemingly random places"
      
      It turns out not to be random. Instead send_report is being called
      when something fails in a timeline. The intent here (I assume) is to
      inform the user of the error. Unfortunately this has several
      undesirable side-effects such as creating an unnecessary zip file and
      overwritten the existing contents of report.mail. I fixed this by
      creating a new function send_error_report which is like send report
      but doesn't have the undesirable side-effects.
      9c446bf8
  13. 23 Apr, 2007 1 commit
  14. 16 Apr, 2007 1 commit
  15. 22 Mar, 2007 1 commit
  16. 23 Feb, 2007 1 commit
  17. 07 Dec, 2006 2 commits
    • Kevin Atkinson's avatar
      · e00405bd
      Kevin Atkinson authored
      Removed duplicate declaration of make_timestamp in event-sched.h (also
      declared in util.h).
      e00405bd
    • Kevin Atkinson's avatar
      · 6703712b
      Kevin Atkinson authored
      Change timestamp output of event-sched to something human readable.
      
      Also add a small amount of debug output to "$ns report" to help me
      track down why it is being called at seemingly random places.
      6703712b
  18. 01 Dec, 2006 1 commit
  19. 13 Nov, 2006 1 commit
    • Kevin Atkinson's avatar
      · dbb62c05
      Kevin Atkinson authored
      Add "-archive <bool>" to $ns report which controls if "loghole
      archive" is called.  Creating the archive zipfiles is redundant when
      using the workbench.  It only serves to wastes space (and time when
      committing then to the experiment archive).
      dbb62c05
  20. 03 Oct, 2006 1 commit
  21. 14 Sep, 2006 5 commits
  22. 13 Sep, 2006 2 commits
  23. 12 Sep, 2006 1 commit
    • Leigh Stoller's avatar
      This started out as a simple little hack to add a StopRun "ns" event, but · cbdc4178
      Leigh Stoller authored
      it got more complicated as it progressed.
      
      The bulk of the change was changing template_exprun so that it can take a
      pid/eid as an alternative to eid/guid. This is a big convenience since its
      easy to find the template from a running experiment, and it makes it
      possible to invoke from the event scheduler, which has never heard of a
      template before (and its not something I wanted to teach it about).  Its
      also easier on users.
      
      Anyway, back to the stoprun event. You can now do this:
      
      	$ns at 100 "$ns stoprun"
      or
      	tevc -e pid/eid now ns stoprun
      
      You can add the -w option to wait for the completion event that is sent,
      but this brings me to the glaring problems with this whole thing.
      
      * First, the scheduler has to fire off the stoprun in the background,
        since if it waits, we get deadlock. Why? Cause the implementation of
        stoprun uses the event system (SNAPSHOT event, other things), and if
        the scheduler is sitting and waiting, nothing happens.
      
        Okay, the solution to this was to generate a COMPLETION event from
        template_exprun once the stop operation is complete. This brings me
        to the second problem ...
      
      * Worse, is that the "ns" events that are sent to implement stoprun (like
        snapshot) send their own completion events, and that confuses anyone
        waiting on the original stoprun event (it returns early).
      
        So what to do about this? There is a "token" field in the completion
        event structure, which I presume is to allow you to match things up.  But
        there is no way to set this token using tevc (and then wait for it), and
        besides, the event scheduler makes them up anyway and sticks them into
        the event. So, the seed of a fix are already germinating in my mind, but
        I wanted to get this commit in so that Mike would have fun reading this
        commit log.
      cbdc4178
  24. 29 Aug, 2006 1 commit
  25. 08 Jun, 2006 1 commit
  26. 07 Jun, 2006 1 commit
  27. 25 May, 2006 1 commit
  28. 03 Mar, 2006 1 commit
    • Timothy Stack's avatar
      · 66ee32fc
      Timothy Stack authored
      Clear out plab evproxy subscriptions when the event scheduler is stopped.
      
      	* event/sched/event-sched.c: Add an __ns_teardown sequence that
      	can be used to send events when the scheduler is stopped.
      
      	* event/tbgen/tevc.c: Add a timeout flag that can be used to bound
      	the time spent waiting for an event to complete.
      
      	* tbsetup/eventsys.proxy.in: When stopping/replaying, run the
      	__ns_teardown sequence and wait for it to complete.
      66ee32fc
  29. 02 Mar, 2006 2 commits
  30. 02 Feb, 2006 1 commit
  31. 01 Feb, 2006 1 commit
  32. 26 Jan, 2006 2 commits
    • Timothy Stack's avatar
    • Timothy Stack's avatar
      · 4b938465
      Timothy Stack authored
      Some pelab/plab event system hacks.
      
      	* event/lib/event.h, event/lib/event.c: Add event_subscribe_auth
      	which lets you specify whether any authentication should be done
      	for events received through this subscription.
      
      	* event/sched/event-sched.c: Handle EVPROXY objects.  Add a
      	separate subscription for EVPROXY UPDATE events for each plab
      	pnode (which might be too many...).  Also, need to update the EXPT
      	field for events received through a noauth subscription so the
      	proxies can figure out which experiments are active.
      
      	* lib/libtb/tbdefs.h, lib/libtb/tbdefs.c: Add UPDATE event defs.
      
      	* xmlrpc/emulabserver.py.in: Inject __plab_setup and
      	__plab_teardown timelines into the eventlist when an experiment
      	has plab nodes.  The __plab_setup timeline sends EVPROXY UPDATE
      	events to each physical node while the __plab_teardown sends
      	EVPROXY CLEAR events.  The __plab_setup timeline is run when the
      	scheduler starts up, the __plab_teardown isn't run automatically
      	yet.
      4b938465