1. 30 Oct, 2003 1 commit
  2. 01 Oct, 2003 1 commit
  3. 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
  4. 04 Sep, 2003 1 commit
  5. 30 Jul, 2003 1 commit
  6. 29 Jul, 2003 1 commit
  7. 22 Jul, 2003 1 commit
  8. 21 Jul, 2003 1 commit
  9. 17 Jul, 2003 2 commits
  10. 09 Jul, 2003 1 commit
  11. 08 Jul, 2003 1 commit
  12. 03 Jul, 2003 1 commit
  13. 31 May, 2003 1 commit
  14. 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
  15. 24 Apr, 2003 2 commits
  16. 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
  17. 26 Mar, 2003 1 commit
  18. 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
  19. 20 Mar, 2003 1 commit
  20. 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
  21. 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
  22. 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
  23. 16 Aug, 2002 1 commit
  24. 12 Aug, 2002 1 commit
  25. 07 Jul, 2002 1 commit
  26. 28 Jun, 2002 1 commit
  27. 16 Jun, 2002 1 commit
  28. 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
  29. 29 May, 2002 1 commit
  30. 17 Apr, 2002 1 commit
  31. 16 Apr, 2002 1 commit
  32. 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
  33. 12 Mar, 2002 1 commit
  34. 05 Mar, 2002 1 commit
  35. 22 Feb, 2002 1 commit
  36. 20 Feb, 2002 1 commit
  37. 14 Feb, 2002 1 commit
    • Leigh B. Stoller's avatar
      A morass of form changes. The main goals are to avoid the loss of info · 9ac3d870
      Leigh B. Stoller authored
      when backing up (cause of an error that needs to be fixed) since not
      all browsers handle this the same. Instead, redraw the form with all
      of the original info and a list of error messages at the top.
      Conceptually simple change, but it turns out to be a pain to implement
      since you need to combine the form and processing code in one page
      (well, its just a lot easier to do that), and then change all of the
      forms to deal with a "default" value. That is, each different kind of
      input tag (text, radio, select, checkbox, etc.) requires slightly
      different changes to do that. Lots of forms, lots of entries on the
      forms, and its a long slow tedious process. Much nicer though, although
      the code is a bit harder to grok. At the same time, I added a lot more
      sanity checks of the information being passed in.
      
      The other change is to deal with how browsers handle the back button
      on a form thats been properly submitted. Not all browsers use
      the cache directives the same, and I was often typing back, only to
      have some form get reposted. Thats a major pain in the butt. The way
      to deal with that is to have the processor send out a Location header,
      which modifies the browser history so that the post is no longer in
      the history. You back up straight to the unposted form (if its in the
      cache). I've done this to only some forms, since its a bit of a pain
      to rework things so that you can jump ahead to a page that spits out
      the requisite warm fuzzies for the specific operation just completed.
      
      I've done newproject, joinproject, update user info, newimageid, and
      newimaged_dz forms.
      9ac3d870