1. 17 Mar, 2005 1 commit
    • Mike Hibler's avatar
      Partial support for disk-zeroing on experiment termination. · 60e7adb8
      Mike Hibler authored
      I did the "back half" support.  If the 'mustwipe' field is non-zero
      in the reserved table entry for a node then its disk must be zeroed.
      How the zeroing is done, depends on the value of the mustwipe field.
      Right now, '1' means pass the '-z' option to frisbee to have it zero
      all non-allocated blocks.  The value '2' is reserved for enabling a
      "full wipe" pass of the disk before running frisbee, which Keith Sklower
      (DETER) wanted to be able to do.  Note that 1 and 2 are effectively the
      same, if we are loading a full-disk image; i.e. all non-allocated blocks
      from the new image are zeroed.  But if the disk were being loaded with
      a single-partition image, then "frisbee -z" would only wipe unused
      blocks in that partition.
      
      The reload_daemon has been modified to extract the mustwipe info and
      invoke os_load accordingly.   os_load now takes a "-z <type>" option
      to enable the zeroing by setting a value in the current_reloads table.
      tmcd will read and return that info to its caller in the "loadinfo" command.
      Finally, the rc.frisbee script that runs in the frisbee MFS extracts the
      loadinfo info and crafts the frisbee startup command.
      
      What still needs to be done is the "front end," how the user specifies
      the value and how it winds up in the DB reserved table.  This will probably
      involve addition of state to the experiments table as this will likely be
      a per-experiment setting.
      60e7adb8
  2. 16 Mar, 2005 2 commits
    • Timothy Stack's avatar
      ea6e552a
    • Mike Hibler's avatar
      Really important stuff: · a8ef625f
      Mike Hibler authored
      Unified the 'dot' handling (status printing) of frisbee and imagezip.
      They now both report the number of chunks remaining along with the dots.
      Also put out a periodic splat for every GB of uncompressed data we write.
      This is useful when you are zero-filling, since otherwise it appears that
      frisbee has hung when it is really just zeroing the last unused 100GB of
      your disk.
      a8ef625f
  3. 15 Mar, 2005 5 commits
  4. 14 Mar, 2005 2 commits
  5. 11 Mar, 2005 3 commits
  6. 10 Mar, 2005 1 commit
    • Robert Ricci's avatar
      Added two new options, needed for WhOL support. · b992395a
      Robert Ricci authored
      The new -b option gives you a string with the current status of a
      port (ie. if it's enabled, and which VLAN it's in). After getting
      this string, you can then modify the port (change its VLAN, enable it,
      whatever). Then, when you're done, you can pass the string -b gave you
      back into snmpit with -B, and it should restore the original status
      of the port.
      
      Make sure to put the status string in single quotes when you pass it
      on the command line. It contains some stuff that the shell won't like,
      such as semicolons.
      b992395a
  7. 09 Mar, 2005 6 commits
  8. 08 Mar, 2005 9 commits
  9. 07 Mar, 2005 7 commits
    • 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
    • Timothy Stack's avatar
      Bump version number to 23 because of an incompatible change to the · 00965f77
      Timothy Stack authored
      "programs" command.
      00965f77
    • Timothy Stack's avatar
      Add some more fields to virt_programs (dir, timeout, · 96959fd7
      Timothy Stack authored
      expected_exit_code) that get used by the newer program agent.  Add
      virt_user_environment table that stores user config data for an
      experiment.
      96959fd7
    • David Johnson's avatar
      Rotated fiducials for Kirk, so removed offset 'correction' from · 2390deaa
      David Johnson authored
      vmc-client.c .
      2390deaa
    • Mike Hibler's avatar
      More notes on creating delta images. · ec292fd1
      Mike Hibler authored
      Hope to do this someday soon...
      ec292fd1
    • Leigh B. Stoller's avatar
      Change to the UI. Add a right click context menu (right click over a · b369447e
      Leigh B. Stoller authored
      node) brings up a context menu that allows you to 1) Cancel the
      current drag operation for that robot, 2) bring up the Emulab shownode
      page in another window, and 3) set the orientation for the robot using
      a popup dialog input box. This allowed me to clean up some of the
      table handling code, and fix a glitch whereby a value left inside a
      cell being edited caused the a cancel drag operation to immediately
      start a new one.
      b369447e
    • Timothy Stack's avatar
      If a robot destination intersects multiple known obstacles, merge them · 7e2040d0
      Timothy Stack authored
      into a single larger one.
      7e2040d0
  10. 06 Mar, 2005 3 commits
  11. 04 Mar, 2005 1 commit