- 06 Dec, 2005 1 commit
-
-
Leigh B. Stoller authored
-
- 17 Nov, 2005 2 commits
-
-
Timothy Stack authored
run before the main timeline is started. Also changed the scheduler to load events before adding the TIME START events so we can add setup events before the main timeline.
-
Timothy Stack authored
-
- 16 Nov, 2005 1 commit
-
-
Timothy Stack authored
making into the eventlist.
-
- 19 Aug, 2005 1 commit
-
-
Timothy Stack authored
Bring linktest in line with the new event system world order and do some generic cleanup. I'm pretty sure I broke backwards compatibility with old disk images though... * configure, configure.in: Remove linktest.h.in from the list of template files. * event/linktest/GNUmakefile.in: Don't make subdirectories for executables since it can mess up the dependencies. Don't install tb_compat.tcl stuff anymore. Check for '/usr/local/bin/pathrate' and friends, and print out a warning if they are not found. Make a version file for the linktest daemon. * event/linktest/linktest.c: Only subscribe to the events we care about 'STOP/KILL'. Subscribe to TIME START events and kill any linktests that are in progress. Send events through the local elvind instead of running tevc. * event/linktest/linktest.pl.in: Don't run the modified NS anymore to generate the topology file, use gentopofile to do that. Send COMPLETE events to indicate that the tests were finished instead of STOP so it works with event-sequences. Use emulab-sync to report errors between linktest daemons. In addition to sending REPORT events, send LOG events to the SIMULATOR agent so the messages end up in the report e-mail. Fix wait_all so it collects child processes immediately and doesn't leave zombies lying around. Make the static route test work with topologies that aren't fully connected. Change ownership of the linktest error files from root to the swapper. Bump latency tolerance up to 2.5ms. * event/linktest/ltevent.c: Use event_schedule instead of event_notify so the events go through the scheduler. * event/linktest/run_linktest.pl.in: Wait for COMPLETE events insetad of STOPs. * event/linktest/linktest.h.in: Removed. * event/sched/error-record.c: Include linktest error output in the report e-mail. * event/sched/event-sched.c: Linktest now sends COMPLETE events for START events. * tbsetup/gentopofile.in, tmcd/common/config/rc.topomap: Piggy back the generation and management of the linktest config file onto the generation of the topomap. * tbsetup/ns2ir/sim.tcl.in: Add "linktest" event to the Simulator object that runs linktest at level 3 (latency, static routing, and loss). * tmcd/common/libsetup.pm: Add TMLTMAP constant that contains the path to the node local linktest config file. * tmcd/common/rc.linktest: Pass '-u' option to the linktest daemon so it knows what user should to change ownership of files to. * tmcd/freebsd/jail/mkjail.pl: Copy the linktest config file (ltmap) into the jail.
-
- 04 Aug, 2005 1 commit
-
-
Leigh B. Stoller authored
ElabInElab experiment loads the current elabinelab.ns file from the lib directory. Otherwise: tb-elab-in-elab-topology withrouter will load elabinelab-withrouter.ns from the lib directory.
-
- 24 Jun, 2005 1 commit
-
-
Timothy Stack authored
-
- 22 Jun, 2005 1 commit
-
-
Leigh B. Stoller authored
some details can be found in the advanced tutorial that I wrote up. See this link: http://www.emulab.net/tutorial/docwrapper.php3?docname=advanced.html#Tracing The basic idea is that each virt_lan entry gets a couple of new slots describing the type of tracing that is desired. traced tinyint(1) default '0', trace_type enum('header','packet','monitor') NOT NULL default 'header', trace_expr tinytext, trace_snaplen int(11) NOT NULL default '0', trace_endnode tinyint(1) NOT NULL default '0', There is a new physical table called "traces" that is a little bit like the current delays table. A new tmcd command returns the trace configuration to the client nodes (tmcd/common/config/rc.trace). The delays table got a new boolean called "noshaping" that tells the delay node to bridge, but not set up any pipes. This allows us to capture traffic at the delay node, but without much less overhead on the packets. The pcapper got bloated up to do packet capture and more event stuff. I also had to add some mutex locking around calls into the pcap library and around malloc, since the current setup used linuxthreads, which is not compatable with the standard libc_r library. I was getting all kinds of memory corruption, and I am sure that if someone breathes on the pcapper again, it will break in some new way.
-
- 17 Jun, 2005 1 commit
-
-
Timothy Stack authored
Event system documentation and tweaks: * event/sched/event-sched.c: The snapshot event got left out of the list of events that send back a complete event. If a top level sequence stops with an error, automatically send a report. * event/sched/group-agent.c, event/sched/timeline-agent.c: When handling a complete event, return true if the event was consumed. * event/sched/node-agent.cc: Clean the "/local/logs" loghole on the node before taking a snapshot of the disk image. * event/sched/simulator-agent.cc, event/sched/simulator-agent.h: Made send_report non-static so it can be called when a sequence errors out. Actually check the clear flag when dumping report data. * lib/libtb/tbdefs.c: Add a comment about updating the event scheduler when a new object type is added. * tbsetup/ns2ir/sim.tcl.in: Check the OSIDs passed to the "reload" and "snapshot-to" events. * utils/loghole.1: Mention early and often the directories that gets sync'd. Document the 'change' action and new options for 'clean'. * utils/loghole.in: Use rsync's '--include-from' option so we don't have to run rsync separately for each directory. Add a 'change' action that lets people mess with the metadata of an existing archive. Make the 'clean' action also remove log files on the nodes. Only rsync node's whose OS's support ssh. Grab logs from delay nodes. * www/tutorial/advanced.html: Update the program agent examples to use the new form. * www/tutorial/eventsystem.html: First cut at an event system reference manual that includes sequences, timelines, and other new features. * www/tutorial/loghole.html: Just a pointer to the man page on ops for now. * www/tutorial/nscommands.html: Add a section about capturing parameters from the 'opt' array. * xmlrpc/emulabserver.py.in: Add an osid.info() method that returns information about a single OSID.
-
- 24 May, 2005 1 commit
-
-
Timothy Stack authored
Add topography as an event object type, we use this to notify applets about dynamic obstacles. Some event-sched fixes are also included. * lib/libtb/tbdefs.h, lib/libtb/tbdefs.c: Add TOPOGRAPHY object and CREATE event. * robots/emc/emcd.c: Some cleanup for the events that get sent for dynamic obstacles. * tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/sim.tcl.in, tbsetup/ns2ir/topography.tcl: Add Topography's to the virt_agents table. * event/sched/error-record.c: Fix the format for the filenames generated by the program-agent. * event/sched/event-sched.c: Mark the start of TIME, change how rmcd/vmcd get restarted, and fix the ordering of some events on startup. * event/sched/simulator-agent.h, event/sched/simulator-agent.cc: Record when TIME starts, change how the report is generated, and the current time to log messages. * event/sched/rpc.h, event/sched/rpc.cc: Add the "virtual" topography name to the emcd.config, it's used when sending events concerning dynamic obstacles.
-
- 16 May, 2005 1 commit
-
-
Leigh B. Stoller authored
for the inner elab. tb-set-elabinelab-cvstag dist-foo Will result in this branch getting checked out from the mirrored repository (updated nightly) on boss and sent back to the node, instead of the usual source tarball that we keep in /usr/testbed/src (still the default behaviour if no tag is specified. You can also do this if you like: tb-set-elabinelab-cvstag HEAD which of course is a special tag to CVS.
-
- 04 Apr, 2005 1 commit
-
-
Timothy Stack authored
Mote and robot related stuff. The main thing is the addition of relay capabilities to capture and related things. * GNUmakefile.in: Add the capture and tip subdirectories to the client and client-install targets. * configure, configure.in, config.h.in: Detect srandomdev() for capture and add "mote/newmote" script. * capture/GNUmakefile.in, capture/capture.c: Add "relay" capabilities to capture. * capture/capquery.c: Query the capserver for the relay receiver's port number. * capture/capserver.c: Small hack to return the port number for a node. * db/libdb.pm.in, db/xmlconvert.in: Add virt_tiptunnels table. * event/program-agent/program-agent.c: Change log file names to something a little more user-friendly. Add a "MODIFY" event handler that lets the user set agent attributes (command, tag, timeout) without having to run a program. * event/sched/GNUmakefile.in, event/sched/console-agent.cc, event/sched/console-agent.h, event/sched/event-sched.c: Add console agents that can be used to snapshot a section of the capture log file. * event/sched/node-agent.cc: Some minor cleanup. * event/sched/simulator-agent.cc, event/sched/simulator-agent.h: Add the config data to the report mail. Add a "RESET" event handler that runs "loghole clean". Save the report mail in a file so it gets archived with the rest of the logs. * lib/libtb/tbdefs.h: Add CONSOLE object type. * mote/GNUmakefile.in, mote/newmote: Add newmote script, just a quick hack to add motes to the DB. * mote/tbuisp.in: Add another backend for loading motes through their relay capture server. * robots/mtp/mtp_dump.c: Dump the min/max values for x and y, handy for figuring out the bounds of the camera. * sql/database-fill.sql: Change the RELOAD-MOTE/SHUTDOWN -> ALWAYSUP/SHUTDOWN mode transition to ALWAYSUP/ISUP since stated doesn't seem to run triggers after a state change by a mode transition. * tbsetup/tbreport.in: Change the ordering of the eventlist so it displays event-sequences appropriately. * tbsetup/ns2ir/GNUmakefile.in, tbsetup/ns2ir/console.tcl, tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/parse.tcl.in, tbsetup/ns2ir/sim.tcl.in: Add a "console" agent that represents the serial console for a node. * tbsetup/ns2ir/sequence.tcl: Add an "append" method so it is easier to build sequences dynamically. * tbsetup/ns2ir/topography.tcl: Make checkdest available to regular users. * tip/GNUmakefile.in, tip/tiptunnel.c: Add support for uploading a file to a relay version of capture and exporting the end connection as a pty. * tmcd/decls.h, tmcd/common/libsetup.pm: Bump version number since the dosubnodelist change is not backwards compatible. * tmcd/tmcd.c: Make dosubnodelist and dosubconfig callable even when a node isn't allocated. Add dotiptunnels command that returns which serial consoles are to be mounted on a node. Add mote version of subconfig that returns information needed to startup the relay version of capture. * tmcd/common/bootsubnodes: For motes, startup the relay version of capture (XXX stargate specific). * tmcd/common/libsetup.pm, tmcd/common/libtmcc.pm, tmcd/common/config/rc.config, tmcd/common/config/rc.tiptunnels: Client side changes for mounting another nodes serial line. * tmcd/common/rc.bootsetup: Always boot the subnodes, even when free. This is used for motes since their capture needs to be up for reloading at the time. * tmcd/linux/ixpboot: Shuffle some code around so the script doesn't fail if the ixp isn't allocated. * utils/loghole.in: Add "digest.out" and "report.mail" as global logs to be saved in archives and display the "report.mail" file when showing a loghole archive. * xmlrpc/emulabserver.py.in: Scrub more of the return values to get rid of "None"s.
-
- 09 Mar, 2005 1 commit
-
-
Timothy Stack authored
event.
-
- 07 Mar, 2005 1 commit
-
-
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.
-
- 09 Feb, 2005 1 commit
-
-
Timothy Stack authored
Robot-related improvements based on feedback from Sid: * event/sched/event-sched.h, event/sched/event-sched.c, event/sched/rpc.h, event/sched/rpc.cc: Send a notification of the start of event time and timelines. Add a '-r' option that forces it to use the default rpc path (so dan can use a custom scheduler/rmcd/etc on ops). * robots/GNUmakefile.in, robots/emc/GNUmakefile.in, robots/mtp/GNUmakefile.in, robots/primotion/GNUmakefile.in, robots/rmcd/GNUmakefile.in, robots/vmcd/GNUmakefile.in, robots/tbsetdest/tbsetdest.cc: Add a control-install target. * robots/primotion/garcia-pilot.cc: Take out some experimental code. * robots/primotion/dashboard.hh, robots/primotion/dashboard.cc, robots/primotion/pilotClient.cc, robots/primotion/wheelManager.hh, robots/primotion/wheelManager.cc: When doing a COMMAND_STOP, make sure we only send one update packet, an idle or an abort. Also send back the actual distance travelled/pivoted. * robots/tbsetdest/tbsetdest.cc: Don't output setdest event's with a speed of zero. * tbsetup/eventsys_control.in: When replaying/stopping, clear the start of event time for the experiment. * tbsetup/power_mail.pm.in: Decrease the threshold used to tell if a node has been power cycled "recently". * tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/sim.tcl.in: Bah, backout last change, orientation is supposed to be in degrees at these points. Also, when automatically picking the sync server, don't use nodes that are subnodes. * tmcd/common/bootsubnodes: Send an ISUP for motes. * www/moteleds.php3: Show the mote node names instead of the robots. * www/powertime.php3: Add option to mark nodes as powered off. * www/robotmap.php3: Display the elapsed time for the overall event time and for each active timeline. * www/showexp.php3: Only display the blinky lights menu item when there are motes. * www/shownode.php3: Change "Update Power Time" -> "Update Power State". * www/tutorial/mobilewireless.php3: Fix some nits. * xmlrpc/emulabserver.py.in: Add event_time_start method for storing/getting/clearing the start of event time for an experiment/timeline.
-
- 04 Feb, 2005 1 commit
-
-
Timothy Stack authored
Some more robot integration. * event/lib/event.h, event/lib/event.c: Add some event_notification creation functions that get used in event-sched. * event/sched/event-sched.c, event/sched/rpc.h, event/sched/rpc.cc: Sync the start of event time with the robots reaching their initial positions. This is done by creating a master event-sequence that takes care of sending the SETDEST events and then starting the Simulator timeline. * mote/tbuisp.in: Use node_reboot instead of ssh'ing in. * robots/GNUmakefile.in: Don't build tbsetdest if ulsshxmlrpcpp is not available. * robots/emc/loclistener.in: Clear the destination values for a node when it reaches its destination. * robots/primotion/garcia-pilot.cc, robots/primotion/pilotClient.cc: Some cleanup and debugging. * robots/primotion/wheelManager.cc: Check the rear sensors for obstructions and then decide which way to pivot. * robots/rmcd/pilotConnection.h, robots/rmcd/pilotConnection.c, robots/rmcd/rclip.h: Even more tweaking. * robots/tbsetdest/tbsetdest.cc: Don't generate points that are outside the camera bounds or inside an obstacle. * robots/vmcd/visionTrack.c, robots/vmcd/vmcd.h, robots/vmcd/vmcd.c: Add more debugging output. * tbsetup/os_setup.in: Removed the robot hack used when deciding which nodes to reconfig/reboot. Added a robot hack to avoid rebooting a robot whose mote is being os_load'd, since it would interrupt tbuisp which does the reboot anyways. Also fixed a small typo. * tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/sim.tcl.in: Oops, forgot to convert degrees to radians. * tbsetup/ns2ir/topography.tcl: When checking for node destination points in obstacles, include the implicit exclusion zone. * tmcd/common/bootsubnodes: Add empty "mote" case. * tmcd/linux-sg/GNUmakefile.in: Make some of the /etc subdirs when doing the install. * tmcd/linux-sg/rc.stargate: Start garcia-pilot. * vis/floormap.in: Add options for showing the camera bounds, obstacle exclusion zones, and displaying vnames instead of pnames. * www/ledpipe.php3: Finally figured out how to use a socket instead of popening a perl script. * www/robotmap.php3: Add checkboxes for displaying/not displaying the camera bounds and obstacle exclusion zones. Add a legend showing what actual vs. destination points are. Pass pid/eid through to vis/floormap if it is given. * www/showexp.php3: Add a "Robot Map" link to experiments that have allocated garcias. * www/floormap/map_legend_node.gif, www/floormap/map_legend_node_dst.gif: Icons used by the robot map legend. * www/floormap/robots-4.jpg: Added an obstacle around the entryway so people are slightly less likely to trip over the robots. Added a coordinate system legend to the top left corner. * www/tutorial/mobilewireless.php3: Add links to David's movie of the robot making its way around the pillar. * www/tutorial/robot_anim.gif: A nifty gifanim clip of the robot movie. * xmlrpc/emulabserver.py.in: Pull the camera data from the DB, instead of returning hardcoded stuff.
-
- 02 Feb, 2005 1 commit
-
-
Leigh B. Stoller authored
tb-set-delay-capacity 1 Will override the default delay capacity as specfied in the node_types table for each node type, and set it for all types when generating the ptop file. This is a big stick, to be used with caution, as it will effectively double the number of nodes used for delay nodes (withing an experiment).
-
- 24 Jan, 2005 1 commit
-
-
Timothy Stack authored
Robot related stuff: power via e-mail, client-install fixups, checking coords against camera boundaries. * configure, configure.in: Add tbsetup/power_mail.pm to the list of template files. * doc/cross-compiling.txt: More stargate notes. * event/sched/rpc.cc: Updates for the addition of the cameras table. * robots/GNUmakefile.in, robots/emc/GNUmakefile.in, robots/mtp/GNUmakefile.in, robots/rmcd/GNUmakefile.in, robots/tbsetdest/GNUmakefile.in, robots/vmcd/GNUmakefile.in: client-install fixups. * tbsetup/GNUmakefile.in: Add power_mail.pm. * tbsetup/os_setup.in: Don't skip reboot of robots anymore. * tbsetup/power.in: Add special case for a power_id of "mail", which calls into the power_mail.pm backend. * tbsetup/power_mail.pm.in: E-mail backend for power, it sends an e-mail to tbops and waits for the outlets.last_power value to be updated from the power.php3 web page. * tbsetup/ns2ir/parse-ns.in: Add the contents of the cameras table to the TBCOMPAT namespace. * tbsetup/ns2ir/sim.tcl.in: More checking of "setdest" inputs. * tbsetup/ns2ir/topography.tcl: Update the checkdest method to check destination points against the camera list. * www/powertime.php3: Webpage used to update the last power time for nodes. * www/shownode.php3: Add "Update Power Time" menu button.
-
- 17 Jan, 2005 1 commit
-
-
Timothy Stack authored
More robot integration and some event system updates. * configure, configure.in: Detect rsync for loghole and add utils/loghole to the list of template files. * db/libdb.pm.in, db/xmlconvert.in: Add virt_node_startloc to the list of virtual tables. * event/lib/event.h, event/lib/event.c, event/lib/tbevent.py.tail: Add event_stop_main function to break out of the event_main() loop. Add timeline to the address tuple. * event/sched/GNUmakefile.in, event/sched/error-record.h, event/sched/error-record.c, event/sched/event-sched.8, event/sched/event-sched.h, event/sched/event-sched.c, event/sched/group-agent.h, event/sched/group-agent.c, event/sched/listNode.h, event/sched/listNode.c, event/sched/local-agent.h, event/sched/local-agent.c, event/sched/node-agent.h, event/sched/node-agent.cc, event/sched/queue.c, event/sched/rpc.h, event/sched/rpc.cc, event/sched/simulator-agent.h, event/sched/simulator-agent.c, event/sched/timeline-agent.h, event/sched/timeline-agent.c: Updated event scheduler, not completely finished, but well enough along for the robots. * lib/libtb/GNUmakefile.in, lib/libtb/popenf.h, lib/libtb/popenf.c, lib/libtb/systemf.h, lib/libtb/systemf.c: Add some handy versions of system/popen that take format arguments. * lib/libtb/tbdefs.h, lib/libtb/tbdefs.c: Add some more event and object types. * tbsetup/assign_wrapper.in: Add the virt_node_startloc building to desires string for a node. * tbsetup/ptopgen.in: Add a node's location to the feature list. * tbsetup/tbreport.in: Display the timeline/sequence an event is a part of. * tbsetup/ns2ir/GNUmakefile.in: Add timeline, sequence, and topography files. * tbsetup/ns2ir/node.tcl: Add initial position for nodes and allow them to be attached to "topographys". * tbsetup/ns2ir/parse-ns.in: Make a hwtype_class array with a node_type's class. Make an 'areas' array that holds the buildings where nodes are located. Make an 'obstacles' table with any obstacles in the building. * tbsetup/ns2ir/parse.tcl.in: Move named-args function from tb_compat.tcl to here. Add reltime-to-secs function that converts time given in a format like "10h2m1s" to a seconds value, used in "$ns at" so its easier to write time values. Add "K", "Kb", and "Kbps" as possible units for bandwidth (only the lowercase versions were available before). * tbsetup/ns2ir/program.tcl: Add "dir" and "timeout" attributes, although they don't go anywhere at the moment. * tbsetup/ns2ir/sequence.tcl, tbsetup/ns2ir/timeline.tcl, tbsetup/ns2ir/topography.tcl: Initial versions. * tbsetup/ns2ir/sim.tcl.in: Add support for timelines and sequences. Add 'node-config' method to change the default configuration for nodes produced by the Simulator object. Send an initial MODIFY event to any trafgen objects so their configuration gets through, even when there are no start/stop events. Move event parsing to the 'make_event' method. * utils/loghole.1, utils/loghole.in: Loghole utility, used for retrieving logs from experimental nodes and creating archives of the logs. * xmlrpc/emulabclient.py.in: Escape any strange characters in the output field. * xmlrpc/emulabserver.py.in: Add virt_node_startloc to the list of virtual_tables. Add emulab.vision_config and emulab.obstacle_config methods for getting information pertaining to the robots. Change the OSID listing to include more fields. Add a "physical" aspect to experiment.info to get information about the physical nodes. Add parent field to the events in the array returned by eventlist. Add sshdescription to get extra information needed to log into a vnode. Add node.statewait so you can wait for nodes to come up.
-
- 16 Dec, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 09 Dec, 2004 1 commit
-
-
Leigh B. Stoller authored
source tb_compat.tcl set ns [new Simulator] tb-elab-in-elab 1 tb-set-inner-elab-eid two-simple tb-set-security-level Red $ns run tbsetup/ns2ir/elabinelab.ns has all the goo, which is sourced from the NS run subroutine, using "uplevel 1" so that the context is correct. You can of course include you own goo, in which case the default goo will be skipped.
-
- 08 Dec, 2004 1 commit
-
-
Leigh B. Stoller authored
so unhappy with my current approach that I decided to drop that idea for now and just specify the eid of the experiment to run. Obviously, it has to be an existing experiment in the same project, whose nsfile is grabbed from the DB and shipped over to the inner boss.
-
- 06 Dec, 2004 2 commits
-
-
Leigh B. Stoller authored
tb-set-security-level Green|Yellow|Orange:Red Also add a template elabinelab.ns file.
-
Timothy Stack authored
Minor additions to support node mobility events: * lib/libtb/tbdefs.h, lib/libtb/tbdefs.c, sql/database-fill.sql: Add SETDEST as an event type and NODE as an object type. * tbsetup/ns2ir/node.tcl: Add location (X_, Y_, Z_) and orientation attributes for mobile nodes. * tbsetup/ns2ir/sim.tcl: Add a "setdest" event for node types that lets the user move a mobile node.
-
- 29 Nov, 2004 1 commit
-
-
Timothy Stack authored
-
- 08 Oct, 2004 1 commit
-
-
Timothy Stack authored
xmlconvert won't choke on it.
-
- 17 Sep, 2004 1 commit
-
-
Leigh B. Stoller authored
Add elab_in_elab boolean to experiments table. Add inner_elab_role to virt_nodes table, which is one of boss,ops,node.
-
- 25 Aug, 2004 1 commit
-
-
Mike Hibler authored
-
- 27 Jul, 2004 1 commit
-
-
Timothy Stack authored
webfeedback to talk to the newer version of canaryd. Add feedback "estimate" stuff so that if we have no data (because of an overloaded node) to work with, we can make some sort of "reasonable" guesstimate on every iteration.
-
- 15 Jul, 2004 1 commit
-
-
Leigh B. Stoller authored
set g1 [new EventGroup $ns] $g1 add $link0 $link1 $ns at 60.0 "$g1 down" See the new advanced tutorial section on event groups for a better example. Changed tbreport to dump the event groups table when in summary mode. At the same time, I changed tbreport to use the recently added virt_lans:vnode and ip slots, decprecating virt_nodes:ips in one more place. I also changed the web interface to always dump the event and event group summaries. The parser gets a new file (event.tcl), and the "at" method deals with event group events by expanding them inline into individual events sent to each member. For some agents, this is unavoidable; traffic generators get the initial params in the event, so it is not possible to send a single event to all members of the group. Same goes for program objects, although program objects do default to the initial command now, at least on new images. Changed the event scheduler to load the event groups table. The current operation is that the scheduler expands events sent to a group, into a set of distinct events sent to each member of the group. At some point we proably want to optimize this by telling the agents (running on the nodes) what groups they are members of. Other News: Added a "mustdelay" slot to the virt_lans table so the parser can tell assign_wrapper that a link needs to be delayed, say if there are events or if the link is red/gred. Previously, assign_wrapper tried to figure this out by looking at the event list, etc. I have removed that code; see database-migrate for instructions on how to initialize this slot in existing experiments. assign_wrapper is free to ignore or insert delays anyway, but having the parser do this makes more sense. I also made some "rename" changes to the parser wrt queues and lans and links. Not really necessary, but I got sidetracked (for several hours!) trying to understand that rename stuff a little better, and now I do.
-
- 12 Jul, 2004 2 commits
-
-
Leigh B. Stoller authored
-
Timothy Stack authored
-
- 07 Jul, 2004 1 commit
-
-
Leigh B. Stoller authored
currently used.
-
- 26 May, 2004 1 commit
-
-
Kirk Webb authored
-
- 25 May, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 30 Apr, 2004 1 commit
-
-
Leigh B. Stoller authored
new directive for your NS file: tb-use-physnaming(1) which means that if you have a line like this: set pc6 [$ns node] and pc6 is an actual name of a physical node, then do an implicit "fixnode" to pc6. In other words, pc6 is the name of the node in your NS file (virtual topo) *and* will be fixed to the real pc6. Needless to say, if pc6 is allocated when you go to swapin, you lose.
-
- 10 Feb, 2004 1 commit
-
-
Shashi Guruprasad authored
from commvirtsig-branch into main trunk Two testsuite tests fail: tbcmd and vtypes . Need to fix.
-
- 03 Feb, 2004 1 commit
-
-
Leigh B. Stoller authored
jail and delay node OSIDs. When set, will override anything in the node_types table. Use with caution.
-
- 28 Jan, 2004 1 commit
-
-
Leigh B. Stoller authored
each veth from tmcd cause that is easy. Defaults to 1 for now. Add tb-set-encapsulate to front end so Mike can play with it.
-
- 26 Jan, 2004 1 commit
-
-
Leigh B. Stoller authored
treated specially by the parser. Changed it to another bogus hardwired IP!
-