- 11 Aug, 2004 2 commits
-
-
Leigh B. Stoller authored
Pass that argument from rc.cdboot since after a successful disk load, there is no need to reboot before asking bootinfo what to do next. This will avoid a full reboot cycle.
-
Leigh B. Stoller authored
-
- 10 Aug, 2004 8 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Russ Fish authored
-
Leigh B. Stoller authored
Add waitforactive() to avoid waiting for state='active' on the client.
-
Russ Fish authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
Also be sure to remove temp file.
-
- 09 Aug, 2004 12 commits
-
-
Russ Fish authored
-
Leigh B. Stoller authored
-
Russ Fish authored
-
Russ Fish authored
-
Leigh B. Stoller authored
* Be more selective about what lists are regenerated; we were generating way too many lists each time called. When calling from tbswap, use new -t option to generate just the active lists. When called from setgroups, use -p option to generate lists just for the project. Add update option for when user changes email address (and all lists really do need to be regenerated). * Add "diff" processing. Instead of blindly firing each new list over to ops with ssh, store a copy of all of the lists in /usr/testbed/lists. After we generate the new list, diff it against the stored copy. If the same, skip it. Otherwise stash new copy and fire it over. This should reduce the wait times by quite a bit since the lists rarely change (except for the activity lists of course). * Add -n (impotent) option for debugging; skips the ssh over to ops. * Reorg a lot of stuff; it was getting hard to follow.
-
Russ Fish authored
Add more description of "non-tree links" and the "show"/"hide" controls. Add some more cross-linking and improve readability.
-
Leigh B. Stoller authored
* Remove DirectoryIndex from the .htaccess file. This file set the index for every directory to start.php3, which was wrong. * Change index.html to redirect to index.php3. * Change start.php3 to redirect to index.php3. I left the start.php3 script in place (one line script) so that existing bookmarks work. * Move the code that used to be in start.php3 to the top of index.php3; this is the code that would zap to the My Emulab page when the user was logged in (and in https mode). Much simpler now.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
supporting both a shell script driven interface, plus the newer XMLRPC interface. This change removes the script driven interface from boss, replacing it with just the XMLRPC interface. Since we like to maintain backwards compatability with interfaces we have advertised to users (and which we know are being used), I have implemented a script wrapper that exports the same interface, but which converts the operations into XMLRPC requests to the server. This wrapper is written in python and uses our locally grown xmlrpc-over-ssh library. Like the current "demonstation" client, you can take this wrapper to your machine that has python and ssh installed, and use it there; you do not need to use these services from just users.emulab.net. Other things to note: * The wrapper is a single python script that has a "class" for each wrapped script. Running the wrapper without any arguments will list all of the operations it supports. You can invoke the wrapper with the operation as its argument: {987} stoller$ script_wrapper.py swapexp --help swapexp -e pid,eid in|out swapexp pid eid in|out where: -w - Wait for experiment to finish swapping -e - Project and Experiment ID in - Swap experiment in (must currently be swapped out) out - Swap experiment out (must currently be swapped in) Wrapper Options: --help Display this help message --server Set the server hostname --login Set the login id (defaults to $USER) --debug Turn on semi-useful debugging But more convenient is to create a set of symlinks so that you can just invoke the operation by its familiar scriptname. This is what I have done on users.emulab.net. {987} stoller$ /usr/tesbed/bin/swapexp --help swapexp -e pid,eid in|out swapexp pid eid in|out * For those of you talking directly to the RPC server from python, I have added a wrapper class so that you can issue requests to any of the modules from a single connection. Instead using /xmlrpc/modulename, you can use just /xmlrpc, and use method names of the form experiment.swapexp, node.reboot, etc. Tim this should be useful for the netlab client which I think opens up multiple ssh connections? * I have replaced the paperbag shell with a stripped down xmlrpcbag shell that is quite a bit simpler since we no longer allow access to anything but the RPC server. No interactive mode, no argument processing, no directory changing, etc. My main reason for reworking the bag is to make it easier to understand, maintain, and verify that it is secure. The new bag also logs all connections to syslog (something we should have done in the orginal). I also added some setrlimit calls (core, maxcpu). I also thought about niceing the server down, but that would put RPC users at a disadvantage relative to web interface users. When we switch the web interface to use the XMLRPC backend, we can add this (reniceing from the web server would be a pain cause of its scattered implementation).
-
Leigh B. Stoller authored
Remove all symlinks of plasticwrap; this has been replaced by the XMLRPC server.
-
Leigh B. Stoller authored
writable by adding a umask(0002) call.
-
- 06 Aug, 2004 3 commits
-
-
Russ Fish authored
Resizing the window, and moving the splitter between the HyperViewer canvas and controls panel, now work. . Resizing of GLCanvas for HyperViewer. EVT_SIZE(self.hypView, self.OnResizeCanvas) . Control the size of the controls panel. EVT_SIZE(self.window_1, self.OnResizeWindow) EVT_SPLITTER_SASH_POS_CHANGED(self.window_1, -1, self.OnSashChanged) . Keep dragging of the window divider outside the window from blanking the HyperViewer canvas or controls panel. self.window_1.SetMinimumPaneSize(21)
-
Russ Fish authored
Minor hypview stuff: . Cleanup: Don't need to call SwapBuffers in the Python code anymore. . Since we're walking a tree, we want the Show/Hide buttons to be on if Descend is checked. . Go to the top node after read-in, so the node info is displayed.
-
Russ Fish authored
. Make the AnimationFrames GUI control work on Windows and FreeBSD. . Make animated moves work in HyperViewer on FreeBSD. - Add setFrameEndCB to HypView{,er}.{h,cpp}, frameEndCB to hvmain.cpp . - Pass the wxGLCanvas pointer from the Python app all the way down to frameEndCB to call wxGLCanvas->SwapBuffers(). The pointer comes through "encrypted" from Python, hack around that. - hvMain now needs to be compiled and linked against the wx_gtk2-2.4 includes and libs so it can call SwapBuffers.
-
- 05 Aug, 2004 4 commits
-
-
Robert Ricci authored
UPDATING.
-
Robert Ricci authored
-
Leigh B. Stoller authored
-
Russ Fish authored
-
- 03 Aug, 2004 6 commits
-
-
Leigh B. Stoller authored
Add explicit -w option to wait for node to reboot.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
interface. This stuff is going to dissappear pretty soon, once we shift from the paperbag to the xmlrpcbag.
-
Leigh B. Stoller authored
* Added a wrapper class so that you can invoke methods as experiment.swapexp or node.reboot. So instead of invoking as /XMLRPC/experiment can calling swapexp, you can call the server as /XMLRPC and call experiment.swapexp. This allows you to use a single connection to talk to different parts of the API. Note this is standard (or is it defacto) syntax in XMLRPC. * Changed the demonstration client to talk the server this way. * Changed paperbag to allow this as well; the xmlrpc server is invoked with no args, which tells it to export the wrapper interface instead of a specific module interface. * A few more cleanups in the server, more permission checks, etc.
-
Leigh B. Stoller authored
-
Russ Fish authored
This sometimes results in wonky, skewed viewing transforms. - Add hvkill function instead of depending on HyperViewer clean-out code. - Improve string handling, remove all fixed-size buffers. - Keep label truncation from segmentation violation with a wonky transform. . OpenDialog initialization: focus and load text from command-line args. . Fix a platform-dependent bug in LabelsMode, resulting from changing it from a dropdown to a choice type widget in wxGlade. Failed to work on Windows.
-
- 31 Jul, 2004 1 commit
-
-
Leigh B. Stoller authored
zero, probably for debugging) so that silly ssh warnings do not appear on console. Add -T option to ssh to avoid tty allocation on server side; no need for that. Add a couple of destructors to make sure that ssh is torn down when destroying a proxy wrapper.
-
- 30 Jul, 2004 4 commits
-
-
Jonathon Duerig authored
-
Jonathon Duerig authored
Added three helper programs. These are utilities to make it easier to directly interface the output of ipassign to the input of distributed-dijkstra. Using these utilities, they can be tested as a unit without having to go through the rest of the infrastructure of emulab.
-
Russ Fish authored
Make various combinations of picking nodes, typing their names, and clicking "Go to top" play together nicely.
-
Leigh B. Stoller authored
interface (which will have its own frontend to emulate the original script interface!) * Refactor the experiment permission checks into a subroutine. * Cleanup some parameter names that did not make sense. * Add portstats, readycount, node_admin, eventsys_control, savelogs, * A couple of little fixes.
-