1. 26 May, 2009 1 commit
    • Iustin Pop's avatar
      Change the module import hierarchy · 262a08a2
      Iustin Pop authored
      This patch makes the Types module a base module, and Node/Instance ones
      import it, from the previous (opposite) situation. This will allow in
      the future to use newtypes for the index and name types.
      262a08a2
  2. 25 May, 2009 5 commits
  3. 24 May, 2009 3 commits
  4. 23 May, 2009 3 commits
  5. 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
      chapter:
        - 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
      e4c5beaf
  6. 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
      more.
      585d4420
  7. 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.
      fd22ce8e
    • 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.
      942403e6
  8. 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).
      d09b6ed3
  9. 25 Apr, 2009 3 commits
  10. 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.
      8032b3b5
    • 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
      cases.
      45f01962
  11. 18 Apr, 2009 1 commit
  12. 16 Apr, 2009 1 commit
  13. 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.
      a1c6212e
    • 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.
      209b3711
  14. 21 Mar, 2009 1 commit
  15. 20 Mar, 2009 2 commits
  16. 14 Mar, 2009 5 commits
  17. 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.
      142538ff
    • 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.
      7dfaafb1
  18. 12 Mar, 2009 1 commit
  19. 10 Mar, 2009 1 commit
  20. 09 Mar, 2009 2 commits