1. 04 Aug, 2015 1 commit
    • Mike Hibler's avatar
      Support for FreeNAS 9.3. · 490d011a
      Mike Hibler authored
      This REPLACES FreeNAS 9.2 support. The two are incompatible.
      
      This new code uses the REST API whereever possible (i.e., when it is
      implemented and works). There is some client-side reorg going on too.
      490d011a
  2. 28 Jan, 2015 1 commit
    • Mike Hibler's avatar
      Implement "plan 1" for dataset sharing: "ephemeral RO snapshots". · 7aefdaa1
      Mike Hibler authored
      You can now simultaneously RW and RO map a dataset because all the RO
      mappings use copies (clones) of a snapshot. Only a single RW mapping
      of course.
      
      When the RW mapping swaps out it automatically creates a new snapshot.
      So there is currently no user control over when a version of the dataset
      is "published", it just happens everytime you swapout an experiment with
      a RW mapping.
      
      A new RW mapping does not affect current RO mappings of course as they
      continue to use whatever snapshot they were created with. New RO mappings
      with get the most recent snapshot, which we currently track in the DB via
      the per-lease attribute "last_snapshot".
      
      You can also now declare a lease to be "exclusive use" by setting the
      "exclusive_use" lease attribute (via modlease). This means that it follows
      the old semantics of only one mapping at a time, whether it be RO or RW.
      This is an alternative to the "simultaneous_ro_datasets" sitevar which
      enforces the old behavior globally. Primarily, I put this attribute in to
      prevent an unexpected failure in the snapshot/clone path from wreaking
      havoc over time. I don't know if there is any value in exposing this to
      the user.
      7aefdaa1
  3. 22 Jan, 2015 1 commit
  4. 21 Jan, 2015 1 commit
  5. 02 Oct, 2014 1 commit
    • Mike Hibler's avatar
      FreeNAS 9 support, "improved" FreeNAS 8 support. · 23447d73
      Mike Hibler authored
      A clientside top-level "gmake freenas-tarball" will build everything and
      construct an appropriate tarball. You must either build on FreeBSD 8.3 or
      FreeBSD 9.2, depending on the version of FreeNAS you are targetting.
      
      This cannot be done native on the FreeNAS box! In part because there is
      no compiler there, but even if there was, the install target would wreak
      havoc on a full root filesystem; it assumes it is working on a skeleton
      FS with just the Emulab stuff in it.
      
      Mostly this commit is grotesque Makefile hacking due to our tragic
      client-side tmcc OS-specific directory structure. Hey, don't blame me!
      It was, um...okay DO blame me...
      23447d73
  6. 10 Feb, 2014 1 commit
  7. 27 Jan, 2014 1 commit
  8. 03 Jan, 2014 1 commit
  9. 11 Dec, 2013 2 commits
  10. 13 May, 2013 1 commit
  11. 05 Apr, 2013 5 commits
    • Kirk Webb's avatar
      More better retries for deleting the volume. · 8cc46254
      Kirk Webb authored
      8cc46254
    • Kirk Webb's avatar
      Keep calm and carry on deleting resources · 02ab4a86
      Kirk Webb authored
      Keep trying to remove resources even when some of them fail to be reaped
      properly.  Log problems/errors, but tell mkvnode.pl that all is well in
      most cases.
      
      DO signal failure during vnode destruction if the key volume removal step
      fails.  This way we don't lose track of the state needed for a future
      cleanup attempt.
      02ab4a86
    • Kirk Webb's avatar
      Use full netmask for first IP alias. · 8cdbeb37
      Kirk Webb authored
      8cdbeb37
    • Kirk Webb's avatar
      Overhaul of blockstore vm setup/teardown/cleanup. · dde74ba0
      Kirk Webb authored
      Simplified several things - got rid of some unnecessary checks that were
      actually causing problems.  Moved IP alias creation to appropriate
      library entry points (since they are now ephemeral constructs).  Fixed
      vlan interface creation/destruction to better support lans.  Changed how
      the vnode's state (existence, running, stopped, etc.) are checked.  This
      should fix stale resource cleanup and is also more lightweight.  Finally,
      keep the lock even while retrying deallocation when volume is busy.
      dde74ba0
    • Kirk Webb's avatar
      Support multiple blockstores on the same LAN/subnet. · 647fbc40
      Kirk Webb authored
      Allow shared storage hosts to have multiple blockstore pseudo-VMs that
      are colocated on the same subnet/LAN.
      647fbc40
  12. 02 Apr, 2013 2 commits
  13. 22 Mar, 2013 1 commit
    • Kirk Webb's avatar
      Reorder iSCSI teardown sequence and add a wait. · ea49a4eb
      Kirk Webb authored
      Reorder the teardown sequence walked through for undoing the "EXPORT" storage
      directive on FreeNAS.  Hopefully this improves the reliability of this
      procedure.  Also added a wait after the iSCSI extent teardown so that whatever
      might still be holding the underlying ZVOL has time to let go before we try
      to delete it.
      ea49a4eb
  14. 27 Feb, 2013 14 commits