1. 30 Aug, 2004 1 commit
    • Leigh B. Stoller's avatar
      The bulk of the event system changes. · 9aa6b5ca
      Leigh B. Stoller authored
      * The per-experiment event scheduler now runs on ops instead of boss.
        Boss still runs elvind and uses events internally, but the user part
        of the event system has moved.
      
      * Part of the guts of eventsys_control moved to new script, eventsys.proxy,
        which runs on ops and fires off the event scheduler. The only tricky part
        of this is that the scheduler runs as the user, but killing it has to be
        done as root since a different person might swap out the experiment. So,
        the proxy is a perl wrapper invoked from a root ssh from boss, which
        forks, writes the pid file into /var/run/emulab/evsched/$pid_$eid.pid,
        then flips to the user and execs the event scheduler (which is careful
        not to fork). Obviously, if the kill is done as root, the pid file has to
        be stored someplace the user is not allowed to write.
      
      * The event scheduler has been rewritten to use Tim's C++ interface to the
        sshxmlrpc server on boss. Actually, I reorg'ed the scheduler so that it
        can be built either as a mysql client, or as RPC client. Note that it can
        also be built to use the SSL version of the XMLRPC server, but that will
        not go live until I finish the server stuff up. Also some goo for dealing
        with building the scheduler with C++.
      
      * Changes to several makefiles to install the ops binaries over NFS to
        /usr/testbed/opsdir. Makes life easier, but only if boss and ops are
        running the same OS. For now, using static linking on the event scheduler
        until ops upgraded to same rev as boss.
      
      * All of the event clients got little tweaks for dealing with the new CNAME
        for the event system server (event-sever). Will need to build new images
        at some point. Old images and clients will continue to work cause of an
        inetd hack on boss that uses netcat to transparently redirect elvind
        connections to ops.
      
      * Note that eventdebug needs some explaining. In order to make the inetd
        redirect work, elvind cannot be listening on the standard port. So, the
        boss event system uses an alternate port since there are just a few
        subsystems on boss that use the server, and its easy to propogate changes
        on boss. Anyway, the default for eventdebug is to connect to the standard
        port on localhost, which means it will work as expected on ops, but will
        require -b argument on boss.
      
      * Linktest changes were slightly more involved. No longer run linktest on
        boss when called from the experiment swapin path, but ssh over to ops to
        fire it off. This is done as the user of course, and there are some
        tricks to make it possible to kill a running linktest and its ssh when
        experiment swapin is canceled (or from the command line) by forcing
        allocation of a tty. I will probably revisit this at some point, but I
        did not want to spend a bunch of time on linktest.
      
      * The upgrade path detailed in doc/UPDATING is necessarily complicated and
        bound to cause consternation at remote sites doing an upgrade.
      9aa6b5ca
  2. 10 May, 2004 1 commit
  3. 26 Apr, 2004 1 commit
    • Mike Hibler's avatar
      Cleanup Makefiles: · 297019fb
      Mike Hibler authored
      1. "make clean" will just remove stuff built in the process of a regular build
      2. "make distclean" will also clean out configure generated files.
      
      This is how it was always supposed to be, there was just some bitrot.
      297019fb
  4. 06 Oct, 2003 1 commit
  5. 04 Sep, 2003 1 commit
  6. 02 Sep, 2003 1 commit
  7. 23 Jul, 2003 1 commit
  8. 01 Jul, 2003 1 commit
  9. 13 May, 2003 1 commit
  10. 29 Apr, 2003 1 commit
  11. 08 Jan, 2003 2 commits
  12. 18 Dec, 2002 1 commit
  13. 19 Nov, 2002 1 commit
  14. 07 Jul, 2002 1 commit
  15. 23 May, 2002 1 commit
    • Robert Ricci's avatar
      Added a GNUmakefile for the tools directory. · 6b4b6141
      Robert Ricci authored
      First, gives us a handy way to build all the tools, if there
      is ever more than one.
      
      Second, it's a workaround for a really annoying problem with
      configure. Since there was nothing in the tools/ directory itself,
      it wasn't getting created, so configure could not make
      tools/pcapper (since the parent directory didn't exist.)
      6b4b6141
  16. 22 May, 2002 1 commit
    • Robert Ricci's avatar
      Belated checkin of a lot of new pcapper features. Highlights: · 58c7b4bb
      Robert Ricci authored
      Event system:
      
      When compiled with -DEVENTSYS, can be made to wait for time to start
      in an experiment before starting to count packets. Times are also
      reported relative to experiment time start. Use the '-e' flag to
      enable.
      
      SUID support:
      
      If compiled with -DDROPROOT, and it seems that pcapper was started
      setuid root (euid == 0, and ruid != 0), drops root permissions after
      opening BPF (or raw socket in Linux.) This allows it get permissions
      to read packets, but still be killed by the user. This is particularly
      useful with the testbed's program objects.
      
      New command-line options:
      
      -s: Print out packet counts to stdout, in addition to listening
              on a socket ('-f -' does the same thing, too)
      -p: Count only payload sizes, not header sizes
      -e: Wait for event system time to start in pid/eid
      -z: Don't count zero-length packets in the packet counts (useful
              with '-p')
      
      Also, now creates a GNUmakefile the _right_ way.
      58c7b4bb
  17. 12 Apr, 2002 1 commit
    • Robert Ricci's avatar
      New program: pcapper · 7c154d1d
      Robert Ricci authored
      Runs on a node and uses libpcap to count packets going by. Opens a
      socket, so that remote programs can connect and, say, graph its
      output. The client gets to specify the interval at which it wants
      counts reported. Supports multiple interfaces, and multiple clients
      (with different intervals.) It can also write packet counts to a file,
      for analysis later.
      7c154d1d