1. 15 Nov, 2004 7 commits
    • Eric Eide's avatar
      Initial checkin. · 305bcb3d
      Eric Eide authored
      305bcb3d
    • Leigh B. Stoller's avatar
      Some new files added to the system ... · 0e3df8a3
      Leigh B. Stoller authored
      0e3df8a3
    • Leigh B. Stoller's avatar
      A bunch of ElabInELab changes. · 10b116e0
      Leigh B. Stoller authored
      * snmpit: When ElabInELabis true, use the routines in the new
        snmpit_remote.pm library for setting up and tearing down vlans for an
        experiment. At present, only these two operations are proxied out to
        the outer emulab.
      
      * snmpit_remote.pm: A new little library that uses the XMLPRC server on
        the outer emulab to setup and destroy vlans for an inner experiment.
        This code is used from snmpit (see above).
      
      * snmpit_lib.pm: A couple of minor changes for the server side of the
        proxy operation.
      
      * snmpit.proxy.in: A new perl module that is invoked from the RPC
        server.  This proxy sets up and tears down vlans for an inner elab.
        The basic model is that the container experiment will have lots of
        vlans for various individual experiments running on the inner emulab.
      
      * swapexp: A couple of minor elabinelab hacks.
      
      * tbswap: For elabinelab experiments, reconfig/restart dhcpd when
        tearing down the experiment, and call out to new elabinelab script
        when setting up an elabinelab experiment. There is no provision for
        swapmod at this time.
      
      * elabinelab: A new script to create the inner emulab. Does all kinds of
        gross DB stuff then more gross stuff on the inner ops and boss.
      10b116e0
    • Leigh B. Stoller's avatar
      ElabInElab: When operating inside an inner emulab, use the libxmlrpc · 9aab7322
      Leigh B. Stoller authored
      library to call out to the outer emulab to do the actual power cycle.
      9aab7322
    • Leigh B. Stoller's avatar
      Another typo! · 9687a1bb
      Leigh B. Stoller authored
      9687a1bb
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Fix minor typo in last revision. · 0c267b15
      Leigh B. Stoller authored
      0c267b15
  2. 14 Nov, 2004 1 commit
  3. 12 Nov, 2004 6 commits
  4. 11 Nov, 2004 8 commits
  5. 10 Nov, 2004 7 commits
    • Mike Hibler's avatar
      Create disk special files as needed so we don't have to preload the · 6d980103
      Mike Hibler authored
      frisbee MFS with a zillion possible devices.  Requires that /sbin/mknod
      be installed in the MFS as well.
      6d980103
    • Mike Hibler's avatar
    • Leigh B. Stoller's avatar
      Mention python installation. · 2059ecb2
      Leigh B. Stoller authored
      Direct user to patch the py-m2crypto port.
      2059ecb2
    • Robert Ricci's avatar
      Convert setPortVlan() to use snmpitSetWarn(), so that we'll get its · 7c200769
      Robert Ricci authored
      retries and better error reporting.
      7c200769
    • Robert Ricci's avatar
    • Leigh B. Stoller's avatar
      Here is a fun little change. Lacking native perl SSL XMLRPC tools, I · a7482569
      Leigh B. Stoller authored
      put together a little library that provides the illusion of nativeness.
      
      sslxmlrpc_client.py.in: New "rawmode" (-r) option. Instead of the
      usual command line operation, input raw XMLRPC goo and send that over
      to the server. The raw XMLRPC reply goo is spit out on stdout. In
      other words, it is up to the caller to generate the XML stuff, and
      convert back from XML to a reply structure.
      
      libxmlrpc.pm.in: A new perl library that exports one real method
      called, interestingly enough, CallMethod($$$). The first and second
      arguments are the module and method to invoke in the RPC server. The
      third argument is an arbitrary perl data structure to convert into XML
      and pass to the server. For example:
      
      	libxmlrpc::CallMethod("experiment", "state",
      	                      {"proj" => "testbed", "exp" => "myemulab"});
      
      The return value of CallMethod is whatever data structure the server
      returned, or undef if there is an internal error or if the RPC fails
      with a transport error (one of the errors in emulabclient.py).
      
      In case it is not obvious, CallMethod converts the argument to XML
      using the RPC:XML perl module, forks off a child to run
      sslxmlrpc_client.py.in in rawmode, sends it the XML on its stdin,
      reads back the XML for the reply from its stdout, and converts that to
      a perl data structure to return to the caller.
      
      The more interesting use of this new goo is to invoke the new
      "elabinelab" module in the RPC server, which exports some new methods
      to support elabinelab. The idea is that the inner boss will invoke
      routines (like setup/destroy vlans, or power cycle) using the RPC
      server, and the SSL key of the creator of the inner emulab. This will
      be described in more detail when I check in those changes.
      
      There is also a Config() method that is used to set the SSL cert path,
      debugging, verbosity, etc. You can take a look if you are interested.
      
      This can be arbitrarily fancy, but I don't need this for many things.
      a7482569
    • Leigh B. Stoller's avatar
      ElabInElab change. When ELABINELAB=1, spit out a "gateway" directive so · 1188089f
      Leigh B. Stoller authored
      that ssh redirects through inner boss. This is pretty much how virtual
      node ssh is done already.
      1188089f
  6. 09 Nov, 2004 11 commits