- 15 Nov, 2004 12 commits
-
-
Leigh B. Stoller authored
hack to deal with inner vs outer control network.
-
Eric Eide authored
except that it's been modified to the point of making the serial console usable in the University of Utah Emulab. The exact contents of this file vary according to the installation environment in any case.
-
Eric Eide authored
although the exact contents of this file vary according to the RPMs that are installed when the system is created.
-
Eric Eide authored
-
Eric Eide authored
Initial checkin. This version is from a virgin Red Hat Linux 9 installation, except that it spawns agetty on ttyS0.
-
Eric Eide authored
-
Leigh B. Stoller authored
-
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.
-
Leigh B. Stoller authored
library to call out to the outer emulab to do the actual power cycle.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
- 14 Nov, 2004 1 commit
-
-
Leigh B. Stoller authored
the initial DB contents are loaded. Create project, the users, the groups, etc.
-
- 12 Nov, 2004 6 commits
-
-
Mike Hibler authored
-
Mike Hibler authored
-
Mike Hibler authored
This way we can use frisbee as a fast network copy. 2. In imageunzip, don't truncate the output file until we have performed basic validity checks. Otherwise, if you happened to reverse the order of the imagefile and the output disk, it would truncate the imagefile and THEN fail. 3. Strip binaries when they are installed.
-
Robert Ricci authored
Contributed by Keith Sklower at Berkeley.
-
Leigh B. Stoller authored
port, and the location of the SSL certificate used to talk to the server
-
Mike Hibler authored
If you install GRUB as the boot loader for Linux (actually Xen), it seems to leave behind enough LILO residue to screw up imagezip.
-
- 11 Nov, 2004 6 commits
-
-
Mike Hibler authored
-
Mike Hibler authored
-
Mike Hibler authored
-
Mike Hibler authored
-
Leigh B. 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.
-
Leigh B. Stoller authored
resource tables. New routine to return whether experiment is an ElabInElab experiment.
-
- 10 Nov, 2004 7 commits
-
-
Robert Ricci authored
-
Leigh B. Stoller authored
-
Mike Hibler authored
frisbee MFS with a zillion possible devices. Requires that /sbin/mknod be installed in the MFS as well.
-
Mike Hibler authored
-
Leigh B. Stoller authored
Direct user to patch the py-m2crypto port.
-
Robert Ricci authored
retries and better error reporting.
-
Robert Ricci authored
-
- 09 Nov, 2004 8 commits
-
-
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.
-
Leigh B. Stoller authored
that ssh redirects through inner boss. This is pretty much how virtual node ssh is done already.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
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.
-
Leigh B. Stoller authored
file) option. Sends a SIGTERM to DHCPD after installing the new config file.
-
Leigh B. 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.
-