1. 10 Mar, 2017 1 commit
  2. 08 Mar, 2017 1 commit
  3. 24 Feb, 2017 2 commits
  4. 17 Feb, 2017 2 commits
  5. 15 Feb, 2017 1 commit
  6. 30 Sep, 2016 1 commit
  7. 27 Sep, 2016 1 commit
  8. 22 Aug, 2016 1 commit
  9. 10 Jul, 2016 2 commits
    • David Johnson's avatar
      Minor bug fix. · 88de2a48
      David Johnson authored
      88de2a48
    • 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
  10. 08 Jul, 2016 2 commits
  11. 07 Jul, 2016 4 commits
  12. 06 Jul, 2016 2 commits
  13. 29 Jun, 2016 1 commit
    • David Johnson's avatar
      Add a single-command mode for the client. · 19476ddb
      David Johnson authored
      This is based on a decorator class, ApplicableMethod, that exposes
      methods on objects to direct invocation from the command line.
      
      It uses argparse + subcommands (+ a default subcommand of 'interactive'
      to preserve old behavior).
      
      The decorator class methods create argparse subparsers based on
      the decorator args for each decorated function.  Kinda cool.  Didn't
      end up working as slick as I would have liked, due to decorator
      limitations.  But still, useful... and eliminates tons of boilerplate.
      19476ddb
  14. 13 Jun, 2016 4 commits
  15. 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