1. 25 May, 2009 1 commit
    • Iustin Pop's avatar
      hail: unify the post-processing of results · f826c5e0
      Iustin Pop authored
      Both allocate and relocate compute new node lists, whose score must be
      ranked and the best option chosen. This means we can convert the code to
      a generic function.
  2. 24 May, 2009 3 commits
  3. 23 May, 2009 3 commits
  4. 22 May, 2009 1 commit
    • Iustin Pop's avatar
      More code reorganizations · e4c5beaf
      Iustin Pop authored
      This new big patch does a couple of more cleanups in the loading of data
        - introduce a Types module that holds most types (except the base
          Node/Instance/etc.) so that multiple other modules can use these
          (instead of only Cluster and its users)
        - bring IAlloc.hs in line with the recent changes of providing data
          types and not strings
        - removal of obsolete Utils.hs json-related functions
  5. 21 May, 2009 1 commit
    • Iustin Pop's avatar
      Initial work on hail · 585d4420
      Iustin Pop authored
      This makes hail compile and get a request parsed via IAlloc, but nothing
  6. 20 May, 2009 2 commits
    • Iustin Pop's avatar
      Convert Cluster.loadData to Result return · fd22ce8e
      Iustin Pop authored
      This patch changes Cluster.loadData to return a Result, instead of
      directly the values; this will allow us to return meaningful error
      values (e.g. when an instances lives on unknown node) rather than simply
      abort. Currently the result is always an Ok, the actual signalling of
      errors will come later.
      Its callers are changed to accommodate for the new return type and to
      display errors as needed.
    • Iustin Pop's avatar
      Switch from hand-written monads to a real one · 942403e6
      Iustin Pop authored
      This big patch converts from our home-grown monad-like constructs
      (the Either stuff) to a real, Either-like-but-another-name monad.
      We introduce a “Result a” monad, and this allows dropping many of the
      extra constructs. Hopefully the code is also more clear.
      Many of the functions could now be written in a generic-monad style,
      instead of Result specifically, but that will come in future patches.
      IAlloc.hs also has some unrelated patches.
  7. 26 Apr, 2009 1 commit
    • Iustin Pop's avatar
      hbal: add a --quiet option · d09b6ed3
      Iustin Pop authored
      This option is the opposite of the --verbose option, and it allows
      decreasing the verbosity level from the default of one to zero (which
      currently doesn't show the warning messages for missing disk/memory).
  8. 25 Apr, 2009 3 commits
  9. 20 Apr, 2009 2 commits
    • Iustin Pop's avatar
      Add reading the file names from env vars · 8032b3b5
      Iustin Pop authored
      This patch adds support for selecting the instance/node file names via
      two environment variables (HTOOLS_NODES, HTOOLS_INSTANCES).
      Unfortunately we still have lots of duplicated code, since the options
      are not unified.
    • Iustin Pop's avatar
      Implement error checks for extra arguments · 45f01962
      Iustin Pop authored
      Neither hbal nor hn1 take any arguments beside the options, so if any
      are passed is most likely an unintended error. This patch aborts in such
  10. 18 Apr, 2009 1 commit
  11. 16 Apr, 2009 1 commit
  12. 22 Mar, 2009 2 commits
    • Iustin Pop's avatar
      Show the x_mem/i_mem in node list · a1c6212e
      Iustin Pop authored
      This patch adds checking of cluster data in the binaries and display of
      node's x_mem/i_mem in the node list.
    • Iustin Pop's avatar
      Split common CLI functionality into a module · 209b3711
      Iustin Pop authored
      This patch moves the common CLI functionality (as much as currently
      possible) into a separate module. This means we only have one parseOpts
      and that Utils.hs doesn't keep this kind of functions anymore.
  13. 21 Mar, 2009 1 commit
  14. 20 Mar, 2009 2 commits
  15. 14 Mar, 2009 5 commits
  16. 13 Mar, 2009 2 commits
    • Iustin Pop's avatar
      Enhance the command list for the solution · 142538ff
      Iustin Pop authored
      This patch moves the formatting of the command list to Cluster.hs and
      enhances it with separator messages between the steps.
    • Iustin Pop's avatar
      Convert hbal from multiple rounds to a step-method · 7dfaafb1
      Iustin Pop authored
      Currently hbal does multiple rounds, stopping when a rounds doesn't
      bring improvements. With the recent changes to not remove instances from
      the candidate list, this is obsolete as the first round will always run
      to the end of the improvements.
      This patch changes this so that the Cluster.checkMove function doesn't
      recurse, but just computes the next best move (as its docstring says).
      This means we can actually incrementally compute and print the solution,
      and this is needed as otherwise an instance could move twice and the
      second time it needs the current placement to compute the exact command
      line and operation needed for the move.
  17. 12 Mar, 2009 1 commit
  18. 10 Mar, 2009 1 commit
  19. 09 Mar, 2009 2 commits
  20. 15 Feb, 2009 1 commit
    • Iustin Pop's avatar
      A small optimization in node computation · 256810de
      Iustin Pop authored
      Currently we always compute the available node list for moves (for an
      instances) based on the nodes of the initial table. This works find,
      however is a repeated calculation.
      We optimize this by passing a node list (of indexes, not full objects),
      which helps in two ways:
        - faster to filter later
        - allows restriction of target nodes by enforcing only this subset as
          target for moves
  21. 14 Feb, 2009 2 commits
  22. 13 Feb, 2009 1 commit
  23. 11 Feb, 2009 1 commit