1. 06 Oct, 2003 1 commit
    • Leigh B. Stoller's avatar
      * New libtmcc.pm module that encapsulates the tmcc interface. Most of the · 434a472a
      Leigh B. Stoller authored
        code that was in libsetup has moved into this library, and underwent a
        giant cleaning and pumping up. The interface from your typical perl
        script now looks like this:
        use libtmcc;
        if (tmcc(TMCCCMD_STATUS, "optional arguments", \@tmccresults) < 0) {
            warn("*** WARNING: Could not get status from server!\n");
            return -1;
        foreach my $me (@tmccresults) {
      	print "bite $me";
        The arguments and results are optional values. There is a fourth optional
        value that is a hash of config options (basically converted to command
        line switches passed to tmcc). For example, to set the timeout on an
        individual call, pass a fourth argument like:
      	("timeout" => 5)
        There is also a way to set global options so that all subsequent tmcc
        calls are affected:
      	configtmcc("timeout", 5);
        I'll probably clean this up a bit to avoid the direct strings.
        The result list is a list of strings. Since we are trending away from
        using tmcc to transfer large amounts of data, I think this is okay.
      * A new tmcc.pl which does little more than load libtmcc and use it.
        This will become the new tmcc, with the existing C version becoming a
        backend binary for it.
      * All of the perl scripts in tmcd have been changed to use the new
        library. I left the few uses of tmcc in shell scripts alone since they
        were of the simple variety (mostly "state" command).
      * And again, if you have read this far, you will learn why I bothered with
        all this. Well, the existing code was really bad and it was getting out
        of control. Sort of like a squid that was getting harder to control as
        its rotting tenticles slithered into more and more scripts. Anyway ...
        More important, my goal is to use the libtmcc library to add caching.  I
        have not worked out the details yet, but I am envisioning a configuration
        file, perhaps generated initially by tmcd, of all of the config
        values. If the library finds that file, it sucks the info out of the file
        instead of going to tmcd. Eventually, this config file would be generated
        as part of experiment swapping and stored in the DB, but thats a longer
        term project, and perhaps orthogonal (how we fill the cache is not as
        important as adding the ability to use a cache, right?).
        Note that certain operations (like "state" and "ready") are flagged by
        the library to always bypass the "cache".
  2. 02 Oct, 2003 2 commits
    • Mike Hibler's avatar
      Add yet another route to jails: an interface route for the real control net. · 9fd95b1a
      Mike Hibler authored
      Previously, if you accessed a phys node by its real IP address (155.101.132.N)
      from inside a jail, it used the default route going to the router and back.
      Now it will put it out directly on the control net.
      The main reason for this is so that minibed vnodes can reach their boss and
      ops nodes.  Vnodes in mini don't have a default route that works, so we needed
      a way to get to boss/ops.
      Note that gated will remove this route when it starts up.  Thus, vnodes will
      revert to using the default route to get to the real control net.  On mainbed,
      this will still work (hop through the router as before).  On mini, it won't
      work at all.
      Moral: don't use session routing and vnodes on mini.
    • Leigh B. Stoller's avatar
      Change ixp config to get the host side (gateway) of the pci/eth link · 82e2ec73
      Leigh B. Stoller authored
      from the interfaces table of the parent node. This coincides with
      Rob's changes to stash the IP there, and arrange for it to go into
  3. 30 Sep, 2003 2 commits
  4. 25 Sep, 2003 2 commits
  5. 24 Sep, 2003 4 commits
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Convert install-rpm/install-tarfile to use the web server instead of · 0a259517
      Leigh B. Stoller authored
      tmcd (which is bad, since tying up the tmcd threads blocks all nodes
      in the testbed). The old functionality is left in tmcd for now.
      On the server side, a new web page (www/spewrpmtar.php3) receives a
      request for a file, along with the nodeid (pcXXX) making the request,
      and the secret key that is generated for each new experiment and
      transfered to the node via tmcd. If the key matches, the operation is
      handed off to tbsetup/spewrpmtar.in which verifies that the file is in
      the list of rpm/tar files for that node, and then spits it out to
      stdout. The web page uses fpassthru() to send the file out to the
      client. The client is using wget, and is required to use https (the
      web page checks).
      At present, the external script is run as the creator of the
      experiment, and gid of the experiment. Perhaps this is not a good
      idea. In any event, the file must be in the list of rpm/tarfiles,
      either owned by the experiment creator or with a group of the
      experiment, and the file must reside in either /proj or /groups.
      I use the realpath() function to make sure there are no symlink tricks
      pointing to outside those filesystems. I use the standard NFS read goo to
      prevent transient mount problems that we all know and love.
    • Mike Hibler's avatar
      install of start_if.em0 · 00038164
      Mike Hibler authored
    • Mike Hibler's avatar
      another startup file for aero · 6b5af092
      Mike Hibler authored
  6. 23 Sep, 2003 4 commits
  7. 22 Sep, 2003 1 commit
  8. 19 Sep, 2003 1 commit
  9. 18 Sep, 2003 2 commits
    • Kirk Webb's avatar
      Oops, forgot to commit our little sh script that gets copied over and run · 78710371
      Kirk Webb authored
      first on plab nodes to fix up sudo.
    • Kirk Webb's avatar
      · abc9fa4b
      Kirk Webb authored
      * New GNUmakefile that produces the rootball - not linked in from
        the main TB build.
        - You can (almost) completely build the plab rootball just from the
          testbed source tree.  The one wrinkle is that you must copy the
          Linux tmcc binary into the tmcd/plab object dir since there is no
          great way to build it automatically, and storing it in CVS is not
          a good idea since its likely to change.
      * Removed the suid RPM, no longer needed - added suidperl binary
        since I couldn't think of a better place to put it.
  10. 17 Sep, 2003 5 commits
  11. 16 Sep, 2003 2 commits
  12. 12 Sep, 2003 2 commits
  13. 11 Sep, 2003 1 commit
  14. 09 Sep, 2003 1 commit
  15. 04 Sep, 2003 3 commits
  16. 03 Sep, 2003 6 commits
  17. 02 Sep, 2003 1 commit