1. 03 Feb, 2016 5 commits
    • Leigh Stoller's avatar
      Remove the "current" branch restriction; someone else can figure this out, · f6538c5f
      Leigh Stoller authored
      I'm way to frustrated at this point. Back to using master ...
      f6538c5f
    • Gary Wong's avatar
      Merge branch 'current' into 'master'. · e4b4795b
      Gary Wong authored
      e4b4795b
    • Leigh Stoller's avatar
      Add support for multiple pre-reservations per project: · 103e0385
      Leigh Stoller authored
      When creating a pre-reserve, new -n option to specify a name for the
      reservation, defaults to "default". All other operations require an
      -n option to avoid messing with the wrong reservation. You are not allowed
      to reuse a reservation name in a project, of course. Priorities are
      probably more important now, we might want to change the default from 0 to
      some thing higher, and change all the current priorities.
      
      For bookkeeping, the nodes table now has a reservation_name slot that is
      set with the reserved_pid. This allows us to revoke the nodes associated
      with a specific reservation. Bonus feature is that when setting the
      reserved_pid via the web interface, we leave the reservation_name null, so
      those won't ever be revoked by the prereserve command line tool.
      
      New feature; when revoking a pre-reserve, we now look to see if nodes being
      revoked are free and can be assigned to other pre-reserves. We used to not
      do anything, and so had to wait until that node was allocated and released
      later, to see if it could move into a pre-reserve.
      
      Also a change required by node specific reservations; when we free a node,
      need to make sure we actually use that node, so have to cycle through all
      reservations in priority order until it can used. We did not need to do
      this before.
      103e0385
    • Leigh Stoller's avatar
      Turn on socket keep alives so that long running connections (say, · 70c94bca
      Leigh Stoller authored
      statewait) are not killed by the stateful firewall.
      70c94bca
    • Leigh Stoller's avatar
      Minor bug fix. · 4eeb7e8c
      Leigh Stoller authored
      4eeb7e8c
  2. 02 Feb, 2016 5 commits
    • Leigh Stoller's avatar
      Merge branch 'master' into current · f31b5a6b
      Leigh Stoller authored
      f31b5a6b
    • Leigh Stoller's avatar
      Add a wrapper script to run Medusa (which does ssh scans looking for bogus · ebe8baab
      Leigh Stoller authored
      accounts/passwords). Thanks to Mike Blodgett for cluing us in to this and
      providing the configuration he was using. This will run from cron a couple
      of times a day. The setup is not quite fully automated yet, need to create
      /usr/local/etc/medusa/{wordlist.txt,userlist.txt} by hand, as well as the
      crontab entry.
      
      We are scanning all local nodes (including VMs) as well as any allocated IP
      addresses in address pools.
      ebe8baab
    • Mike Hibler's avatar
      Merge branch 'master' into current · ee91f51f
      Mike Hibler authored
      ee91f51f
    • Mike Hibler's avatar
      Changes for FreeBSD 10.2 delay node. · 5286f0a5
      Mike Hibler authored
      Minor tweaks so that ipfw/dummynet sets up properly. Allow dynamic
      config (delay_setup) to accept a BW value up to 1Gb (was 100Mb).
      Somewhat dubious: if the incoming interface speed matches the desired
      shaping BW, set the BW to unlimited on the pipe (since the interface
      is already throttling for us).
      
      BEWARE! The fidelity of shaping at over 1Gb (e.g., adding delay to a
      10Gb link) is awful. Even a 10Gb pipe with no delay or loss only achieved
      about 7Gb/sec max. The delay node code needs serious work!
      5286f0a5
    • Mike Hibler's avatar
      Untested support for Linux erase operation. · fd6b84fd
      Mike Hibler authored
      fd6b84fd
  3. 01 Feb, 2016 6 commits
  4. 31 Jan, 2016 3 commits
    • Mike Hibler's avatar
      Rudiments of TRIM support in frisbee/imageunzip. · 3a477018
      Mike Hibler authored
      Consists of just a command line option right now!
      3a477018
    • Mike Hibler's avatar
      Add TRIM support to clientside of frisbee MFS. · 2f3b1c67
      Mike Hibler authored
      Currently this is done using the -E (erase) option to zapdisk to
      erase a partition or the entire disk.
      
      We run zapdisk before starting a frisbee load. Ultimately, I want
      TRIM support in frisbee proper (to erase rather than skip or zero
      free blocks), but erasing the entire disk might be a better option
      anyway (frisbee itself will benefit from the TRIMed disk).
      
      Notes:
      
      We only trim the disk when a node is in reloading. Didn't want to take
      a chance on having a user reload a partition on their disk and wind up
      getting the entire disk erased. That should not happen, but I didn't
      want to think through all the possibilities right now.
      
      Only works on FreeBSD right now. Linux MFS will still need to be modified.
      Just didn't want to track down how Linux does block erase right now.
      
      The clientside here is different than what is used on the Moonshots.
      On the Linux-based Moonshot MFS, we TRIM in slicefix by running fstrim
      on the root FS we just layed down. This used to be a good alternative
      back when the root FS occupied the entire disk, but now it won't work
      as well as we will only trim blocks from the first 6GB. Need to switch
      this over to the zapdisk (or frisbee) based TRIM.
      
      The server infrastructure on the Moonshots is the same: tmcc passes a
      TRIM=1 flags in "loadinfo" when the disk should be trimmed. So when to
      TRIM is based on the time since the last TRIM, and can now be specified
      site-wide, per-nodetype, or per-node.
      
      Currently, slicefix (x86 or ARM) doesn't do anything to the FS layed
      down to ensure that TRIM is done during the lifetime of the FS. Both
      FreeBSD and Linux have such options that can be set when the FS is
      created or added with tunefs. We need to think about this for mkextrafs
      and local blockstores as well.
      2f3b1c67
    • Mike Hibler's avatar
      Tweaks to TRIM reporting code. · f927aba6
      Mike Hibler authored
      Make the interval between TRIM operations a per nodetype (or per node)
      attribute instead of a global site variable. The sitevar will still be
      used to turn TRIM on or off globally.
      f927aba6
  5. 30 Jan, 2016 1 commit
  6. 29 Jan, 2016 12 commits
  7. 28 Jan, 2016 8 commits