1. 10 Nov, 2004 6 commits
    • 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
  2. 09 Nov, 2004 11 commits
  3. 08 Nov, 2004 17 commits
  4. 07 Nov, 2004 3 commits
    • Timothy Stack's avatar
      Remove debugging prints. · 3e1986a5
      Timothy Stack authored
      3e1986a5
    • Timothy Stack's avatar
      Small hack to get the right value of $prefix into config.h. If no · c915e5be
      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.
      c915e5be
    • Timothy Stack's avatar
      · f95e336d
      Timothy Stack authored
      Change to the SSL version of the event scheduler.
      
        * db/libdb.py.in, xmlrpc/emulabserver.py.in: Only add the testbed
          library path to sys.path if it is not already there.
      
        * event/sched/GNUmakefile.in: Make the SSL version of the scheduler
          the default instead of the SSH version and statically link the
          executable.
      
        * event/sched/event-sched.c: Pass the default SSL port number (3069)
          to RPC_init.
      
        * event/sched/rpc.cc: Bring the SSL code up to date: read the cert
          from the user's home directory, make the connection persistent,
          and use TBROOT as the request path, so the development version of
          the XML-RPC library is used when appropriate.
      
        * xmlrpc/sslxmlrpc_server.py.in: Updated to let the user select from
          a set of allowed library paths where the 'emulabserver' module
          should be imported from.  Import the 'emulabserver' module after the
          fork so we always get the latest version of the module.  Twiddled
          the necessary bits to turn on persistent connection support.
      f95e336d
  5. 06 Nov, 2004 3 commits