1. 16 Jan, 2018 1 commit
    • Leigh Stoller's avatar
      Lots of changes for SSL enabled pubsub: · e44fc90d
      Leigh Stoller authored
      Pubsub libraries are now SSL enabled by default, so that we can talk SSL
      from a perl client. To do this we need another entry point from SWIG
      into the event code, event_register_withssl. At the same time there is a
      new entry point called event_set_sockbufsizes that calls a new pubsub
      entry point pubsub_set_sockbufsizes.
      
      The problem is that current swig generates code that does not compile,
      and since I don't know nothing about swig, I just hand crafted the two
      new routines that needed in event_wrap.c and the few extra lines that go
      into event.pm.
      
      Also change all the link lines to include the ssl/crypto libraries when
      linking.
      e44fc90d
  2. 09 Feb, 2017 1 commit
  3. 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
  4. 27 Jul, 2011 1 commit
  5. 19 Jul, 2011 3 commits
  6. 17 Jan, 2011 1 commit
    • Mike Hibler's avatar
      Random Windows (Cygwin) fixes. · 975cc86e
      Mike Hibler authored
      Client-side builds again, but haven't got node to boot correctly.
      Need to get pubsubd installed correctly as a service in place of elvind.
      975cc86e
  7. 18 Sep, 2010 2 commits
    • Mike Hibler's avatar
      Lint. · 36d88387
      Mike Hibler authored
      36d88387
    • Mike Hibler's avatar
      Add -ltb to link line. · 0d1f2b6a
      Mike Hibler authored
      This is part of cleaning up the name space of pubsub.  Previously, this
      program was getting the "info" call from libpubsub and that version is going
      to become private.  So use the one in libtb instead.
      0d1f2b6a
  8. 23 Aug, 2010 1 commit
    • Mike Hibler's avatar
      Don't build delay-agent on FreeBSD 8. · 250a633c
      Mike Hibler authored
      Delay agent won't build on FreeBSD 8.x right now due to dummynet API changes.
      Not even sure we will bother to fix this since we have a newer, more OS
      independent agent.
      250a633c
  9. 17 Jul, 2010 1 commit
  10. 14 Jul, 2010 1 commit
  11. 23 Feb, 2010 1 commit
  12. 25 Jan, 2010 1 commit
    • Mike Hibler's avatar
      Fixes for Fedora 10. · 9e9c658b
      Mike Hibler authored
      Fix obvious typo in liblocsetup.pm which was getting perl5.10 all cranky.
      Stop statically linking a couple of proxy pieces.  In general, it is/was
      a bad idea, and Fedora 10 doesn't have a static libz anyway.
      9e9c658b
  13. 07 Jul, 2009 1 commit
  14. 11 Jun, 2009 1 commit
  15. 10 Feb, 2009 1 commit
  16. 20 Oct, 2008 1 commit
  17. 10 Sep, 2008 1 commit
  18. 03 Sep, 2008 1 commit
  19. 28 Nov, 2007 1 commit
    • Leigh Stoller's avatar
      Add some small stuff to support the current implementation of the plab · b30e4f95
      Leigh Stoller authored
      evproxy, which uses set_failover and set_connection_retries. The event
      library had these as noops, so that was an easy change. Also, add back
      in the async add/remove subscription stuff, which was already
      implemented in pubsub but not hooked up from the event library.
      
      In the tmcd/plab directory I purged all mention of elvin and changed it
      to "event server". I also renamed the runelvin script to runevents.
      
      In events/proxy I cleaned up the makefile and added evproxyplab to the
      targets list since it should now build okay (no longer needs to link
      against elvin stuff). Renamed elvindtest program to eventping, and
      otherwise purged lots of "elvin" tokens.
      b30e4f95
  20. 16 Aug, 2007 1 commit
  21. 25 May, 2007 1 commit
  22. 24 Apr, 2007 1 commit
  23. 23 Apr, 2007 1 commit
  24. 23 Mar, 2007 1 commit
  25. 02 Feb, 2007 1 commit
    • Mike Hibler's avatar
      The paint wasn't even dry on the last plab tarball before I have moved on... · c2570cfc
      Mike Hibler authored
      Rev 20 of the tarball has no new function, it is just slimmed down.
      I replaced our large statically linked binaries with dynamically linked ones.
      Also found and stripped a couple of other binaries.
      
      The resulting tarball goes from 5.7MB to 0.9MB.
      
      The Makefile changes are to incorporate the NOSTATIC=1 environment hack
      to enable building the dynamic binaries above.
      c2570cfc
  26. 25 Aug, 2006 1 commit
    • Kirk Webb's avatar
      · e3c90cb9
      Kirk Webb authored
      Fix experiment event stream unsubscribe bug.
      e3c90cb9
  27. 11 Aug, 2006 1 commit
    • Kirk Webb's avatar
      · 169d5076
      Kirk Webb authored
      Fix up another place where the hostname lookup can fail, and thus cause
      the proxy (or anything else) to exit.  Both evproxyplab and the event lib
      now first try to lookup the hostname to get the IP, and then fall
      back to grabbing the IP from /var/emulab/myip.
      169d5076
  28. 10 Aug, 2006 1 commit
    • Kirk Webb's avatar
      · 7901885c
      Kirk Webb authored
      The other half of the changes that cause the plab event proxy to now try
      to get the routable IP of the node from tmcd rather than relying on
      the success of a hostname lookup.  It will still fall back to trying a
      hostname lookup if it can't get the IP from tmcd.
      7901885c
  29. 19 May, 2006 1 commit
    • Kirk Webb's avatar
      · e0c33c75
      Kirk Webb authored
      More reliability fixes/enhancements.  Hopefully this will catch the remaining
      problems I've seen happen.
      e0c33c75
  30. 19 Apr, 2006 1 commit
    • Kirk Webb's avatar
      · a5ea34cb
      Kirk Webb authored
      Update the plab proxy to manage restoring the connection to the remote
      elvind on ops itself (instead of leaving it up to elvin).
      
      This whole program needs cleanup/refactoring attention.  Later.
      a5ea34cb
  31. 28 Mar, 2006 1 commit
    • Kirk Webb's avatar
      · 30ff680b
      Kirk Webb authored
      Let's increase the idle check period a bit...
      30ff680b
  32. 27 Mar, 2006 1 commit
    • Kirk Webb's avatar
      · 74fc532b
      Kirk Webb authored
      Some event system fixes for the plab proxy and testing enhancements to tbsend.
      
      * event.c / event.h
      
      Fix assertion failure that appears to be caused by notifications coming in
      on a subscription that is pending deletion (via async API call).
      
      Also add idle polling to the ops endpoint connection to help maintain
      connectivity (will do failover).
      
      Add function to set failover flag on connection handle.
      
      * tbsend.c
      
      Add ability to set connection retry, failover, idle polling, and perform
      looped and triggered testing.
      74fc532b
  33. 09 Mar, 2006 1 commit
    • Sachin Goyal's avatar
      · 2ca5a9e4
      Sachin Goyal authored
      Modifications done for plab scheduler:
      * pass thru the UPLOAD/CLEAR events to local elvind so that
        plab-scheduler can get them.
      * filter events with <plabsched, 1>
      * listen to scheduler==2 evennts also from ops elvind
      2ca5a9e4
  34. 02 Feb, 2006 1 commit
    • Kirk Webb's avatar
      · 16686f26
      Kirk Webb authored
      Added "global passthru" event subscription to the plab event proxy.
      16686f26
  35. 01 Feb, 2006 1 commit
    • Kirk Webb's avatar
      · 08a74ca6
      Kirk Webb authored
      Fix up the plav event proxy a bit.  It was sending RELOAD notifications
      when it should have been scheduling UPDATEs.  The RELOAD event handler was
      also updated to schedule and update.  Replaced some sprintfs with snprintfs,
      and added a log file and some helpful log output.
      
      pa-wrapper: tell libtmcc we don't want a cached "plabconfig" result.
      08a74ca6
  36. 29 Jan, 2006 1 commit
    • Sachin Goyal's avatar
      · 92a687b9
      Sachin Goyal authored
      Added 2 new programs:
      
      1- elvindtest: a simple program to verify if a particular
          elvindserver is up or not
      
      2- evproxyplab.cc: evproxy for planetlab nodes. It subscribes
         to the following events:
         host = node's ip addr
         objtype = EVPROXY
         objname = __$nodeid_proxy
         eventtype = UPDATE | CLEAR | RELOAD
      
         On UPDATE, it adds a new subscription to listen to an
         experiment conveyed by EXPT field of UPDATE message.
      
         On CLEAR, it removes the subscription for a experiment
         experiment conveyed by EXPT field of CLEAR message.
      
         On RELOAD, it removes all active experiment subscriptions.
      
         Also, while it comes up, it sends a RELAOD event to emulab's
         event-server to reload it with all existing experiments:
      
         host = node's ip addr
         objtype = EVPROXY
         objname = __$nodeid_proxy
         eventtype = RELOAD
      92a687b9
  37. 07 Mar, 2005 1 commit
    • Timothy Stack's avatar
      · 898cf9a2
      Timothy Stack authored
      Checkin some changes related to experiment automation and vnode feedback:
      
      	* configure, configure.in: Add sensors/canaryd/feedbacklogs
      	template.
      
      	* db/libdb.pm.in, db/xmlconvert.in: Add "virt_user_environment"
      	table that holds environment variable names and values.
      
      	* event/lib/event.c: Allocate memory of the right size for
      	event_notifications.
      
      	* event/program-agent/GNUmakefile.in: Add version.c file and
      	add install targets for the man page.
      
      	* event/program-agent/program-agent.8: Man page describing the
      	program-agent daemon.
      
      	* event/program-agent/program-agent.c: Add a bunch of convenience
      	features: let the user specify the working directory for commands;
      	save output to separate files on every invocation of an agent; let
      	the user specify a timeout for a command; make the set of
      	environment variables sane and add vars given in the NS file in
      	the opt array; a "status" file containing process information is
      	written out when children are collected.  Internal changes: child
      	processes are collected immediately, instead of waiting for the
      	next START event, so we can send back COMPLETE events; the daemon
      	now runs with a real-time priority, to increase the chances of
      	receiving events.
      
      	* event/proxy/evproxy.c: Made it bidirectional so the
      	program-agent's COMPLETE events make it back to the scheduler.
      
      	* event/sched/error-record.c: Change the default log directory.
      
      	* event/sched/event-sched.h, event/sched/event-sched.c: Setup an
      	environment similar to a program-agent to run the user's log
      	digester.
      
      	* event/sched/node-agent.cc: Add a handler for the SNAPSHOT event
      	that runs create_image for the node.
      
      	* event/sched/simulator-agent.h, event/sched/simulator-agent.cc:
      	Let the user specify a "DIGESTER" script that digests the log
      	files into a summary of the results.  Add event handler for
      	remapping a vnode experiment.
      
      	* event/sched/timeline-agent.c: Accept the RUN event as well as
      	the START event.
      
      	* os/GNUmakefile.in: Install the install-tarfile.1 man page.
      
      	* os/install-tarfile: Automatically chown/chgrp any files that do
      	not have valid user or group IDs, the new owner will be the user
      	that swapped in the experiment.  Include the install directory in
      	the DB file.  Add a "list" mode that just dumps what files have
      	been installed and where.  Add a "force" option so the user can
      	forcefully install the file, even though the DB says its already
      	there.
      
      	* os/install-tarfile.1: Man page describing the install-tarfile
      	tool.
      
      	* os/syncd/GNUmakefile.in: Install man pages on ops.
      
      	* sensors/canaryd/GNUmakefile.in: Link canaryd statically and
      	install "feedbacklogs" tool.
      
      	* sensors/canaryd/canaryd.c: Dump dummynet pipe data.
      
      	* sensors/canaryd/canarydEvents.c: Log errors.
      
      	* sensors/canaryd/feedbacklogs.in: Tool used to generate feedback
      	data from canaryd log files.
      
      	* sensors/slothd/GNUmakefile.in: Install digest-slothd on ops.
      
      	* sensors/slothd/digest-slothd: Fix some bugs and write out an
      	"alert" file with all the nodes/links that were overloaded.
      
      	* tbsetup/os_load.in, tbsetup/libosload.pm.in: Add "waitmode"
      	argument that lets you specify that you want to wait for the disk
      	to finish loading and/or wait for the node to come back up in the
      	new OS.
      
      	* tbsetup/power.in: Remove debugging printf.
      
      	* tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/program.tcl,
      	tbsetup/ns2ir/sequence.tcl, tbsetup/ns2ir/sim.tcl.in: Fix some
      	quoting problems with event-sequences.  Add -expected-exit-code
      	and -tag options to the "$program run" event.  Add -digester to
      	the "$ns report" event that lets the user specify a program to run
      	to digest the log files.
      
      	* tbsetup/ns2ir/tb_compat.tcl.in: Change the initial scaling
      	factor for feedback nodes to 1%, instead of 100%.
      
      	* tmcd/tmcd.c, tmcd/common/libtmcc.pm: Add "userenv" command that
      	returns the values in "virt_user_environment".  Return new program
      	agent fields: dir, timeout, and expected_exit_code.
      
      	* tmcd/common/GNUmakefile.in: Install rc.canaryd.
      
      	* tmcd/common/bootvnodes: Add hack to boost the program-agents to
      	a real-time priority, they can't do it from inside the jail.
      
      	* tmcd/common/rc.canaryd: Rc script for canaryd.
      
      	* tmcd/common/watchdog: Don't fail outright if there is a bad line
      	in the battery.log
      
      	* tmcd/common/rc.progagent: Append "userenv" data to the
      	program-agent config file.
      
      	* utils/GNUmakefile.in: Install loghole and its man page on ops.
      
      	* utils/loghole.1: Document "clean" command and the change in
      	loghole directories.
      
      	* utils/loghole.in: Add "clean" command and parallelization.
      
      	* xmlrpc/emulabserver.py.in: Add "virt_user_environment" table.
      	Order the eventlist by "idx" and time, needed for sequences.  And
      	removed unnecessary nologin checks.
      898cf9a2