1. 15 Nov, 2004 12 commits
  2. 14 Nov, 2004 1 commit
  3. 12 Nov, 2004 6 commits
  4. 11 Nov, 2004 6 commits
    • Mike Hibler's avatar
    • Mike Hibler's avatar
      52b2c206
    • Mike Hibler's avatar
    • Mike Hibler's avatar
      e2683fc5
    • Leigh Stoller's avatar
      Checkpoint the client side of ElabInElab changes in case some whacko is · a5c1e591
      Leigh Stoller authored
      dying to see whats going on. These changes can go into new images; it will
      be ignored in non ElabInElab experiments;
      
      rc.inelab: A terrible hack that I now regret. The whole point of this
      script to allow inner boss/ops to 1) play by the standard state machine goo
      (ISUP) for the outer emulab. That way os_setup, node_reboot, etc all work
      when dealing with setting up the inner elab. 2) Since the inner
      control can fall on any of the interfaces (as picked by assign), we
      need to still do ifc/route configuration using tmcd. At the time I did
      this, I expected that swapmod/swapin/swapout would be possible and
      that boss/ops would be coming in on different nodes using different
      interfaces for the inner control net, and that I would want to ask
      each reboot. Well, I think swapping an inner emulab is a really long
      way off, maybe so far off I'll be retired by that time.
      
      rc.mkelab: A lot of very ugly code that turns a node into an inner ops
      or boss. I won't bother to describe this code other than to say the
      operating model for this rev is to create a fully functional inner
      emulab based on the DB state provided by the outer emulab. Currently,
      the current testbed software is expected to be in the /proj tree, and
      a full boss/ops install is done, followed by all kinds of
      customizations (like building accounts for members of the project,
      etc) to make it a fully function emulab with just a single project;
      the project in which the inner emulab was created.
      a5c1e591
    • Leigh Stoller's avatar
      New phystable elabinelab_vlans gets cleared out when removing physical · c2e5c83b
      Leigh Stoller authored
      resource tables.
      
      New routine to return whether experiment is an ElabInElab experiment.
      c2e5c83b
  5. 10 Nov, 2004 7 commits
  6. 09 Nov, 2004 8 commits
    • Leigh Stoller's avatar
      Here is a fun little change. Lacking native perl SSL XMLRPC tools, I · a7482569
      Leigh 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 Stoller's avatar
      ElabInElab change. When ELABINELAB=1, spit out a "gateway" directive so · 1188089f
      Leigh Stoller authored
      that ssh redirects through inner boss. This is pretty much how virtual
      node ssh is done already.
      1188089f
    • Leigh Stoller's avatar
    • Leigh Stoller's avatar
      Fix stupid typos in last revision. · 3bdb37b4
      Leigh Stoller authored
      3bdb37b4
    • Leigh Stoller's avatar
      Mention /usr/ports/databases/py-MySQLdb · 465e94d2
      Leigh Stoller authored
      465e94d2
    • Mike Hibler's avatar
      Subtle: when creating symlinks, do NOT include $(DESTDIR) as part of · 5cd01fc6
      Mike Hibler authored
      the source of the link.  Otherwise when installing an MFS with something
      like DESTDIR=/mnt, you wind up with links like:
      
      lrwxr-xr-x   1 root  wheel   25 Nov  9 11:45 lib@ -> /mnt/usr/local/etc/emulab
      
      which do not resolve when the MFS is booted.
      
      This assumes that DESTDIR is only used for temporary mounting of filesystems
      that are normally mounted elsewhere (and I believe that has always been the
      intent of DESTDIR, at least in BSD).  If DESTDIR reflected the true path,
      then the links will now be wrong.
      5cd01fc6
    • Leigh Stoller's avatar
      Add -r (restart) option, valid *only* with -i (install new config · 822723d1
      Leigh Stoller authored
      file) option. Sends a SIGTERM to DHCPD after installing the new config
      file.
      822723d1
    • Leigh Stoller's avatar
      Look for exit code 1; do not restart since that indicates a syntax · 3cc183dc
      Leigh Stoller authored
      error in the config file, and it would just result in an email storm
      as it tries over and over to restart. Just send email and die.
      3cc183dc