1. 10 Jul, 2016 3 commits
    • David Johnson's avatar
      Many interrelated changes: exceptions, caching, managers. · 84a24fbf
      David Johnson authored
        * Move exceptions into common file.  Ok, this isn't interrelated, but
          it became so, sorry.
      
        * Move ensure_slice, ensure_sliver into core ElasticSliceManager
          "abstract" interface, from SimpleElasticSliceManager; refactor them
          to split out create_slice and create_sliver as separate methods; and
          expose all these things via ApplicableMethod.
      
        * Add a new interpretation of the cache-relevant force=(True|False)
          parameter: now if that value is an integer, take that as a max_age
          when querying the cache.  So now the caller can prevent the cache
          from returning non-expired values if the value is older than a
          caller-specified max age.
      
        * Improve _cache_add to use synchronous ctime/xtime if relevant.
      
        * Add ctime to CacheNotifier (.added).
      
        * Add get_sliver_credential().
      
        * Expose the manager should_add_nodes/add_nodes/delete_nodes methods
          via ApplicableMethod.
      
        * Change the manager.*add_nodes* methods to accept an additional
          count=N parameter.  If 0, should_add_nodes will make an estimate of
          how many nodes to add them, and add them.  If nonzero, it will see
          if it should add that number of nodes, and do so if allowed.  This
          allows, for instance, a CLI invocation to force multiple nodes to be
          added if possible, even if by default the manager would only add one
          at a time.
      
        * Add a force= param to ProtoGeniServer.get_wrapped_manifest().
      84a24fbf
    • David Johnson's avatar
      Manually handle a couple data deps in SimpleElasticSliceManager. · 740ae2c9
      David Johnson authored
      should_add_nodes and should_delete_nodes require that we have certain
      pieces of status and availability data... so make sure we do.
      
      (Of course this doesn't handle the case of data stale-ness yet...)
      740ae2c9
    • David Johnson's avatar
      Fix minor bug in should_delete_nodes. · d98a80cb
      David Johnson authored
      d98a80cb
  2. 08 Jul, 2016 2 commits
  3. 14 Jun, 2016 3 commits
  4. 13 Jun, 2016 3 commits
  5. 10 Jun, 2016 1 commit
  6. 08 Jun, 2016 1 commit
    • David Johnson's avatar
      Pythonize the whole library so that PYTHONPATH and module paths are sane. · 6501cf07
      David Johnson authored
      There are a couple bugfixes in here -- there was a bad call to
      super().__init__ that passed self as the first arg.  I also removed the
      config file manager_class and helper_class defaults.
      
      Also updates the slurm module and adds important notes about subclassing
      both an existing helper and manager inside of a single class... method
      resolution order is important!  See the slurm module, or the new docs
      for SimpleElasticSliceManager for that.
      6501cf07