- 14 Dec, 2004 1 commit
-
-
Robert Ricci authored
'power' command.
-
- 13 Dec, 2004 2 commits
-
-
Robert Ricci authored
A script for powering on, off, and cycling motes attached to stargates Requires /usr/local/bin/motepower (our program, not yet in CVS) to be installed on the hosting stargate.
-
Timothy Stack authored
Rmcd and garcia stuff: * configure, configure.in: Add robot related template files. * robots/GNUmakefile.in: Add primotion directory. * robots/emc/emcd.c: Debugging printfs, check the status for update-position messages from rmc, and add a basic handler for emulab clients. * robots/emc/test_emcd.sh.in: Update for changes in mtp. * robots/mtp/mtp.h, robots/mtp/mtp.c: Changes for the garcia. * robots/mtp/mtp_send.c: Fixes so that it will compile under linux. * robots/primotion/GNUmakefile.in: Makefile for building a fake gorobot in the testbed tree. * robots/primotion/Makefile: tweaks * robots/primotion/gorobot.cc: First draft with sort-of working networking code. * robots/primotion/test_gorobot.sh.in: Test case for the fake gorobot. * robots/primotion/dgrobot/GNUmakefile.in: Makefile for building a fake grobot class in the testbed tree. * robots/primotion/dgrobot/grobot.h: Add #if !defined(GROBOT_SIM) conditionals. * robots/primotion/dgrobot/grobot_sim.cc: Empty impl of grobot class used for testing. * robots/rmcd/GNUmakefile.in: Targets for building rmcd and running its test case. * robots/rmcd/rmcd.c: First draft with sort-of working networking code. * robots/rmcd/test_emcd.config: emcd configuration for the rmcd test case. * robots/rmcd/test_rmcd.sh.in: Test case for rmcd.
-
- 10 Dec, 2004 1 commit
-
-
Timothy Stack authored
Start on vmc: * configure, configure.in: Add vmcd related template files. * robots/GNUmakefile.in: Switch order of vmcd/rmcd. * robots/emc/GNUmakefile.in: cleanup * robots/mtp/GNUmakefile.in: Add mtp_dump tool. * robots/mtp/mtp.c: Change mtp_encode_packet to use a passed in buffer pointer or allocate a buffer if its NULL, probably gonna be a big source of errors... * robots/mtp/mtp_dump.c: Another command-line tool that connects to a server and dumps mtp packets that are received. Useful for seeing output from the vmc-client. * robots/vmcd/GNUmakefile.in: Add vmc-client and test case. * robots/vmcd/test_vmc-client.sh.in: Test case for the vmc-client. * robots/vmcd/vmc-client.c: First cut of the vmc-client, it reads mezzanine output and sends it to any connected clients.
-
- 09 Dec, 2004 1 commit
-
-
Timothy Stack authored
Make the dots move on the robot map web page: * configure, configure.in: Add robots/emc/loclistener. * event/lib/event.h, event/lib/event.c: Add some helper functions for sending events and parsing args. * event/lib/tbevent.py.tail, event/lib/tbevent.py: Add support for clients that register using keyfiles. * robots/emc/GNUmakefile.in: Install loclistener on boss. * robots/emc/emcd.h, robots/emc/emcd.c: Send update events every two seconds with the node's location. Fill out a little more of the event callback, not sure what to do with the requested destination though. Add some code to the vmc callback to store position updates. Changed the config file format to also include the vname of the robot. * robots/emc/loclistener.in: Listen for NODE MODIFY events with coordinates and update the database accordingly. Kinda sucks, but it works. * robots/emc/test_emcd.config: Add vnames to the robots to reflect change in the config file format. * tbsetup/ns2ir/node.tcl: Add nodes to the virt_agents table.
-
- 08 Dec, 2004 1 commit
-
-
Timothy Stack authored
Elvinize emc and some bug fixes... * configure, configure.in: Add "robots/emc/test_emcd.sh" script to the list of template files. * robots/GNUmakefile.in: Add a target for install-subdir. * robots/emc/GNUmakefile.in: Compile emcd and install it on ops. Add test_emcd.sh test case. * robots/emc/emcd.h, robots/emc/emcd.c: Elvinize, add support for events, and some minor cleanup. * robots/emc/robot_list.c: Compilation fixes. * robots/emc/test_emcd.config: Robot config for the test case. * robots/emc/test_emcd.sh.in: Test case for emcd, just starts it up and uses mtp_send to send a few messages to it. * robots/mtp/GNUmakefile.in: Install mtp_send and mtp_recv on ops. * robots/mtp/mtp.h, robots/mtp/mtp.c: Marshall floats correctly, doh! Move the packet printing code from mtp_recv to the lib. * robots/mtp/mtp_recv.c: Move the packet printing code to the lib. * robots/mtp/mtp_send.c: Add a "-w" option to wait for a response from the peer and then dump the packet to stdout. Allow multiple packets to be sent from a single invocation, the arguments for each packet must be separated by a double dash (--), see test_emcd.sh.in for an example. * robots/mtp/mtp_test.c: Gah, test with actual floating point values dummy.
-
- 07 Dec, 2004 1 commit
-
-
Timothy Stack authored
Command line tools for the robot protocol: * configure, configure.in: Add the robots GNUmakefiles. * robots/mtp/GNUmakefile.in: Add command line tools: mtp_send and mtp_recv. * robots/mtp/mtp.c: Make readall return an error if all of the data wasn't read instead of making the caller check. Free the buffer allocated in mtp_send_packet. Add an mtp_free_packet. * robots/mtp/mtp_recv.c: Faux receiver of mtp packets, it doesn't actually follow the protocol, it just prints out whatever it receives. * robots/mtp/mtp_send.c: Command line tool for sending mtp packets.
-
- 16 Nov, 2004 1 commit
-
-
Leigh B. Stoller authored
download images from the outer emulab. This script is invoked from frisbeelauncher when ELABINELAB=1 and the filename does not exist (thus attempting to get the image file before bailing). The frisbeeimage script uses a new method in the RPC server to fire up a frisbeed (using frisbeelauncher on the outer Emulab), subject to the usual permission checks against creator of the elabinelab experiment (I assume that the creator will have access to any outer images that are used inside the inner emulab). If outer frisbeelauncher succeeds, its return value is the load_address (IP:port), which is used to fire up a frisbee client to get the image file and write it out (using Mike's new -N option that just dumps the raw data to file). Once the image is downloaded, control returns to inner frisbeelauncher and proceeds as normal. I whacked this together pretty quickly. Under heavy usage it might hit a race condition or two, but I do not expect that to happen in an inner elab for a while.
-
- 15 Nov, 2004 3 commits
-
-
Leigh B. Stoller authored
configure so that we can localize it for inner emulab. Not good to overlap the address space between inner and outer emulab if inner boss is going to use frisbee client to suck images from outer frisbeed.
-
Leigh B. Stoller authored
hack to deal with inner vs outer control network.
-
Leigh B. Stoller authored
-
- 12 Nov, 2004 1 commit
-
-
Leigh B. Stoller authored
port, and the location of the SSL certificate used to talk to the server
-
- 08 Nov, 2004 2 commits
-
-
Timothy Stack authored
-
Leigh B. Stoller authored
Move them to defs-default. Allow for per-user defs files to use . defs-default in them. I do this by temporarly changing the path when evaluating the defs file, adding the directory where the defs file lives. So, you can do this in your personal defs file, whic saves on a lot of typing! . defs-default TBOPSEMAIL=stoller@flux.utah.edu TBLOGSEMAIL=stoller@flux.utah.edu blah blah blah I also changed all of the *local* defs file to use the above format.
-
- 07 Nov, 2004 1 commit
-
-
Timothy Stack authored
prefix is specified on the command line the value of $prefix when the config.h is generated is 'NONE' instead of '/usr/testbed', so we have to manually define it to the default ourselves.
-
- 01 Nov, 2004 1 commit
-
-
Leigh B. Stoller authored
should contact for services. Append :portnum if needed.
-
- 29 Oct, 2004 3 commits
-
-
Robert Ricci authored
Add tbuisp, a frontend to uisp, the program used to upload code to motes. Takes care of testbed permissions checking, and figuring out most of the command-line arguments to uisp (like the programming board chipset and microcontroller part number). For now, only supports uploading code to a mote, and has debugging output turned on. Depends on 'uisp' being installed - right now, that doesn't happen automatically. Probably what I should do is import the uisp code into our CVS tree, since it's GPLed, and not _too_ huge ( O(dozen) files. )
-
Timothy Stack authored
-
Leigh B. Stoller authored
its an inner elab. Define ELABINELAB in the inner defs file. Actual hack is coming in a bit.
-
- 26 Oct, 2004 1 commit
-
-
Leigh B. Stoller authored
template file.
-
- 25 Oct, 2004 1 commit
-
-
Timothy Stack authored
-
- 08 Oct, 2004 1 commit
-
-
Leigh B. Stoller authored
by more then just plab code.
-
- 07 Oct, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 05 Oct, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 04 Oct, 2004 1 commit
-
-
Leigh B. Stoller authored
(config files) can be localized: C = @SSLCERT_COUNTRY@ ST = @SSLCERT_STATE@ L = @SSLCERT_LOCALITY@ O = @SSLCERT_ORGNAME@ Which are initialized locally to: SSLCERT_COUNTRY="US" SSLCERT_STATE="Utah" SSLCERT_LOCALITY="Salt Lake City" SSLCERT_ORGNAME="Utah Network Testbed" Also added an "apache" target which will generate an initial cert/key for the apache server. This is a self signed certificate of course, which is fine for getting a new site off the ground. Note that the cert/key are installed during by install/boss-install.
-
- 01 Oct, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 30 Sep, 2004 3 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
parameters in the defs file. Pretty simplistic at the moment, but will work for our current setup, and for elabinelab. Rob is gonna either laugh or shoot me.
-
Leigh B. Stoller authored
boss/op install scripts when they change. Been doin' that a lot lately.
-
- 29 Sep, 2004 1 commit
-
-
Leigh B. Stoller authored
stuff uses it.
-
- 28 Sep, 2004 1 commit
-
-
Mike Hibler authored
-
- 24 Sep, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 01 Sep, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 30 Aug, 2004 1 commit
-
-
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.
-
- 18 Aug, 2004 3 commits
-
-
Robert Ricci authored
nodes itself.
-
Leigh B. Stoller authored
-
Robert Ricci authored
of all references to a node. Mainly intended for when you have a mishap with the newnode stuff and need to clean it up. Added a big list of which tables contain information about physical nodes to libdb, so that this and other scripts can find it all.
-
- 16 Aug, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 13 Aug, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 11 Aug, 2004 1 commit
-
-
Mike Hibler authored
-