1. 28 Sep, 2009 1 commit
    • Iustin Pop's avatar
      Turn on, and fix, more warnings · fbb95f28
      Iustin Pop authored
      The Makefile was intented to be -Wall and not simply -W, but I missed
      that. This enables more warnings and also enables -Werror (except for
      the tests).
      fbb95f28
  2. 06 Jul, 2009 2 commits
    • Iustin Pop's avatar
      Optimize the Utils.stdDev function · e6f4f05c
      Iustin Pop authored
      This patch optimizes the stdDev function in two respects:
        - first, we don't do sum . map which builds an intermediate list, but
      	instead use a fold over the list to build incrementally the sum;
      	this should reduce both the time and space characteristics, as we
      	have fewer objects created
        - second, we move from “a ^ 2” to “a * a” as the latter has a much
      	simpler implementation and thus a higher performance
      
      Since the ‘square’ function is obsoleted by the above the patch also
      removes it.
      e6f4f05c
    • Iustin Pop's avatar
      Fix hlint-generated warnings · 9f6dcdea
      Iustin Pop authored
      This big patch cleans up the code per hlint indications. Many removals
      of extra parentheses, replacements of concat . map with concabtMap,
      extra dollar signs, eta reductions, etc. were performed.
      
      The code still compiles and passes a couple of manual tests on sample
      files. The individual changes are also small enough as to be visually
      easy to confirm.
      9f6dcdea
  3. 11 Jun, 2009 2 commits
    • Iustin Pop's avatar
      Fix 'unused X' warnings · c6484f0b
      Iustin Pop authored
      This removes some unused functions and imports to cleanup the warnings.
      c6484f0b
    • Iustin Pop's avatar
      Fix the various monomorphism warning · 78694255
      Iustin Pop authored
      In a few places (e.g. tryRead or any printf call) it's a little bit hard
      to add the correct type signatures, but in the it is possible to fix
      these warnings (which can bite one in subtle cases).
      78694255
  4. 01 Jun, 2009 4 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
      Generalize some Result function into monad ones · 5aa48dbe
      Iustin Pop authored
      We don't really needed, but is more clean like this.
      5aa48dbe
    • 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. 19 May, 2009 1 commit
    • Iustin Pop's avatar
      Add support for 'offline' nodes · 00b15752
      Iustin Pop authored
      This patch drops compatiblity with Ganeti 1.2 and adds support for
      offline nodes in the cluster. When reading from RAPI, the drained nodes
      are considered offline so that we don't allocate on them too.
      00b15752
  9. 18 May, 2009 2 commits
    • Iustin Pop's avatar
      Update the IAlloc module · 3f6af65c
      Iustin Pop authored
      We know have a working parseData function that returns the node and
      instance data. This uncovered bad support for non-drbd instances 
      3f6af65c
    • Iustin Pop's avatar
      Move the JSON utilities to Utils.hs · 9ba5c28f
      Iustin Pop authored
      This patch moves the generic/reusable JSON functions to Utils.hs, so
      that they're shared between RAPI/IAlloc.
      9ba5c28f
  10. 16 Apr, 2009 1 commit
  11. 22 Mar, 2009 1 commit
    • 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
  12. 20 Mar, 2009 1 commit
  13. 14 Mar, 2009 1 commit
  14. 14 Feb, 2009 1 commit
    • Iustin Pop's avatar
      Add RAPI support to hn1 · dd4c56ed
      Iustin Pop authored
      This patch moves a function to Utils and changes hn1 to be able to take
      data from RAPI.
      dd4c56ed
  15. 13 Feb, 2009 1 commit
  16. 28 Jan, 2009 1 commit