1. 29 May, 2003 1 commit
  2. 22 May, 2003 2 commits
    • Leigh B. Stoller's avatar
      Update project/group aggregate counts that I dropped out, but should · 665c49cd
      Leigh B. Stoller authored
      have left in place.
      665c49cd
    • 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
  3. 21 May, 2003 1 commit
    • Leigh B. Stoller's avatar
      Minor stats changes for dealing with swapmodify; be sure to credit for · cb309ff2
      Leigh B. Stoller authored
      each portion of the experiment as it is modified.
      
      Also add expt_swap_uid so that we know who did the last operation, and
      so we can charge/credit the right person. So, if joe swaps in the
      experiment and jane swaps it out, joe gets charged. If jane swaps in
      the experiment and joe modifies it, jane gets credit for the first
      portion, and joe will later get charged for the second portion.
      
      Took longer to explain then to implement ...
      
      Lbs
      cb309ff2
  4. 15 May, 2003 3 commits
    • Leigh B. Stoller's avatar
      Minor bug fix to TBImageLoadMaxOkay(). · 342a039c
      Leigh B. Stoller authored
      342a039c
    • Leigh B. Stoller's avatar
      A few more minor changes. Change exitcode to signed since in mysql, -1 · e6644faa
      Leigh B. Stoller authored
      is not a string of bits, but really 0 when the type is unsigned.
      Sheesh. Add link from testbed_stats to experiment_resources to get
      better info in showstats.
      e6644faa
    • Leigh B. Stoller's avatar
      Split the experiment stats table into two parts. The first is the · a382994d
      Leigh B. Stoller authored
      per-experiment instantiation with aggregate data like the number of
      swapins, the dates and the like. The other part is the per
      swapin/modify stats. These are number of pnodes, links, lans,
      etc. Long term, I think we want more precise swapin stats, and with
      experiment modify in the mix, we need to have multiple stat records
      per experiment, but do not need to duplicate all the stuff in the
      other table just mentioned.
      
      To reduce the amount the table size, we cross reference the tables by
      index only instead of with pid,eid and the like. We use exptidx to
      link experiments, experiment_stats, and the new experiment_resources
      table. experiment_resources and stats are linked by another index in
      the resources table, which indicates which is the current resource
      row. On a modify, a new resource record is created, and the stats
      record updated to point to the new (latest) resource record.
      
      Web Changes: Improve showstats and showexpstats. Make them user
      accessible so that mere users can see stats for themselves and for
      their projects. No ability for mere users (PIs) to look at another
      person's stats. Generally, these two pages need more work, but now
      they are more useful. I added Show Stats to the user info and project
      info pages to display per-usr/proj stats. Add more info in the
      showstats display, but the showexpstats display is still not pretty
      printed; just the raw tables.
      
      Rename a few fields, add some indexes, and otherwise make some minor
      changes that are sure to annoy everyone.
      a382994d
  5. 14 May, 2003 1 commit
  6. 12 May, 2003 1 commit
  7. 29 Apr, 2003 2 commits
  8. 28 Apr, 2003 5 commits
  9. 17 Apr, 2003 1 commit
  10. 11 Apr, 2003 1 commit
    • Chad Barb's avatar
      · a0248828
      Chad Barb authored
      Added site variables ('sitevars').
      These are stored in the sitevariables database table.
      Each one has a name, a description (NOT OPTIONAL!), a
      default value, and a current value.
      If the current value is NULL, the default value is used.
      
      Soon, a mechanism will be added to the install process to
      ensure all needed site variables exist before installing;
      more on that when it is committed.
      
       - Added 'editsitevars.php3' page, accessable to admins
         via the 'Edit Site Variables' menu option.
      
       - Added 'setsitevar' script,
         an interface for listing, viewing in detail, and setting
         site variables.
      
       - Web interface now uses 'web/nologins' and 'web/message'
         instead of one-off database tables.
      
      NOTE that setting a variable to the default value and
      setting a variable to a value which is string-identical
      are NOT the same thing.
      (This doesn't matter yet, but when we push default values out to
       remote sites as part of our install, it will.)
      a0248828
  11. 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
  12. 27 Mar, 2003 1 commit
    • Leigh B. Stoller's avatar
      Changes to permission checks for nodes, experiments, and images. · 09bec812
      Leigh B. Stoller authored
      In addition to the usual checks, project_root and group_root (in the
      project) get the same permission as if they were in the subgroups with
      group_root permission. This means they can swap/terminate/reboot etc
      in subgroups even though they are not members of the subgroups.
      There is still some copy problems with files, but leaving that till
      later to deal with.
      09bec812
  13. 26 Mar, 2003 1 commit
    • Leigh B. Stoller's avatar
      Add "gid" slot to the images table for changing permission scheme from · 4c56daf6
      Leigh B. Stoller authored
      only pid, to pid/gid like most other things in the testbed. Also add a
      "global" slot to denote images that are globally available to all
      projects (system images). The older "shared" attribute is now used to
      denote images that are shared within a project (available to all
      subgroups in the project). The migration path for existing DBs is
      given in the migrate file. Be sure to run those commands on an
      existing testbed or things will break!
      
      www/newimageid, www/newimageid_ez: A bunch of changes for
      shared/global attributes. Added a group menu to the form so users can
      create images in subgroups. Beefed up the Java code that constructs
      the path name to use the gid, shared, and global attributes of the
      form to give the user the best possible path that we can. Improved the
      pathname checking code so that we do not allow just any old path in
      case the user elects to disregard the path we carefully constructed
      for them. Also check the proj/group membership, and setup defaults for
      users that have permission in just one pid/gid to create images.
      
      libdb.in: Changed permission check in TBImageIDAccessCheck() to
      reflect shared/global attribute changes.
      
      os_load: Get rid of test that checked path of the image. The path
      checking is done in the web interface anyway, so why duplicate in 4
      places. Other minor changes reflecting shared->global name change.
      Also note that images can come from the group directory now.
      
      create_image: Get rid of test that checked path of the image. The path
      checking is done in the web interface anyway, so why duplicate in 4
      places. Also note that images can come from the group directory now.
      
      www/dbdefs: Changed permission check in TBImageIDAccessCheck() to
      reflect shared/global attribute changes.
      
      www/showimageid_list, www/showstuff: Minor global/shared attribute
      changes.
      
      www/menu: Change osids/imageids pointer to point to the image list,
      not the osid list. This is more reasonable for mere users who have
      access to the EZ form, and thus never really need to concern
      themselves with osids.
      
      www/editimageid: Add proper pathname checking. There were no checks at
      all before!
      4c56daf6
  14. 20 Mar, 2003 2 commits
    • Leigh B. Stoller's avatar
      A possible hack/fix to the concurrency problem. I have not learned · 75936b39
      Leigh B. Stoller authored
      anything conclusive, other than fork confuses mysqld, and our attempt
      to unconfuse it by closing/opening the DB connection in the child,
      confuses it even more! The parent connection is shutdown and then
      restarted as well. In node_reboot, this could happen 10 times in rapid
      succession as we fork as child for each node, and that appears to
      strain the server even more (with 20 rapid connects).
      
      So, I added a select(0.3) in TBdbfork() (in the child) to see if that
      slows things down enough. In my tests, the length of time between the
      parent and child operations makes a real difference. With a delay in
      the child, the parent connection is not closed/restarted.
      
      The astute reader will realize that I have no actual clue; just
      grasping at, uh, threads.
      75936b39
    • Leigh B. Stoller's avatar
  15. 19 Mar, 2003 1 commit
    • Mac Newbold's avatar
      New slothd change: · b73aee17
      Mac Newbold authored
      node_reboot reports node activity into the "last_ext_act" column of
      node_activity. (Ie activity that is external to the node.)
      
      This means that swapin, swapout, reload, etc etc, anything that reboots
      the node from boss/ops, will count as activity.
      b73aee17
  16. 13 Mar, 2003 1 commit
    • Chad Barb's avatar
      · 2a2c1542
      Chad Barb authored
      Added BESTOWGROUPROOT permission.
      2a2c1542
  17. 12 Mar, 2003 1 commit
    • Chad Barb's avatar
      · fa716ae9
      Chad Barb authored
      Added TB_PROJECT_GROUPGRABUSERS to Perl side, for consistency.
      fa716ae9
  18. 11 Mar, 2003 1 commit
    • Chad Barb's avatar
      · d333686c
      Chad Barb authored
      Fixed ALLOCSTATE consts.
      d333686c
  19. 07 Feb, 2003 1 commit
    • Chad Barb's avatar
      · 60563956
      Chad Barb authored
      Added Alloc State machine library calls.
      (NodeSetAllocState, NodeGetAllocState)
      60563956
  20. 02 Feb, 2003 1 commit
  21. 31 Jan, 2003 1 commit
  22. 29 Jan, 2003 4 commits
  23. 15 Jan, 2003 3 commits
  24. 18 Dec, 2002 1 commit
    • Leigh B. Stoller's avatar
      Two new routines. TBNodeBootReset() resets the startup state for a · b485a466
      Leigh B. Stoller authored
      node. Used in new tbrestart code for replaying experiments. It remains
      to be seen if this is a workable approach.
      
      TBNodeStateWait() is really WaitTillAlive, which I need in several new
      spots now. Its not as general purpose as it seems though, since there
      are only a couple of terminal states (isup) that you can actually wait
      for by querying the DB. But, I'm loathe to add any more event code to
      the system.
      b485a466
  25. 06 Dec, 2002 2 commits