1. 19 Dec, 2005 2 commits
    • Leigh B. Stoller's avatar
      Add support for moving deleted users to a deleted users table. This · b4231fbf
      Leigh B. Stoller authored
      would be no big deal, except that we want to retain user_stats for
      deleted users, and rather then a deleted_user_stats table, I want to
      retain stats for deleted users in the user_stats table, since that
      is a more natural place for them.
      
      The main problem is that we use the login (uid) as the cross table
      reference slot all over the DB, which is fundamentally incorrect, if
      we want to be able reuse uids and still know what historical data
      refers to.
      
      So, I have taken a few baby steps towards weaning us off the uid, and
      towards permanently unique key for users, using the unix_uid integer
      for now, but probably something slightly different later.
      
      The user_stats is now indexed on this new key (called uid_idx in the
      users_stats table) instead of the plain uid.
      
      The unix_uid slot in the users table is no longer an auto_increment
      field, but instead uses the emulab_indicies table for the next
      available index.
      b4231fbf
    • Timothy Stack's avatar
      909ee037
  2. 18 Dec, 2005 1 commit
    • Leigh B. Stoller's avatar
      Move the bulk of what was in showlogfile, into showlogfile_sup, so · 41f4d6a5
      Leigh B. Stoller authored
      that it can be "included" into other scripts; showlogfile, beginexp,
      swapexp, modifyexp, endexp.
      
      Each of these scripts now appends the showlog directly to the page,
      instead of providing a link to a different page.
      
      Also changed the showlog code to place the output into an inner iframe
      so that it can be sized to fit in the window, without the outer stuff
      (like the menus) getting scrolled away.
      41f4d6a5
  3. 16 Dec, 2005 2 commits
    • Leigh B. Stoller's avatar
      Add support for pre-reserving nodes. New link off the ShowNode page · e49e2f9a
      Leigh B. Stoller authored
      allows takes you to new (admin only) page to select a project that
      node will be reserved for.
      
      * The node is not actually *reserved*, it is *pre* reserved! The node
        stays in the free pool, and is available only for use in the project
        to which it is reserved.
      
      * The node can already be reserved to some other project when you
        pre-reserve it. It is not until the current owner releases the node
        that the pre-reservation takes effect.
      
      * The node free counts (on the web pages) count a free a node with a
        pre-reservation, as allocated. This way people do not see a free
        count that includes a node they will never be able to get.
      e49e2f9a
    • Kirk Webb's avatar
      · 4016a519
      Kirk Webb authored
      Fix up autoswap units in advanced form.
      4016a519
  4. 15 Dec, 2005 2 commits
    • Kirk Webb's avatar
      · 41c54939
      Kirk Webb authored
      The revived Plab interface is here!
      
      Lots of updates to the plab backend, including improved plab <-> elab node
      id translation and update handling.  Includes support for the current PLC
      API, and the new pl_conf node manager interface API.  Several more db library
      routines were ported from the perl library to the python one to support the
      new code (mostly the node_id tracking stuff).  Fixes to the client side and
      also a rootball creation cleanup (binaries removed from the CVS repo).
      
      There are also enhancements to the experiment view page for experiments
      including plab nodes: site and widearea hostname are now displayed along
      with the other node information.
      
      Note that the way setup timeout for vnodes is calculated has been changed a
      bit.  Instead of using a hardwired base timeout, the base timeout is now
      based on the reload_waittime database field, which comes from the 'OS'
      (e.g., FBSD-JAIL, RHL-PLAB) the vnode runs.
      
      The default max duration for a plab slice created through the plab_ez interface
      is set to 1 year, and linktest is currently disabled and hidden through
      the ez interface.
      
      There is still work to do, but this checkin brings with it a functional
      plab portal!
      41c54939
    • Leigh B. Stoller's avatar
      Commit the current archive support. Currently exposed to only · 6a0a1eb7
      Leigh B. Stoller authored
      studly users in the testbed project on the mainsite.
      6a0a1eb7
  5. 12 Dec, 2005 1 commit
  6. 09 Dec, 2005 1 commit
  7. 08 Dec, 2005 1 commit
  8. 07 Dec, 2005 1 commit
  9. 06 Dec, 2005 3 commits
    • Mike Hibler's avatar
      Phase II in disk state saving for swapout. · ed0d25b4
      Mike Hibler authored
      Exec summary: after this checkin, the infrastructure exists (once enabled)
      to create swapout-time "delta" images for all machines in experiments.
      There is only a single, cumulative swap image per node (i.e., all diffs
      are from the base image, not from the previous swap).
      
      What doesn't yet exist, is the mechanism for reloading the delta at
      swapin time.  That is Phase III.
      
      The nitty-gritty:
      
      1. Keep disk image signature files for all nodes in an experiment.
      
         New fields in the DB to track, for each disk partition, what image the
         partition was loaded from.  This enables us at swapin or os_load time to
         create signature files in /proj/<pid>/exp/<eid>/swapinfo for the current
         contents of a node disk/partition.  All nodes with the same image loaded
         will share (via symlink) the same signature file.  TODO: no longer
         referenced signature files should be removed.
      
         Signature info is only collected in the swapinfo directory if the
         experiment is set to have disk state saving enabled (see #5 below).
         Info consists of the <vname>.sig file, which is the file created
         by imagehash, and <vname>.part which says what the root disk is
         for the node and whether to look at the whole disk or just a single
         partition when crafting the delta image.
      
      2. Swapout-time hook for creating swapout image.
      
         If the experiment is marked as allowing disk state saving, tbswap
         will arrange to run and then monitor the create-swapimage command
         on each node.  This script will run the modified version of imagezip
         which uses the signature file to create a delta image.
      
         The command to run and maximum timeout are specified via sitevars
         (previously checked in).  Note that the tbswap script currently has
         special knowledge of /usr/local/bin/create-swapimage as a swapout
         time script.  If the swap/swapout_command sitevar is set to that,
         Magic Stuff shall occur (i.e. it will monitor the command and make
         periodic reports of progress).  The sitevars are a total hack and
         will disappear at some point.
      
      3. Client-side script for creating swapout image.
      
         os/create-swapimage, very similar to create-image.  Uses the info
         stashed in /proj/..blahblah../swapinfo to create a delta image.
      
         XXX fer now hack: the script first looks in /proj/<pid>/bin for an
         imagezip binary to use.  Failing that, it uses the one in the MFS.
         This allows for easier development of the imagezip changes (i.e.,
         don't have to update the MFS every time.
      
      4. Auto creation of signature files for new images.
      
         The create_image script (the one that runs on boss when creating images
         for users) has been modified to automatically create a signature via
         imagehash.  The .sig file winds up in /usr/testbed/images/sigs or
         in /proj/<pid>/images/sigs.  From there it will be copied at swapin/os_load
         time to the per-expt swapinfo directory for any node that uses the images.
      
         The process for creating standard system images (aka, "Mike") has not
         yet been modified.  When the image creation/installation procedure
         is formalized into a script, this will be done.
      
      5. Web changes to set/clear saving of disk state at swapout time.
      
         Add a checkbox to the experiment create page to allow setting "save
         swap state".  Also added to the experiment modify page, but currently
         "if (0)"ed out as it will need some additional support.  The showstuff
         page will show it.
      
         Taking a page from Leigh's hack book, if EXPOSESTATESAVE in defs.php3
         is set to zero (as it is now), then the checkbox doesn't appear in the
         create experiment page except for STUDLY users.
      ed0d25b4
    • Leigh B. Stoller's avatar
      bbd1834a
    • Leigh B. Stoller's avatar
  10. 05 Dec, 2005 2 commits
  11. 02 Dec, 2005 2 commits
  12. 30 Nov, 2005 3 commits
  13. 28 Nov, 2005 9 commits
    • Russ Fish's avatar
      7d736cb8
    • Timothy Stack's avatar
      The client applet jar file. · ea5fb5e4
      Timothy Stack authored
      ea5fb5e4
    • Timothy Stack's avatar
      · 19dbd0fd
      Timothy Stack authored
      Make the netlab client applet available to locals.
      
      	* configure, configure.in: Add xmlrpcpipe.php3.
      
      	* xmlrpc/emulabserver.py.in: Add missing virtual_tables.  Add
      	getareas call to get the list of robot areas.  Add node.getlist
      	and node.typeinfo methods for getting information about the nodes.
      	Add a "nic" argument to node.available to get the count of
      	wireless nodes.  Add "exclude" argument to
      	experiment.virtual_topology so we don't have to download the
      	massive route table, also delete the 'pid'/'eid' fields for the
      	same reason.  Don't return string output of virtual_topology, it's
      	huge.  Return some more info in experiment.getlist().
      
      	* www/GNUmakefile.in: Add xmlrpcpipe.php3.
      
      	* www/beginexp_form.php3, www/modifyexp.php3: Add links to the
      	client gui.
      
      	* www/netlab-client.jar: The client binary.
      19dbd0fd
    • Kirk Webb's avatar
      · c81730eb
      Kirk Webb authored
      Small wording tweak.
      c81730eb
    • Kirk Webb's avatar
      · 64610a39
      Kirk Webb authored
      Bah.  The e1000 driver in the RHL90 emulab source tree doesn't work with
      the pc3000s.  This is an update to the note I just committed to reflect this.
      64610a39
    • Kirk Webb's avatar
      · f1f1c168
      Kirk Webb authored
      Add a note about the e1000 driver in RHL90.  An updated version must be used
      versus the one that comes with the RHL90 kernel source.
      f1f1c168
    • Leigh B. Stoller's avatar
      76b883e5
    • Timothy Stack's avatar
      Add some support for specifying which flyspray page to goto instead of · 8099499d
      Timothy Stack authored
      just the home page.  Useful for sending people directly to the newtask
      page.
      8099499d
    • Leigh B. Stoller's avatar
  14. 23 Nov, 2005 1 commit
  15. 18 Nov, 2005 1 commit
  16. 17 Nov, 2005 1 commit
  17. 16 Nov, 2005 2 commits
  18. 14 Nov, 2005 1 commit
  19. 13 Nov, 2005 1 commit
  20. 11 Nov, 2005 3 commits