- 27 Apr, 2005 3 commits
-
-
Leigh B. Stoller authored
source tb_compat.tcl set ns [new Simulator] tb-elab-in-elab 1 namespace eval TBCOMPAT { set elabinelab_maxpcs 1 set elabinelab_nodeos(myboss) FBSD47-STD set elabinelab_nodeos(myops) FBSD47-STD set elabinelab_nodeos(mypc1) FBSD47-STD } $ns run
-
Leigh B. Stoller authored
work inside ElabInElab. The crux of this is to emulate what switchmac does when incorporating nodes into the testbed. Rather then using snmpit to ask the switches for MAC info, we can just ask outer emulab via the proxy to get that same info from the DB. Note, there are no changes to the newnode MFS; it will boot and happily report it after launching teachswitch, but those packets are harmless to the situation. Another wrinkle is that we need the outer emulab to tell us which interfaces are control and which are experimental, since inside there is no real way to determine that. I did this by overloading the final field in the return from switchmac, and using that to override the "role" setting that utils/newnode would normally choose on its own. There is another new routine in the XMLRPC server that is intended to be used for bypassing the newnode path. This is not hooked into anything yet, but the intent is that rather then using the web interface to "add" nodes, we just return everything needed to seed the new_nodes and new_interfaces table, and then run newnodes directly.
-
Leigh B. Stoller authored
-
- 26 Apr, 2005 5 commits
-
-
Robert Ricci authored
I've sucesfully used this core to 'evolve' a sorted list of 18 elements. It takes negligible time, and ~100 generations. Right now, I am only using mutation, not crossover. To do crossover, I'm going to have to start studying permutation encoding.
-
Leigh B. Stoller authored
mysqld hangs that cause the entire system to grind to a halt. The basic theory of operation is like this: * Once a minute fork a child (protected by a 60 second timeout) to connect to the DB and issue a simple query. If the child can access the DB okay, it exits with a zero status. * If the alarm fires, the child is killed. This indicates that mysqld is no longer responding in a reasonable amount of time (60 seconds). We shift into trying to restart mysqld: * Send mysqld a TERM. Wait for 30 seconds. * Try query again; typically, the situation will not have changed one bit, but I do it anyway. * If mysqld was running, send it a kill -9. Wait for 15 seconds. * Start mysqld. Wait for 5 seconds. * Try query again. If query succeeds, we are done, and no one will have to deal with it Sunday morning at 6am (thanks Tim). * If query still fails, send email and give up trying to do fix anything. The daemon continues to query the DB once a minute; once the query succeeds (cause a human fixed things up), the daemon goes back into its normal mode (attempt to fix things next time it fails). So, the problem is what happens when someone kills off mysqld for some other reason. It may be that this daemon should only try to restart mysqld if and only if, it actually killed a running mysqld. Comments?
-
Timothy Stack authored
kill fails.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
that to keep files private to each subgroup.
-
- 25 Apr, 2005 9 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
mortals and robots can find the silly thing (otherwise it uses a very silly name).
-
Timothy Stack authored
-
Timothy Stack authored
-
Timothy Stack authored
daemonize after making the connection to capture so an error is reported if it cannot connect.
-
Mike Hibler authored
case. Otherwise we don't pick up on experiment modifications.
-
Timothy Stack authored
some error handling, and put the output file sizes/mtimes in the status file to make it easier to do a sanity check.
-
Mike Hibler authored
-
Timothy Stack authored
causing the select() to fail.
-
- 22 Apr, 2005 9 commits
-
-
Mike Hibler authored
-
Mike Hibler authored
-
Mike Hibler authored
-
Russ Fish authored
-
Robert Ricci authored
I still have some optimizations to perform.
-
Leigh B. Stoller authored
that picked up single images with scp, and replaced it with stuff that can be used to capture movies. Usage: grabwebcams [-d] [-v] [-m] [-t timeout] grabwebcams [-d] [-v] [-t timeout] [-k] pid eid switches and arguments: -d - Debug mode, use to prevent daemonization -v - Verbose mode (causes vlc to spit lots of goo) -m - Movie option; create a 10fps movie from each camera -t <N> - Terminate automatically and N seconds -k - Kill a daemonized grabwebcams (only use with pid/eid) pid eid - Project and Experiment (for use with swapin) The first form allows you to capture a low frame rate movie from the webcams. Low means 2fps. The files are written in the current directory. Without the -d option, the script goes into the background and runs forever, unless you give it a -t option, in which case the movies will be terminated after that many seconds. Add the -m option, and you get 15fps movies, suitable for showing off to people. This option IS VERY CPU INTENSIVE. Use it sparingly. It might get better once I hear back from the axis people, telling me if there is a way to turn up the mpeg fps via a URL (like most everything else can be on these cameras). Until then, I am transcoding mjpeg into mpeg, and that sucks. The second form is for use from the swapexp path, to start capturing movies when an experiment is swapped in, and then to then to kill it off (-k) when the experiment is swapped out. At 2fps, it generates about 1MB per camera per minute. Thats a lot of data, so I am not hooking this in quite yet; want to give it some more thought. We may want to export an interface to the web (and commandline) to that people can take movies of their experiments at particular times. Not sure yet.
-
Robert Ricci authored
-
Leigh B. Stoller authored
into motes on the ceiling. I use loc_z info, but my solution is pretty much a hack.
-
Leigh B. Stoller authored
-
- 21 Apr, 2005 1 commit
-
-
Leigh B. Stoller authored
-
- 20 Apr, 2005 6 commits
-
-
Leigh B. Stoller authored
some additional privs; allowed to view/edit node logs and histories of all nodes, plus some others.
-
Robert Ricci authored
Inclues the TinyOS apps we used for data gathering, and the tools we used to process data collected by the TinyOS apps. All are modifications of standard TinyOS tools/apps. I've modified the READMEs to explain the changes I made.
-
Robert Ricci authored
At this point, the actual DRE caclulations are not done, but I wanted to get a snapshot into CVS.
-
Robert Ricci authored
port:card. Call this every place (I think I got them all) a port list is used in snmpit.
-
Robert Ricci authored
allows us to remove the tempfiles created by them.
-
Siddharth Aggarwal authored
- Crash recovery. Saving in memory information to disk during a crash Checking disk for previously stored checkpoint information on boot-up - Read-only mounted checkpoints. Checkpoints #1, #2 and mounted are accessible as /dev/chk1, /dev/chk2 etc.
-
- 19 Apr, 2005 1 commit
-
-
Leigh B. Stoller authored
reasonable!
-
- 18 Apr, 2005 1 commit
-
-
Timothy Stack authored
mysteriously dies.
-
- 15 Apr, 2005 5 commits
-
-
Leigh B. Stoller authored
too. This is done by prefixing the salt with "$1$".
-
Robert Ricci authored
return value, and the return value for die() is not as predictable as you might think!
-
Leigh B. Stoller authored
1. Redirect to outer emulab XMLRPC server when invoked from an inner emulab (as it is from the newnode web page). The XMLRPC server constructs the response using the interfaces and wires table entries for the nodes in the inner emulab. 2. Changes hardwired "experimental" and "control" strings to libdb defs (which are actually different strings, but since no one actually looks at that part of the switchmac return, the change is not going to bother anyone.
-
Leigh B. Stoller authored
boss and ops, which I now set to .252 and .253 instead of .70 and .74. This avoids conflict and confusion.
-
Leigh B. Stoller authored
dhcpd.conf so that all trace is really gone.
-