1. 15 Jul, 2003 1 commit
    • Leigh B. Stoller's avatar
      A set of changes to make swapmod work on jailed nodes (note, swapmod · 92ff875a
      Leigh B. Stoller authored
      does not yet work with remove virtual nodes; that will take even more
      work).
      
      Added a new allocstate called RES_TEARDOWN. assign_wrapper no longer
      deallocates unused nodes, but rather moves them into the new state for
      the wrapper (tbswap) to deal with. Thats cause deleted vnodes need to
      be torn down, since its possible that the node on which they were
      living will not be deallocated (say, if there are other vnodes on
      it). We do not want to be doing that from assign_wrapper, so tbswap
      looks for those nodes.
      
      Made vnode_setup allocstate aware in the same way that os_setup is;
      do not reboot vnodes or try to set up vnodes when they are already in
      the RES_READY state, as they will be when doing a swapmod. In
      addition, if os_setup is going to reboot the underlying physnode, move
      the vnodes on that node into RES_READY too, since there they will
      setup automatically. Might need an interim state here, for correctness.
      92ff875a
  2. 11 Jun, 2003 1 commit
  3. 29 Apr, 2003 4 commits
    • Chad Barb's avatar
      · 40bc8389
      Chad Barb authored
      (hopefully) fixed bug in startexp
      affecting batch system by switching two cleanup checks.
      (I wasn't giving it an opportunity to bail on a batchexp failing
       soon enough.)
      
      Also, tidied up return code for tbswap.
      40bc8389
    • Chad Barb's avatar
      · 59d5e48f
      Chad Barb authored
      Don't reboot nodes when recovering from a failed assign during update.
      59d5e48f
    • Chad Barb's avatar
      · a3a818af
      Chad Barb authored
      Mask off '64' bit from return from assign_wrapper, so
      batch_exp doesn't choke on it.
      a3a818af
    • Chad Barb's avatar
      Robust Experiment Modify -and- · 7308f458
      Chad Barb authored
      Various Other changes to get Expt Modify ready for prime time.
      
       - If assign fails on a modify, experiment will
         be restored to old state, *not* swapped out.
      
       - Reboot option has been improved to reboot all
         nodes as part of os_setup, not in separate
         step.
      
       - Different assign error codes result in different
         retry behavior for assign_wrapper
         (Follow's Rob's change to assign to make it
          pass back special code for non-retriable faults)
      
       - '64' bit in assign_wrapper exit code indicates to tbswap
         that db/phys state hadn't been mucked with before
         the exit occurred
         (ergo, '65' and '1' are the common return codes,
          though the old 4,8,16,32 are still there for assign failing.)
      
       - (tbswap still returns codes from assign wrapper)
      
       - Added 5 sec pause between assign attempts.
      
       - Cleaned up tbswap code.
      
       - Physical state backup/restore removed from tbprerun,
         put into swapexp.
      
       - Interfaces table now getting cleaned up correctly
         (Mike noticed problem)
      
       - Changed menu display in showexp to show
         the "modify" menu option for swapped out experiments
         (like it used to.)
      
       - A couple other changes.
      
      Note:
       Still admin-only, but I plan to change that soon.
      
      To do:
       - Erase expt backups in /tmp after using them.
       - Re-viz failed experiments.
      7308f458
  4. 07 Apr, 2003 1 commit
    • Chad Barb's avatar
      · 99a867cb
      Chad Barb authored
      Modify os_setup return codes to enable "intelligent" retry;
      
      Now os_setup returns:
        0 on success
        1 on one or more retry-friendly errors
       -1 on no-retry errors
      
      tbswap.in checks os_setup's return code,
      and will only retry on 1.
      99a867cb
  5. 03 Apr, 2003 1 commit
    • Chad Barb's avatar
      · 765de560
      Chad Barb authored
      Added new feature 'Experiment Modify'.
      Now available (to admins only for now) from the showexp page.
      
      Warning! doing a modify which alters the topology will probably
      require a "reboot all nodes" afterwards.
      (There will be a checkbox soon in the modify experiment page.)
      
      Adding/removing delay nodes seems to work fine without reboots, though.
      
      Warning! If the new version of the experiment cannot be mapped
       (not enough nodes available, for instance) the experiment will be
       swapped out! This will get fixed later.
      
      Prerun backs up the experiment topology, so using a bad NS
      file doesn't result in experiment termination.
      
      As part of this, added library functions to libdb to
      delete, backup, and restore both virtual and physical experiment state.
      765de560
  6. 02 Apr, 2003 1 commit
  7. 27 Mar, 2003 1 commit
    • Chad Barb's avatar
      · a495bcfb
      Chad Barb authored
      New tbswap mode 'update'. (a.k.a. 'reswap')
      Re-assigns experiment, fixing already assigned nodes in place;
      tries not to reboot nodes. Doesn't clear port counters,
      restart event system, etc.
      
      A few more things remain to be considered for 'general' use
      adding new nodes to experiments and modifying topologies,
      but for replacing failed nodes in experiments
      or removing virt_nodes from experiments, should work fine.
      a495bcfb
  8. 24 Mar, 2003 1 commit
    • Chad Barb's avatar
      · dc12ae50
      Chad Barb authored
      Fixed bug where after running out of retry attempts,
      swapout was only doing the 'retry' version of cleanup,
      when it should have been doing a full cleanup.
      dc12ae50
  9. 20 Mar, 2003 2 commits
    • Chad Barb's avatar
      · 6a449d22
      Chad Barb authored
      tbswap: re-enabled retry (Undid leigh's last change)
      
      assign_wrapper.in:
         was left-joining reserved to nodes to get reserved list;
         This didn't get delays.
      
         now am doing separate query on reserved, and putting those
         into the %fixed and %alreadyAllocated hashes.
      6a449d22
    • Leigh B. Stoller's avatar
      c731d5e0
  10. 18 Mar, 2003 1 commit
    • Chad Barb's avatar
      · e928fbe9
      Chad Barb authored
      Here it is; reswap.
      
      nfree
         - modified to put node in FREE_DIRTY when it is freed
      
      assign_wrapper
         - '-u' update switch added.
      
      os_setup
         - doesn't reboot node which is already in RES_READY
      
      tbswap
         - calls all this stuff appropriately
      e928fbe9
  11. 07 Mar, 2003 2 commits
    • Chad Barb's avatar
      · 5de15b7c
      Chad Barb authored
      Still not fully tested, but seems to work.
      
      Fixed minor error.
      (When $TESTMODE == 1,
       swapped in experiment was incorrectly being put into ACTIVE
       after it was put into TESTING.)
      5de15b7c
    • Chad Barb's avatar
      · 2fd95aee
      Chad Barb authored
      NOT TESTED; NOT READY FOR PRIME TIME.
      Archived here for backup/review purposes.
      
      Initial version; unifies tbswapout and tbswapin into one
      script.
      
      Should be just like tbswapin/out except:
      tbswapin  foo bar => tbswap in  foo bar
      tbswapout foo bar => tbswap out foo bar
      
      The main win here is that doSwapin() is a function, as is doSwapout().
      If doSwapin() fails, actual doSwapout() code can be called.
      
      Also includes retry framework
      (functionalizing doSwapin and doSwapout makes retrying much cleaner.)
      2fd95aee