1. 11 Nov, 2014 1 commit
    • Leigh Stoller's avatar
      Add gid to project_leases, and allow creation in subgroups. · d859078e
      Leigh Stoller authored
      This is not exposed to users, the main reason for this is so that the name
      space for leases (datasets) is per-group instead of per-project. We need
      this when creating datasets via the geni interface (backend to APT), since
      all leases are created in the holding project. Without a subgroup, we would
      run into name collisions on the backend. It also gives us finer access
      permission control for the same reason.
      
      Note that I yanked out the lease cache from Lease.pm (not worth the
      trouble), and I expanded Lookup to allow for the usual variety of
      possibilities that we allow in other Lookup methods.
      d859078e
  2. 06 Jan, 2014 1 commit
  3. 03 Jan, 2014 3 commits
    • Mike Hibler's avatar
      Prototype lease-related sitevars and use them in create scripts. · 2faa886d
      Mike Hibler authored
      Currently, these are not yet in the sitevariables table, I just hardwire
      them in Lease.pm til we get the right set.
      2faa886d
    • Mike Hibler's avatar
      Minor cleanups. · 879dd913
      Mike Hibler authored
      879dd913
    • Mike Hibler's avatar
      Assorted changes. · 054522cf
      Mike Hibler authored
      Add wait option (-w). Check for lots of things that could have occured
      while waiting and abort if such things happened (since any number of things
      could have happened to the lease while you slept).
      
      Permit state transtions that alloc/delloc resources if -R is specified.
      Add -U option to forcibly unlock a lease (if it somehow got left locked).
      054522cf
  4. 11 Dec, 2013 3 commits
    • Mike Hibler's avatar
      Add script to approve a lease and add some locking in other scripts. · 6fef3cce
      Mike Hibler authored
      approvelease is the place where storage actually gets allocated for
      a lease. It uses bscontrol to contact an appropriate freeNAS storage
      server and allocate a ZFS volume.
      
      deletelease is the place where storage is deallocated. Note that once
      a lease has been approved and storage allocated, it cannot be returned
      to the unapproved state. The only way to free storage is to delete the
      lease.
      
      Both approve and delete use an intermediate state, "initializing", to
      signal that the lease is in the middle of a potentially time-consuming
      allocation/deallocation procedure. I probably should have just used the
      lease locking mechanism instead.
      
      Approve, delete, and mod all DO use the locking mechanism when examining
      and manipulating the state of a lease. Nonetheless, I am sure that are
      still plenty of races.
      6fef3cce
    • Mike Hibler's avatar
      7ecccb45
    • Mike Hibler's avatar