1. 04 Apr, 2005 2 commits
    • Timothy Stack's avatar
      · 463ee6b1
      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.
      463ee6b1
    • Mike Hibler's avatar
      d75ced68
  2. 01 Apr, 2005 1 commit
  3. 31 Mar, 2005 6 commits
    • Leigh B. Stoller's avatar
      Minor changes for how obstacles are drawn. Obstacles are now filled in · 7300d5f7
      Leigh B. Stoller authored
      all the time. Turning on exclusions just extends the shading around
      the object.  Also pay attention to new DB flag "no_exclusion" which
      prevents the zone from ever being drawn, and is used to reduce visual
      clutter by turning of the zone for some obstacles. Also remove the
      blue border around the zones, again to reduce visual clutter.
      7300d5f7
    • Leigh B. Stoller's avatar
      Redo the base gif files. These are very simple; just a lot of white · c66f622e
      Leigh B. Stoller authored
      in the right size. Wow, we could probably even generate this image on
      the fly, except that it has that nice little directional legend that Tim
      added, and I don't want to mess with that right now!
      
      Note that the new floormap code will draw all the obstacles, even the
      walls, so there is not need for anything in the base gif anymore.
      c66f622e
    • Leigh B. Stoller's avatar
      Allow the building and floor to be specified in the URL so that we · 009d1d4e
      Leigh B. Stoller authored
      can see other robot areas.
      009d1d4e
    • Timothy Stack's avatar
      · 6095eb48
      Timothy Stack authored
      Use node_startloc table to figure out where robots are physically
      located initially, instead of using location_info for current location
      and initial.
      
      	* tbsetup/ptopgen.in: When adding features for nodes attached to a
      	building (e.g. robots), pull the building names from node_startloc
      	instead of location_info.  This change lets the robots exist in
      	two different areas.
      
      	* tbsetup/ns2ir/parse-ns.in: Pull building names from
      	node_startloc instead of location_info.
      6095eb48
    • Timothy Stack's avatar
      Tweaks for garcia-pilot: · bcfa8a85
      Timothy Stack authored
      	* robots/primotion/garcia-pilot.cc: Turn off the fall sensors,
      	since they have a tendency to go off for no good reason.
      
      	* robots/primotion/pilotButtonCallback.cc: A short-click on the
      	user-button now shuts the garcia down.
      
      	* robots/primotion/pilotClient.cc,
      	robots/primotion/wheelManager.hh,
      	robots/primotion/wheelManager.cc: Set the wheel speed.
      bcfa8a85
    • Timothy Stack's avatar
      · 6cce1762
      Timothy Stack authored
      Pass camera local to world offsets through vmcd.
      
      	* event/sched/rpc.cc: Add the camera fixed_x,fixed_y values to the
      	emcd.config file.
      
      	* robots/emc/emcd.c: Pickup the cameras fixed_x,fixed_y values
      	from the config file.  Add supports for setting the speed of the
      	robot.
      
      	* robots/mtp/mtp.h, robots/mtp/mtp.c: Add support for setting
      	speed in GOTO packets and constructing vmc-client config packets.
      
      	* robots/mtp/mtp.x: Add a vmc-client config packet that contains
      	the cameras origin in world coordinates.
      
      	* robots/mtp/mtp_dump.c: Dump the min/max values for x and y,
      	handy for figuring out the bounds of the camera.
      
      	* robots/vmcd/visionTrack.c, robots/vmcd/visionTrack.h: Handle
      	cameras that are overlapping on two axes.
      
      	* robots/vmcd/vmc-client.c: Accept a vmc-client config packet that
      	tells us where the camera is in world coordinates.  Add an
      	orientation flag that specifies how the camera is oriented wrt to
      	the world coordinate system.
      
      	* robots/vmcd/vmcd.c: Send vmc-client config packets out.  Fix a
      	bug that left unknown tracks in the previous frame, which could
      	confuse the matching algorithm causing it to match unknown tracks
      	instead of valid known tracks.
      6cce1762
  4. 30 Mar, 2005 5 commits
  5. 29 Mar, 2005 8 commits
  6. 28 Mar, 2005 6 commits
    • Robert Ricci's avatar
      New script: backupswitches. Just a little front-end to · 6d184e82
      Robert Ricci authored
      grabswitchconfig, suitable for daily running from cron.
      6d184e82
    • Robert Ricci's avatar
      Allow root to run it · fbfd52bf
      Robert Ricci authored
      fbfd52bf
    • Robert Ricci's avatar
      New script: grabswitchconfig . Grabs the configuration from a switch, · 6506aee1
      Robert Ricci authored
      and stashes it in a local file.
      6506aee1
    • Timothy Stack's avatar
      Add "fixed_x" and "fixed_y" fields to the cameras table which stores · dd48fd58
      Timothy Stack authored
      the fixed point on the ground where the camera origin is in world
      coordinates.
      dd48fd58
    • Timothy Stack's avatar
    • Leigh B. Stoller's avatar
      Implement a cross machine login so that user is automatically logged · 9310dedb
      Leigh B. Stoller authored
      into the Wiki when clicking on the My Wiki's link. Works like this:
      
      * The My Wiki's link points to new page, gotowiki.php3, on boss.
      
      * The gotowiki page looks for a new cookie in the user's browser
        which holds a key (the usual random data run through md5).
      
      * If the key does not exist, generate it and store it in the user
        browser (expires when browser is closed or emulab login times out).
        Also invoke backend script wikixlogin, which will send the key over
        to the wiki server (via ssh), which will write the key into a file
        named by the user account.
      
      * The user's browser is redirected to the wiki server's login script
        (twiki/bin/newlogon), but instead of username and password, we send
        over username and key (as well as redurl= parameter which is the
        page on the wiki server to redirect to later).
      
      * The new login script looks for this case, and opens the file named
        by the user and compares the key it gets with what is in the file.
        If they match, the user login succeeds and the browser is once again
        redirected, but this time to the page it wants on the wiki server.
        If the key does not match, the browser is redirected to the login
        page (so user can enter username password normally). The redurl
        parameter is passed along as well.
      
      * Subsequent clicks on My Wiki's will not need to invoke the backend
        script, since the cookie will be in the browser.
      9310dedb
  7. 26 Mar, 2005 2 commits
  8. 25 Mar, 2005 8 commits
    • Robert Ricci's avatar
      d1791a25
    • Leigh B. Stoller's avatar
      Add a role slot to the new_interfaces table to mirror the role slot of · 3c29b0b0
      Leigh B. Stoller authored
      the interfaces table. This will be used to override the defaults that
      newnode assigns using the node_types table, since for ElabinElab,
      interface roles are actually picked however assign feels like it, not
      according to any rules.
      3c29b0b0
    • Leigh B. Stoller's avatar
      Ack, add some ()'s! · 2fd0955e
      Leigh B. Stoller authored
      2fd0955e
    • Leigh B. Stoller's avatar
      Okay, I think I am finally done with WikiWhacking (or WhackingTheWiki?) · 90dcbbe2
      Leigh B. Stoller authored
      for the near future. Two big changes:
      
      * Add WikiOnly accounts. An external user can register for an account on
        the wiki. Rather then use the registration stuff that comes with TWiki,
        redirect to new Emulab web page so we can manage all of the wiki accounts
        from one place. I modified the joinproject page to spit out a subset of
        the required fields so that its simple to get a wiki only account (just a
        few things to fill in).
      
        In keeping with current security practices, we still generate a
        verification email message to ensure the email address works. However,
        when the user completes the verification, the wiki account is created right
        away, rather then waiting for someone to approve it (since that would
        defeat the entire point of the wiki).
      
        Aside: I have not thought much about the conversion from a wiki-only
        account to a real account. That is going to happen, and it would be nice
        if that step did not require one of use to go in and hack the DB. Will
        cross that moat later.
      
        Aside: Rather beat up on the modify user info page too much, I continue
        to spit out the same form, but mark most of the fields as not required,
        and allow wiki-only people to not specify them.
      
      * Both the joinproject and newproject pages sport a new WikiName field so
        that users can select their own WikiName. I added some JavaScript to
        both pages that generate a suitable wikiname from the FullName field, so
        that as soon as the user clicks out of the FullName, a default wikiname is
        inserted in the field.
      
        Both pages verify the wikinames by checking to make sure it is not
        already in use, and that it meets the WikiRules for WikiTopic names.
        (someone please shoot me if I continue to use WikiNotation).
      90dcbbe2
    • Leigh B. Stoller's avatar
      Minor formatting tweaks and fixes. · 1b22ebcc
      Leigh B. Stoller authored
      1b22ebcc
    • Leigh B. Stoller's avatar
      Commit final version of wikisetup, which is used to initialize the · 0f86b38d
      Leigh B. Stoller authored
      wiki pages for projects and users on an existing testbed. This
      assumes I can easily partition the actual twiki code into a
      distribution that we can give people. I haven't really thought much
      about that, but I assume its not too hard.
      0f86b38d
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Move the permission notes into separate wiki "include" files so that I · ee499cb1
      Leigh B. Stoller authored
      do not replicate the notes into 1200 files (and of course, so we
      easily change the notes later).
      ee499cb1
  9. 24 Mar, 2005 2 commits