1. 28 Aug, 2012 19 commits
  2. 13 Aug, 2012 1 commit
  3. 07 Aug, 2012 1 commit
    • Iustin Pop's avatar
      Switch job IDs to numeric · 76b62028
      Iustin Pop authored
      
      
      This has been a long-standing cleanup item, which we've always
      refrained from doing due to the high estimated effort needed.
      
      In reality, it turned out that after some infrastructure improvements
      (the previous patches), the actual job queue-related changes are quite
      small.
      
      We will need to update the NEWS file later, but so far the RAPI
      documentation doesn't mention that the job ID is a string (it only
      says it is "a number"), so it doesn't look like it needs update.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      76b62028
  4. 31 Jul, 2012 1 commit
  5. 27 Jul, 2012 1 commit
  6. 19 Jul, 2012 1 commit
    • Iustin Pop's avatar
      Reorganise the lookup functions · 2fc5653f
      Iustin Pop authored
      
      
      Currently, the LookupResult, MatchPriority and related functions are
      locate in Loader.hs, since (so far) only hbal needs them in the
      selection of instances. However, with the new functionality on confd
      side, we need these functions there too, but we don't want to import
      Loader.hs (which pulls in lots of balancing-related code). So we move
      all these function to BasicTypes.hs, since that module is a leaf one,
      with no other dependencies.
      
      Unittests are slightly adjusted (but they are still tested under the
      'Loader' group).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarAgata Murawska <agatamurawska@google.com>
      2fc5653f
  7. 06 Jul, 2012 3 commits
    • Iustin Pop's avatar
      Replace a few explicit case expressions · 76ae2e5b
      Iustin Pop authored
      
      
      Since we're just talking about converting Maybe into another monad, we
      can do that via the maybe function, instead of explicit casing.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      76ae2e5b
    • Iustin Pop's avatar
      Fix Haskell coverage results · 96eccc1f
      Iustin Pop authored
      
      
      There are two current issues with the coverage values:
      
      - we don't import all modules, thus leading to incomplete
        coverage results (too optimistic);
      - we use hpc in its default mode (intersection), which means that even
        modules which do have coverage results but are not used in all
        binaries we test will be dropped from the results; thanks to Agata,
        passing --union to hpc is enough to have better results (don't
        remember why this wasn't there in the first place…)
      
      After adding more modules to the import list and fixing the combining
      mode, we now have a complete list of modules in coverage results, many
      with zero coverage, so our overall coverage has dropped to about 60%.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      96eccc1f
    • Iustin Pop's avatar
      Cleanup the QC.hs file w.r.t. compiler options · fce98abd
      Iustin Pop authored
      
      
      Currently, we build the Haskell unittests with custom GHC flags,
      because we (I) were quite lazy when initially writing the
      unittests. This is not a problem for the tests themselves, but it
      creates problem when (for example) one would want to pass all
      $(HS_LIB_SRCS) to the compilers; this is not doable unless we
      "degrade" the flags used for all modules, instead of just for QC.hs.
      
      So we do two things to fix this:
      
      - first, we go and add type declaration to all functions that were
        missing them (in QC), and fix the couple of cases of monomorphism
        restrictions; this gets us rid of -fno-warn-missing-signature and
        -fno-warn-monomorphism-restriction
      - then, we move the actually important remaining options
        (-fno-warn-orphans and -fno-warn-unused-imports; see the explanation
        for the latter in the newly added FIXME) to a compiler pragma in the
        file, so that when building the unittests only this file is using
        the extra options
      
      And finally we can then drop the other unused options
      (-fno-warn-missing-methods anmd -Wwarn), leaving htools/test use
      simply -fhpc. This is more in-line with the other files, and thus we
      can handle all of HS_LIB_SRCS the same.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      fce98abd
  8. 05 Jul, 2012 1 commit
    • Iustin Pop's avatar
      hbal: return exit status 0 in case of early exit · 2a2e2610
      Iustin Pop authored
      
      
      This derives from an internal bug, but the story is consistent across
      both internal and external usage of hbal.
      
      Basically right now, hbal returns exit code 1 if requested to exit
      early, even if all jobs are successful. This is counter-intuitive due
      to two reasons:
      
      - hbal did what it was requested (exit early), so it shouldn't return error
      - there were no job failures, so there's nothing to "cleanup" or
        investigate on the Ganeti cluster, so again it shouldn't return
        error
      
      Therefore the new behaviour is as follows:
      
      - for cases where all jobs were successful, even if terminated early
        via SIGINT or via --limit, we exit with code 0
      - for cases where jobs have failed or there were other errors in
        running hbal, the exit code is 1
      - for cases were hbal is requested an immediate termination (SIGTERM),
        exit code is 2, denoting "unknown whether the Ganeti cluster is
        consistent or not"
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      2a2e2610
  9. 29 Jun, 2012 5 commits
  10. 28 Jun, 2012 4 commits
  11. 27 Jun, 2012 3 commits