1. 12 Feb, 2004 1 commit
    • Leigh B. Stoller's avatar
      Make the new version of beginexp_xml live now that its been through · f014e8b0
      Leigh B. Stoller authored
      the paper effort for everyone. I've redirected everything to
      beginexp_html.php3 (the front end to the XML version), including the
      plab and bui pages.
      
      I've stuck a redirect in the old beginexp.php3, to make it easy to
      bring back the old version in case something goes wrong. Just comment
      out the lines at the top and reinstall, along with changing the other
      links to it.
      f014e8b0
  2. 11 Dec, 2003 1 commit
  3. 02 Dec, 2003 1 commit
  4. 24 Nov, 2003 1 commit
  5. 17 Nov, 2003 1 commit
    • Leigh B. Stoller's avatar
      Merge the two state machines (batchstate and state) into a single · 2025e0bd
      Leigh B. Stoller authored
      state machine (state). All of the stuff that was previously handled by
      using batchstate is now embedded into the one state machine. Of
      course, these mostly overlapped, so its not that much of a change,
      except that we also redid the machine, adding more states (for
      example, modify phases are now explicit. To get a picture of the
      actual state machine, on boss:
      
      		stategraph -o newstates EXPTSTATE
      		gv newstates.ps
      
      Things to note:
      
      * The "batchstate" slot of the experiments table is now used solely to
        provide a lock for batch daemon. A secondary change will be to
        change the slot name to something more appropriate, but it can
        happen anytime after this new stuff is installed.
      
      * I have left expt_locked for now, but another later change will be to remove
        expt_locked, and change it to active_busy or some such new state name in
        the state machine. I have removed most uses of expt_locked, except those
        that were necessary until there is a new state to replace it.
      
      * These new changes are an implementation of the new state machine,
        but I have not done anything fancy. Most of the code is the same as
        it was before.
      
      * I suspect that there are races with the batch daemon now, but they
        are going to be rare, and the end result is probably that a
        cancelation is delayed a little bit.
      2025e0bd
  6. 30 Oct, 2003 1 commit
  7. 01 Oct, 2003 1 commit
  8. 30 Sep, 2003 2 commits
    • Leigh B. Stoller's avatar
      Forget to change the call to nscheck in beginexp to obey the new · 0acee310
      Leigh B. Stoller authored
      protocol for external scripts. Now that Mike has been successfully
      embarrased in front of everyone, I will document said protocol:
      
      	$status < 0 - Fatal error. Email output to tbops.
      	$status = 0 - Everything okay!
      	$status > 0 - Expected error. Give results to user only.
      
      Of course, only 4 scripts have been adapted to the new protocol, but
      thats okay. I'm sure Mike will trip over them all eventually.
      0acee310
    • Leigh B. Stoller's avatar
      Up to now we have had two state variables associated with an experiment, · 4269dad1
      Leigh B. Stoller authored
      plus a lock field. The lock field was a simple "experiment locked, go away"
      slot that is easy to use when you do not care about the actual state that
      an experiment is in, just that it is in "transition" and should not be
      messed with.
      
      The other two state variables are "state" and "batchstate". The former
      (state) is the original variable that Chris added, and was used by the tb*
      scripts to make sure that the experiment was in the state each particular
      script wanted them to be in. But over time (and with the addition of so
      much wrapper goo around them), "state" has leaked out all over the place to
      determine what operations on an experiment are allowed, and if/when it
      should be displayed in various web pages. There are a set of transition
      states in addition to the usual "active", "swapped", etc like "swapping"
      that make testing state a pain in the butt.
      
      I added the other state variable ("batchstate") when I did the batch
      system, obviously! It was intended as a wrapper state to control access to
      the batch queue, and to prevent batch experiments from being messed with
      except when it was really okay (for example, its okay to terminate a
      swapped out batch experiment, but not a swapped in batch experiment since
      that would confuse the batch daemon). There are fewer of these states, plus
      one additional state for "modifying" experiments.
      
      So what I have done is change the system to use "batchstate" for all
      experiments to control entry into the swap system, from the web interface,
      from the command line, and from the batch daemon. The other state variable
      still exists, and will be brutally pushed back under the surface until its
      just a vague memory, used only by the original tb* scripts. This will
      happen over time, and the "batchstate" variable will be renamed once I am
      convinced that this was the right thing to do and that my changes actually
      work as intended.
      
      Only people who have bothered to read this far will know that I also added
      the ability to cancel experiment swapin in progress. For that I am using
      the "canceled" flag (ah, this one was named properly from the start!), and
      I test that at various times in assign_wrapper and tbswap. A minor downside
      right now is that a canceled swapin looks too much like a failed swapin,
      and so tbops gets email about it. I'll fix that at some point (sometime
      after the boss complains).
      
      I also cleaned up various bits of code, replacing direct calls to exec
      with calls to the recently improved SUEXEC interface. This removes
      some cruft from each script that calls an external script.
      
      Cleaned up modifyexp.ph3 quite a bit, reformatting and indenting.
      Also fixed to not run the parser directly! This was very wrong; should
      call nscheck instead. Changed to use "nobody" group instead of group
      flux (made the same change in nscheck).
      
      There is a script in the sql directory called newstates.pl. It needs
      to be run to initialize the batchstate slot of the experiments table
      for all existing experiments.
      4269dad1
  9. 04 Sep, 2003 1 commit
  10. 30 Jul, 2003 1 commit
  11. 29 Jul, 2003 1 commit
  12. 22 Jul, 2003 1 commit
  13. 21 Jul, 2003 1 commit
  14. 17 Jul, 2003 2 commits
  15. 09 Jul, 2003 1 commit
  16. 08 Jul, 2003 1 commit
  17. 03 Jul, 2003 1 commit
  18. 31 May, 2003 1 commit
  19. 22 May, 2003 1 commit
    • Leigh B. Stoller's avatar
      Reorg the batch system slightly as per Eric's request that batch mode · da97ba35
      Leigh B. Stoller authored
      experiments look more like regular experiments. Batch mode experiments
      can now be preloaded and swapped. When preloaded, they go into a
      "Pause" state. Swapping a batch mode experiment in puts them into the
      "posted" state so the batch daemon will see them. Swapping out a
      batchmode experiment does the expected; it puts them back into the
      Pause state. Terminating a batch mode experiment does the expected;
      its gone. When a batch mode experiment finishes normally, it goes back
      into the pause state, which allows batches to be reinjected as many
      times as Eric likes.
      da97ba35
  20. 24 Apr, 2003 2 commits
  21. 09 Apr, 2003 1 commit
    • Chad Barb's avatar
      · f5ea8480
      Chad Barb authored
      Changed form respit error message:
      "no such group" --> "group 'foo' is not in project 'bar'".
      f5ea8480
  22. 26 Mar, 2003 1 commit
  23. 25 Mar, 2003 1 commit
    • Leigh B. Stoller's avatar
      Address a Tim Stack nit, one thats bothered me for a bit. Get rid of · 6d771542
      Leigh B. Stoller authored
      the newimageid_explain front page, since I had actually moved most of
      that text into the tutorial a couple of months ago. I moved the rest
      of the text over, and changed the links to point to the short form.
      Added a link at the top of the short form pointing to the tutorial
      section, and for admin types, a link to the long form.
      6d771542
  24. 20 Mar, 2003 1 commit
  25. 03 Oct, 2002 1 commit
    • Chad Barb's avatar
      · 4ec689f2
      Chad Barb authored
      Changed Netbuild GUI text at the top to be a bit clearer,
      Text will also be different for the page when NetBuild sends them to it.
      4ec689f2
  26. 12 Sep, 2002 1 commit
    • Chad Barb's avatar
      · acbd1169
      Chad Barb authored
      Changed /tmp file saving to be based on a randomly generated number,
      not UID. This way, POSTing NSFiles from netbuild doesnt require being logged
      in (since Macs dont seem to want to send the appropriate login cookies
      along for the Java POST.) This should fix the Mac OS X problem.
      
      Maintained backward compatability with old methods.
      acbd1169
  27. 10 Sep, 2002 1 commit
    • Chad Barb's avatar
      · 35a9c90c
      Chad Barb authored
      Improved error reporting style.. also added image for uky,
      though right now it is the same as the standard image
      (will edit it soon.)
      35a9c90c
  28. 16 Aug, 2002 1 commit
  29. 12 Aug, 2002 1 commit
  30. 07 Jul, 2002 1 commit
  31. 28 Jun, 2002 1 commit
  32. 16 Jun, 2002 1 commit
  33. 13 Jun, 2002 1 commit
    • Chad Barb's avatar
      · d3ef76bc
      Chad Barb authored
      Changed netbuild to use POST, rather than GET.
      This should alleviate some of the truncation problems we've been having, and
      also is a bit cleaner looking to the client.
      
      The applet posts to nssave.php3, which writes the ns file to /tmp/$uid-$hash.nsfile
      The applet then launches beginexp/php3 in a new browser window, passing it the $hash.
      It can then pass that $hash to spitnsdata.php3, or build "/tmp/$uid-$hash.nsfile"
      as $nsfile (the NS file to use in expt creation.)
      
      There are, as of yet, no file size restrictions, nor is there a mechanism to clean up
      old nsfiles (which really only need to stick around for a short while, <<1hr.)
      d3ef76bc
  34. 29 May, 2002 1 commit
  35. 17 Apr, 2002 1 commit
  36. 16 Apr, 2002 1 commit
  37. 02 Apr, 2002 1 commit
    • Leigh B. Stoller's avatar
      Ah, the things I do. Added web page and backend script to scroll the · 07323144
      Leigh B. Stoller authored
      experiment log file to the user as it gets generated. The web page
      does not redraw, it just never exits until the backend sees that the
      experiement transition is done, and then it exists, which terminates
      the script. I added a DB field to hold the logfile name and some
      routines in libdb, with the idea that this might be more generally
      useful at some point. Next time you create an experiment, look for the
      last sentence, and click on "realtime".
      07323144