- 03 Aug, 2004 4 commits
-
-
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 7 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.
-
Russ Fish authored
. Allow typing in a node name, go to it when Enter is pressed. . Get node name after the GoToTop button is pressed.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
- 29 Jul, 2004 15 commits
-
-
Russ Fish authored
. Improve control panel layout by removing spacers and using Border spacing instead. . Start to make resizing work by setting Expand options in the GUI. . Change the LabelsMode widget from a wxComboBox to a wxChoice. . Disallow non-numeric chars and handle Enter in the "Node/Link depth" spinboxes. . Handle Enter in the Open dialog text fields; complain politely about empty text. . Disable show/hide buttons when there are no links in or out, respectively.
-
Jonathon Duerig authored
-
Jonathon Duerig authored
partitioning scheme. They seem to perform about the same, which is not what was expected. Further tests and tweaks may uncover the cause.
-
Leigh B. Stoller authored
* Change use of TBGetSiteVar to the non-fatal variant to prevent the batch daemon from exiting when mysql goes whacky.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
store the result in. When called this new way, the value goes into $rptr, and exit status is returned to caller instead. In addition, when called this way, all errors are non-fatal; it is up to the caller to decide what to do.
-
Leigh B. Stoller authored
* The first involves swapmod. When a swapmod on an active experiment fails, tbswap will reswap the experiment back to the original configuration. The problem is that it is reswapping it with the *new* virtual state of the experiment in the DB. It is not until later when control returns to swapexp that the virtual state is restored. This is plainly wrong, and in fact was causing the event scheduler grief cause it was starting up, reading the the virtual topo, which was different, wrong, and about to be blown away. I reorganized the modify section of swapexp so that virtual state is restored only when its a swapmod on a swapped experiment. On an active experiment, I moved that code down into tbswap, which will now does all of the virtual and physical state retore before it does the reswap back to the original experiment. Just for kicks, its also done if tbswap decides to swap the experiment cause of a fatal error. Cleanups: I changed $NoRecover to $CanRecover. My feeble brain cannot deal with !$NoRecover. I know, two knots make a wright for most people. Renderer: I was annoyed by the fact that we rerun the renderer on a failed swapmod. The original reason is that the renderer runs in the background and so vis_nodes cannot be saved with the rest of the virtual state tables cause the renderer might still be running when the user fires off the swapmod. Well, the hell with that. We lock the vis_nodes table anyway in the renderer during update, so we are certain to get a consistent snapshot. We store the renderer pid in the experiments table, so if the renderer was running, just fire off another one; mostly this is not going to happen. In addition, tbprerun no longer starts a new renderer when doing the swapmod; I start the new renderer later after swapmod succeeds. I might end up tweaking this a bit depending on what people notice as being different. * Termination changes to batchexp and swapexp: I've rearranged the termination code using an END block so that any uncontrolled exit from either batchexp or swapexp will go through the cleanup code, and hopefully insert a stats record, as well as not leave the experiment in some inbetween state. I've set the max DB retry count to zero in both cases, which means infinite retry. I've also added SIGTERM handlers to both so that again, we can kill a hung batch/swap and have it clean up things more or less. Note that END blocks are not caught when a signal causes the program to die; you have to catch it and then die() so that the END block is executed. Eventually, we need to clean up the various libraries so that we do not use DBQueryFatal(), but rather use DBQueryWarn(), and look for failure. Ditto for event system interface.
-
Leigh B. Stoller authored
That will show the devil who means business. Right on.
-
Mike Hibler authored
-
Mike Hibler authored
of affairs.
-
Mike Hibler authored
This is apparently a no-no and was happening at DETER.
-
Mike Hibler authored
-
Mike Hibler authored
It isn't needed on clients and it requires the linuxthreads package which is not otherwise needed.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
- 28 Jul, 2004 7 commits
-
-
Russ Fish authored
I took it off when debugging popen streams on Windows; it shouldn't have been checked in.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
to be reused if the DB is dropped and recreated, since when that happens, auto_increment history is lost and it will go back to using the latest highest index in the table. Usually not a problem, but since we cross index three other tables using the experiment index, this causes quite a bit of grief. So, my solution is to do my own auto_increment using the experiment_stats table (locked of course), which we never delete entries from without deleting all entries from the other cross referenced tables. DBQueryFatal("select MAX(exptidx) from experiment_stats"); I also added a sanity check to make sure the new index is not currently in use in any of the tables. I also cleaned up the error path when something goes wrong.
-
Russ Fish authored
-
Russ Fish authored
Add a cross-reference from the Windows installation section to the release notes section on setting up SSH or PuTTY/plink.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
NFS, convert to using a proxy that runs on ops, which does the copying locally.
-
- 27 Jul, 2004 5 commits
-
-
Kirk Webb authored
Wrote new abstract and outline for WORLDS paper based on today's paper meeting.
-
Timothy Stack authored
webfeedback to talk to the newer version of canaryd. Add feedback "estimate" stuff so that if we have no data (because of an overloaded node) to work with, we can make some sort of "reasonable" guesstimate on every iteration.
-
Timothy Stack authored
than jamming more stuff into the old one. Most of the code came from the previous version of canaryd, the cpu broker (process accounting), and the janosvm (network interface accounting). Its missing some features of the old one, but those can be incorporated without too much trouble. Changes: Designed to permanently run on the pnodes: it waits for START events before it begins recording. However, I haven't done the work necessary to have it always startup on the pnodes. No more exec'ing: process stuff is taken from "/proc", and network interface stats are pulled from getifaddrs(3). Fixed some minor bugs: A typo caused the real-time priority to not be set, use setitimer instead of sleep to get more accurate spacing between samples.
-
Leigh B. Stoller authored
return instead.
-
Leigh B. Stoller authored
at the same time you clear the load address. admin people only.
-
- 26 Jul, 2004 1 commit
-
-
Timothy Stack authored
instead of just their names. Enhance experiment.statewait() to accept multiple states to wait for, or, to wait for any state change. Add experiment.thumbnail() method so the topology can be displayed in NetBuild.
-