1. 17 May, 2005 7 commits
  2. 16 May, 2005 18 commits
    • Mike Hibler's avatar
      typo in error message · ae40e6af
      Mike Hibler authored
    • Mike Hibler's avatar
      Sigh... · a071e63f
      Mike Hibler authored
      Yet another version of the enter/exit scripts to get DHCP to work both
      regular- and elabinelab-wise.  For regular experiments, nothing has changed.
      New strategy for inner elab nodes: if we get a reply with dns server
      (our current indication that the responder is real boss), then we know this
      interface is the real control net.  So we hardwire the speed/duplex on
      *every other* interface at this time.  Also had to resurrect a hack to
      issue a few tmcc calls before running the sethostname script.  Apparently,
      the first few DNS queries after a speed/duplex change may get lost.  This
      causes tmcd calls to fail occasionally.  So make em fail early before we
      try to do anything important.
      Yuk, yuk, yuk.
    • Mike Hibler's avatar
    • Mike Hibler's avatar
    • Mike Hibler's avatar
      After DHCPing, disable all other interfaces like we do for FBSD and RHL7. · aa08bdbf
      Mike Hibler authored
      (Hmm...or did Kirk take this out for RHL9 on the wireless nodes??)
    • Leigh B. Stoller's avatar
      Add support for specifying the CVS tag to use when getting the source code · f1863cfd
      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.
    • Timothy Stack's avatar
      For robots, reset anything related to physical location · 1cfc4a28
      Timothy Stack authored
      (nodes.destination_x,location_info.loc_x, ...).
    • Leigh B. Stoller's avatar
    • Mike Hibler's avatar
    • Timothy Stack's avatar
    • Mike Hibler's avatar
      Quick thoughts on encrypted images. · 13cc85f1
      Mike Hibler authored
    • Leigh B. Stoller's avatar
      Add ability to check out a specific source tag from the mirrored CVS · 603b59f9
      Leigh B. Stoller authored
      tree we keep on boss (which is update each night). Still need to
      arrange for tmcd to pass back CVSSRCTAG=xyz in the emulabconfig
      request, but if it did, that tag is passed along to the web interface,
      which calls new backend script to do the checkout, tar it up, gzip
      it, and spit to stdout.
    • Robert Ricci's avatar
    • Timothy Stack's avatar
      · da5e8604
      Timothy Stack authored
      Some power-by-mail hacking:
        - Bump the timeout for waiting for the operators to flip the switch
          to 20 minutes.
        - Fail fast if the node is in hwdown.  This case is intended to make
          an os_load fail for a robot-mounted mote whose robot is in hwdown.
        - Fail if the robotlab is not open since noone is around to do
          anything about it anyways.
        - Assume success if the event state for a node was updated
          "recently."  This is a fall back in case the powertime web page
          isn't used to notify the system that the node was powered
          on/cycled.  Also, do not send the SHUTDOWN event in this case.
        - Add a TBNodeEventStateUpdated() function to libdb.pm that returns
          true if the eventstate for a node was updated within N seconds
          from the current time.
    • Timothy Stack's avatar
      Add "version" file rule. · d767c345
      Timothy Stack authored
    • Leigh B. Stoller's avatar
      Oops, turn off the debug flag. · dfc41c50
      Leigh B. Stoller authored
    • Leigh B. Stoller's avatar
      Strike 1; Rework the restart code, not that I have a little experience · c901f72a
      Leigh B. Stoller authored
      with it while mysqld was actually hung.
    • Timothy Stack's avatar
      · d4549631
      Timothy Stack authored
      Checkpoint some robot code, mostly related to reliability.
      	* robots/emc/emcd.c: Fail if there is no config file given.  Send
      	an error back to vmcd if there is no rmcd available to satisfy a
      	* robots/mtp/mtp.h, robots/mtp/mtp.c: Added some comments.  Add
      	some more helper functions.
      	* robots/primotion/GNUmakefile.in, robots/primotion/dashboard.hh,
      	robots/primotion/dashboard.cc, robots/primotion/faultDetection.hh,
      	robots/primotion/faultDetection.cc: Fault detection code for the
      	garcia.  Tries to check for and recover from some commonly seen
      	* robots/primotion/garcia-pilot.hh,
      	robots/primotion/garcia-pilot.cc:  Set the fault detection
      	callback, add version info, and fix some whitespace.
      	* robots/primotion/pilotClient.cc: Set the wheel speed when
      	* robots/primotion/wheelManager.hh,
      	robots/primotion/wheelManager.cc: Use the fault detection stuff,
      	tweak some constants, and some other cleanup.
      	* robots/tracker/GNUmakefile.in: Add some missing targets.
      	* robots/vmcd/robotObject.h, robots/vmcd/robotObject.c: Move some
      	robot list management code into here.
      	* robots/vmcd/visionTrack.h, robots/vmcd/visionTrack.c: Comments
      	and some cleanup.
      	* robots/vmcd/vmcd.c: Refactor some of the wiggle code and deal
      	with errors a little better.
  3. 15 May, 2005 1 commit
  4. 13 May, 2005 7 commits
    • Russ Fish's avatar
      Zoom 0 (thumbnail) images are 40% scale, fix the scale bar. · b7bd19f1
      Russ Fish authored
      Also filter out ROBOTS "buildings" when not under robotmap.
    • Leigh B. Stoller's avatar
      For the benefit of people with no middle mouse button, move the stop/restart · 7bb77131
      Leigh B. Stoller authored
      applet functions to the left button menu, which now pops up all the time.
    • Robert Ricci's avatar
    • Robert Ricci's avatar
      Add some notes about IOS commands. · 204c7c10
      Robert Ricci authored
    • Leigh B. Stoller's avatar
      Automate initial user/project setup from setup-db.txt. Rather then · dd1b57bc
      Leigh B. Stoller authored
      have the user go through a set of hard to explain steps, just push
      them through it using the web interface.
      * New sitevars to control a little state machine used by the web
      * When first setting up a testbed, the sitevar value will force the
        web interface to present the user with a single menu option "Create
        New Project" and the "Home" link will take the user to that page.
        The user is instructed to login is as elabman.
      * The user fills in the form as directed in setup-ops.txt. Even though
        he is logged in as elabman, the newproject form has been altered to
        operate as if no one is logged in. I also default a bunch more of
        the fields in this case.
      * The user submits the form. Rather then pend the new project, just
        jump straight into approveproject. That grinds along as usual, and
        when it is done, the elabman account is frozen and the user logged
        out. The user gets a link inviting him to log back in as the user
        just created.
      * Side effects of this new process:
      	* The user is made an admin user (admin=1) automatically.
      	* The user is added to the emulab-ops project as group_root.
      	* The user verification process is skipped.
      	* The user is added to the unixgroups wheel and tbadmin.
      * I reworked this entire section of setup-db.txt ...
      * The user still needs to give himself a real shell and password on
        boss, but I left that for the user to do explicitly. I also drop in
        a pointer to the shellonboss.txt. I might automate this part too at
        some point. Not sure yet.
    • Mike Hibler's avatar
      Yarg! Botched a DESTDIR related variable. · 99f18ce3
      Mike Hibler authored
      Will not have affected anyone but me...
    • Mike Hibler's avatar
      New config variables: · 7d2bb50d
      Mike Hibler authored
           $emulabconfig{"JAILIPBASE"} = "";
           $emulabconfig{"JAILIPMASK"} = "";
      These are used to establish a route on boss and ops so they can talk to
      inner vnodes.
           $emulabconfig{"MFSTARBALL"} = "tftpboot-elabinelab.tar.gz";
           $emulabconfig{"MFSVERSION"} = "53";
           $emulabconfig{"MFSCONSOLE"} = "sio";
      Allow for customization of the MFSes.  The first is the most useful,
      it provides some backend support for something Leigh suggested: the ability
      to select in the NS file whether the inner-elab should use a "release"
      set of files (MFSes, images, emulab source) or the current elabinelab version.
      The last two might not be as useful.
      Currently none of these new variables are actually passed in via tmcd,
      they just get the default values shown above.
  5. 12 May, 2005 7 commits
    • Leigh B. Stoller's avatar
      Minot change to last revision; let anyone swapmod a swapped firewalled · 1adb2069
      Leigh B. Stoller authored
      or elabinelab experiment, but continue to allow only admins to do it
      if the experiment is active. Just while I continue to debug.
    • Leigh B. Stoller's avatar
      Checkpoint the rest of my changes to support swapmod of both ElabInElab and · 6eff9de6
      Leigh B. Stoller authored
      Firewalled experiments (see tbsetup/elabinelab.in for the other stuff).
      * To support firewalled experiments, needed to add a new virt_firewalls
        table to split the existing firewalls table up, which included both
        virtual and physical stuff. There are the usual frontend changes and a
        few other things scattered around, including tmcd.c.
      * The firewall code in tbswap got some beefing up to support adding and
        deleting nodes from the its special control net vlan. Note that I have
        not made any progress on containment of deleted nodes, just as we do not
        do anything now for teardown (unless its paniced, in which case the
        experiment cannot be modified anyway).
      * ptopgen and assign_wrapper got some interesting modifications: Unlike
        regular swapmod, we cannot just tear down all the vlans since that would
        interrupt everything inside the inner elab. Instead, leave the vlans as
        is. The problem is that when assign runs, it can just as easily pick
        different interfaces on the same nodes, which would be a royal pain in
        the ass to deal with! So, ptopgen got a new option (-u) that assign
        wrapper uses to tell ptopgen that it should prune out unused interfaces
        from nodes that are already allocated to the experiment. This is, at
        best, as pathetically gross hack, but it makes sure that all the
        interfaces stay the same across swapmods.
      * The unrelated revision of elabinelab has a bunch of new code for adding
        and deleting nodes from the inner elab. Mostly it deals with dhcpd (inner
        and outer, waiting for nodes to reboot, etc). It also deals with updating
        the vlans table in the DB, pruning out any nodes (ports) that are deleted
        but for which there are still interfaces in existing vlans. Said ports
        are them moved back to the default vlan with calls to snmpit. Also under
        another revision a a couple of weeks ago are the web interface changes to
        support the newnode MFS inside an inner Emulab.
      * swapexp and endexp got some more checks for firewalled and paniced
        experiments, which were missing.
    • Leigh B. Stoller's avatar
      Hmm, a questionable change that I needed cause of ElabInElab and swapmod. · b031d1a7
      Leigh B. Stoller authored
      When doing a swapmod, nodes already reserved to the experiment are "moved"
      (via update) to a holding reservation. Fine.  After assign runs, the old
      nodes are moved back, but this time by an insert into the table, which
      causes them to lose some fields that I do not want them to lose! This might
      really mean that these fields do not belong in the reserved table, but I do
      not want to ponder this right now. Instead I do another update bringing
      them back into the original experiment.
      I left comment indicating that this is under review (and why this commit is
      seperate from the rest of the swapmod changes).
    • Leigh B. Stoller's avatar
      Stuff I added for ElabInElab and swapmod. · 08f0e7f7
      Leigh B. Stoller authored
      * -f option to force deletion. Only works inside ElabInElab.
      * -q option to keep the silly thing from spitting out so much noise.
      * Add a -HUP of stated to reload it tables.
    • Leigh B. Stoller's avatar
      Fix bonehead typo in update query. · 321b4d5d
      Leigh B. Stoller authored
    • Leigh B. Stoller's avatar
      Add scalebar bassed on provided pixels_per_meter argument to applet. · 73e86a6e
      Leigh B. Stoller authored
      Also remove some more defunct double buffering code.
    • Leigh B. Stoller's avatar
      Do not set the OSID on inner elab experimental nodes; let them get · 2a138424
      Leigh B. Stoller authored
      their default. It can still be overridden though in your NS file with:
      	namespace eval TBCOMPAT {
      	    set elabinelab_nodeos(mypc1) FBSD-STD