1. 10 Dec, 2003 1 commit
  2. 19 Nov, 2003 1 commit
  3. 17 Nov, 2003 1 commit
    • Leigh Stoller's avatar
      Merge the two state machines (batchstate and state) into a single · 2025e0bd
      Leigh 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
  4. 27 Mar, 2003 1 commit
  5. 16 Sep, 2002 1 commit
    • Leigh Stoller's avatar
      Reorg of working directory and log file stuff for start/swap/end · 533dc18f
      Leigh Stoller authored
      experiment. Here is mail to tbops:
      
      * Moved the working directory for experiment setup/swap/end to a new
        directory located on boss instead of over NFS to /proj/$pid/$eid. This
        new location is /usr/testbed/expwork/$pid/$eid.
      
      * Changed the name of the directories we create in /usr/testbed/expinfo to
        $pid-$eid.$index where $index is a new autoincrement field in the DB
        table. I really hated the names that were created before.
      
      * Changed where logs are written from /tmp to the new location in
        /usr/testbed/expwork/$pid/$eid.
      
      Okay, why.
      
      * We no longer operate on NFS mounted directories that might hang. Its
        easier to catch the situation where a copy of the log file over at the
        end of experiment creation fails cause of an NFS problem.
      
      * We no longer have user writable files that are inputs to other parts of
        the system (like top and ptop files).  Not that a user would be bad, but
        it closes a hole.
      
      * We no longer copy user writable files from /proj to boss where we might
        fill up an important filesystem cause the user put a .ndz file in the the
        working directory. Not that a user would be bad, but it closes a hole.
      
      * Its easier to save all the log files this way, for each swap in and
        out.
      
      * Removing a directory over NFS is a royal irritant when someone is CD'ed
        into that directory or looking at a file on the other side (the astute
        observer will peg this as the reason I went down this idiotic path in the
        first place!).
      
      * About 6 other reasons that I can no longer remember. Seriously, I really
        had more reasons I can no longer remember! :-)
      533dc18f
  6. 07 Jul, 2002 1 commit
  7. 16 Oct, 2001 1 commit
  8. 23 Mar, 2001 1 commit
  9. 03 Jan, 2001 1 commit
  10. 06 Dec, 2000 1 commit
    • Leigh Stoller's avatar
      Checkpoint a set of hacky changes to support your own OSKit kernel · ce613288
      Leigh Stoller authored
      via the create-os directive in the NS file.
      tbsetup/ir/handle_os.tcl - Do a valid check for the image given with
      	set-node-os in the NS file, and propogate that information through
              to the IR file. Nothing is added to the DB.
      tbsetup/mkexpdir - Add a tftpboot to the list of experiment directories. The
      	tftpd daemon now allows kernels from /proj.
      tbsetup/os_setup - Very hacky changes to allow for multiboot kernels. Read
      	local images table and cross check against that for nodeos spec.
              Hardwire in "mb" as a special partition tag that says to not try
      	and do too much with it. This should be changed to a DB check of
      	some kind. On reboot, do not wait for these nodes to come alive since
      	there is no way to determine if an oskit kernel (or any foreign)
      	kernel is running.
      ce613288
  11. 01 Dec, 2000 1 commit