1. 11 Apr, 2003 16 commits
  2. 10 Apr, 2003 10 commits
    • Chad Barb's avatar
      · 179b3635
      Chad Barb authored
      Changed sitevariables table to use 'varchar(255)' for
      name column instead of 'text'.
      Made name column primary key.
      179b3635
    • Chad Barb's avatar
      Added 'external_node_id' field to widearea_nodeinfo. · dc9ca2e4
      Chad Barb authored
      This is pretty much a comment field for now;
      NULL is a safe value, but if a node is a RON node
      "ron:" followed by the name of the node in the ron
      hosts table (in the external-to-emulab ron db) is
      the preferred value. (This may facilitate automatic
      db synchronization later.)
      dc9ca2e4
    • Mac Newbold's avatar
    • Mac Newbold's avatar
      Add a new configure var for TBAUTOMAILEMAIL. Defaults to TBLOGSEMAIL if · 0e6ddf82
      Mac Newbold authored
      none is set.
      
      Set TBAUTOMAILEMAIL in defs-default to testbed-automail@flux.utah.edu
      
      Change quotamail to use bcc automail instead of tb-ops. Still says from
      tb-ops, though, so that they reply to the right place.
      0e6ddf82
    • Mac Newbold's avatar
    • Robert Ricci's avatar
      acdd7469
    • Chad Barb's avatar
      · 9e63ec4b
      Chad Barb authored
      Changed widearea_nodeinfo address columns to tinytext,
      to make them consistent with users table.
      9e63ec4b
    • Chad Barb's avatar
      · 892fef45
      Chad Barb authored
      Added 'sitevariables' table.
      
      This is the table prompted by Mac's email yesterday, which
      can contain site-specific configuration options.
      
      'default' _must_ be set for each row, and will be used if
      'value' is NULL.
      
      'description' _should_ be set for each row.
      
      The table doesn't have a primary key, but is indexed to
      32 characters on the "name" column, so it should be plenty efficient.
      
      libdb functions and web interface forthcoming...
      892fef45
    • Leigh Stoller's avatar
      d881e036
    • Leigh Stoller's avatar
      Add TODO items: · 2201621e
      Leigh Stoller authored
      * Add a web page to recreate an image from a node and an existing
        image descriptor. Need to add a "kill runnin frisbee" function to
        create_image though (well, need this in general cause I always get
        bit by it). Might need some locking too (experiment should be locked
        down).
      
      * Append Eric suggestion to bug tracking TODO item (already existed).
      2201621e
  3. 09 Apr, 2003 14 commits
    • Mac Newbold's avatar
      Add quotamail commit. · bf85722a
      Mac Newbold authored
      bf85722a
    • Mac Newbold's avatar
      Add new script to notify users when they are over their quota. Runs from · 38310b4e
      Mac Newbold authored
      cron daily, on the fs node (ops) as root. Uses lots of configure variables
      so that it does the right thing in any installation, without any
      customization.
      
      One possible caveat regarding quotas: If FS_NODE != USERNODE, they don't
      have a login on the fs machine. So checking their quota won't work unless
      the rpc.rquotad(8) daemon is running on FS_NODE, which we currently don't
      do.
      
      In order to do this right, I had to add a new configure var,
      FS_WITH_QUOTAS, that has a space separated list of file systems that have
      quotas enabled. (Ie the default is 'FS_WITH_QUOTAS="/q /users"'.) It
      doesn't have any default, since I couldn't come up with a reasonable one.
      All the defs files have been updated appropriately to define this new
      variable.
      38310b4e
    • Robert Ricci's avatar
      Add quotamail to the crontab on ops. · fe3fde01
      Robert Ricci authored
      fe3fde01
    • Mike Hibler's avatar
      Entry for frisbee overhaul. · 722426a2
      Mike Hibler authored
      722426a2
    • Chad Barb's avatar
      Another Jay-requested feature: · a0f96883
      Chad Barb authored
      When a user tries to create an imageid without
      specifying a node to suck the image from, they are given
      a warning screen explaining their situation,
      with "confirm" and "back" buttons.
      
      (also made the confirmation mechanism general so if we
       need to add more warning conditions, it'll be no problem.)
      a0f96883
    • Mike Hibler's avatar
      Lock client down to its server with -S option to frisbee · fd111f76
      Mike Hibler authored
      Make use of all available memory via the -M option to frisbee
      fd111f76
    • Mike Hibler's avatar
      Minor cleanup · 00a3925f
      Mike Hibler authored
      00a3925f
    • Chad Barb's avatar
      · f5ea8480
      Chad Barb authored
      Changed form respit error message:
      "no such group" --> "group 'foo' is not in project 'bar'".
      f5ea8480
    • Mike Hibler's avatar
      Once again remove the hacky/hokey LOSSRATE code, · 8f349249
      Mike Hibler authored
      hopefully never to return again!
      8f349249
    • Chad Barb's avatar
      · ff4f97d3
      Chad Barb authored
      A couple of the changes Jay wanted:
      
       - move 'Node to Create Image From' above OS Features
       - make all Node Types default to checked
      
      Also cleaned up footnotes a touch.
      ff4f97d3
    • Mike Hibler's avatar
      Frisbee general: · 9e55b0b1
      Mike Hibler authored
      1. Implement PREQUEST message which passes a bit map of desired blocks.
         We still use the REQUEST message (start block + number of blocks) for
         full chunk requests as that is more efficient.  This message also
         includes a flag indicating whether it is a retry of a request we
         originally made or not.  This gives the server more accurate loss info.
      
      2. More stats and tracing goo.
      
      
      Frisbee client:
      
      1. Add 'C' and 'W' command line options to specify amount of memory
         for chunk buffers (network buffering) and for write buffers (disk
         buffering).  The Emulab frisbee startup script uses these to partition
         up all the available memory on a machine.  Previously we were just
         using a fixed ~128MB even though our machines have 256 or 512MB of
         memory.  Also add the 'M' option which specifies the overall memory,
         internally dividing it up between chunk buffers and write buffers.
      
      2. Add 'S' command line option to explicitly specify the server.  This
         allows us to make a feeb...um, "lightweight" authentication check
         on incoming messages.
      
      3. Use the common BlockMap data struct to track which pieces of a chunk
         we have received.  This is easily inverted to make PREQUESTS and it is
         also smaller than the older byte-per-block technique.
      
      4. Allow partial request-ahead.  Previously, we only issued request-ahead
         if there were enough empty chunk buffers for a maximum (2) request-ahead.
      
      Frisbee server:
      
      1. Use BlockMap for workQ elements.  An easy way to allow a complete merge
         of incoming requests with existing ones.
      
      2. Check for overlap of incoming requests with the request currently
         being serviced.  This happens surprisingly often.
      
      3. Dubious: burst gap becomes burst interval.  The latter takes into
         account the time required to read data, etc., in other words, we now
         have variable-sized gaps and put out bursts at specific times rather
         than having fixed gaps and putting out bursts at variable times.
         This gives us more accurate pacing over shorter time periods.  I
         thought this might be important for dynamic pacing.
      
      4. Add 'W' command line option to specify a target bandwidth.  Frisbeed
         will use this to calculate a burst size/interval.
      
      5. Rewrote the dynamic pacing code.  It is now easily as bad as before
         if not worse.  But it does have fewer magic constants!  Needs to be
         redone by someone who understands the TCP-friendly rate equation.
      
      Imagezip:
      
      1. add 'R' option to specify one or more partitions for which to force
         raw (naive) compression even if the FS format is understood.  Useful
         for benchmarking.
      
      2. add 'D' option to allow "dangerous" writes.  In this mode, we don't
         do the fsync's or retries of failed writes.  Overrides the hack we put
         in for NFS.  Use this if writing to a local filesystem (or /dev/null).
      
      3. Eliminate an extra copy of every chunk header.
      
      Imageunzip:
      
      1. Eliminate extra copy of decompressed data that we were doing between
         the single decompression buffer and the disk buffers.  Helps on slow
         machines (like gatech's 300Mhz machines with 66MHz memory bus).
      
      2. Allow dynamic number of variable-sized write buffers.  Total memory
         not to exceed the writebufmem limit.  Previously we had a small number
         of fixed-size (256K) buffers.
      
      3. Add debugging 'C' option to just compute a single CRC of the decompressed
         image.  Back-ported to older imageunzip and used to make sure my write
         buffer changes were correct.  Maybe handy for similar massive changes
         in the future.
      9e55b0b1
    • Mac Newbold's avatar
      42709260
    • Mac Newbold's avatar
      7ea30876
    • Mac Newbold's avatar
      Comment out all the "expires" stuff, for projects, users, and expts. · 66360b10
      Mac Newbold authored
      It means nothing and just takes up space and may cause confusion, and is
      easy to reenable as soon as we want to.
      66360b10