1. 06 Jul, 2012 5 commits
    • 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
      Also compute Haskell tags in "make tags" · 2db53645
      Iustin Pop authored
      
      
      Note however that this won't work correctly with older compilers, due
      to ghc issue #4256; however, it's a handy way to build complete a TAGS
      file for Emacs.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      2db53645
    • 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
    • Agata Murawska's avatar
      Installation instructions update · fc6075dd
      Agata Murawska authored
      
      
      This patch aims at improving documentation for installing ganeti - both for users and developers.
      Signed-off-by: default avatarAgata Murawska <agatamurawska@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      fc6075dd
    • Iustin Pop's avatar
      Fix Query2.hs to compile without warnings · b647b6d7
      Iustin Pop authored
      
      
      Since this is not yet used by any targets, we didn't detect yet the
      compilation warnings. Just trivial exports/imports cleanup.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      b647b6d7
  2. 05 Jul, 2012 5 commits
    • Iustin Pop's avatar
      Ensure that --wait-for-sync is used in QA · 32da72f3
      Iustin Pop authored
      
      
      We don't have a specific test for activate disks, so let's add it in
      the cases where we run (incidentally) activate-disks.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      32da72f3
    • Iustin Pop's avatar
      Add --wait-for-sync in gnt-instance · f30d8165
      Iustin Pop authored
      
      
      Note that this needs (like for the opcode) a new option, with the
      default reverted (False instead of True).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      f30d8165
    • Iustin Pop's avatar
      9Add wait_for_sync flag to OpInstanceActivateDisks · b69437c5
      Iustin Pop authored
      
      
      This can be used to ensure that after activate-disks has returned, the
      instance's storage is consistent; currently there's no programmatic
      way to do this.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      b69437c5
    • 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
    • Iustin Pop's avatar
      Fix DRBD resize code · cad0723b
      Iustin Pop authored
      
      
      There are two bugs in the current resize code, affecting mostly DRBD.
      
      First, due to bugs in old DRBD versions (pre 8.0.14), the code currently
      calls `drbdsetup resize' on both the primary or secondary. However,
      this is actually wrong per current DRBD (from drbdsetup(8)):
      
           resize
             This causes DRBD to reexamine the size of the device's backing
             storage device. To actually do online growing you need to
             extend the backing storages on both devices and call the resize
             command on one of your nodes.
      
      So calling it just on the primary node should be enough. However, we
      can't simply remove the calls to the secondary nodes, since that would
      break the growth of the underlying storage (LVM) on the
      secondary. Which leads to the second existing bug: we call resize on
      each node, even before finish the growth of the underlying
      storage. This can leads to all kind of issues if DRDB is not well
      behaved.
      
      So to fix both these bugs, we have to extend the current RPC call with
      another parameter, which denotes whether to extend the actual backing
      storage or just the "logical" one (DRBD being the only one; MD would
      be another, if implemented). This allows us to do the growth in two
      steps, first the backing store on all nodes, then the logical storage
      on just the primary node.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      cad0723b
  3. 29 Jun, 2012 2 commits
  4. 28 Jun, 2012 1 commit
  5. 27 Jun, 2012 1 commit
  6. 26 Jun, 2012 2 commits
  7. 25 Jun, 2012 1 commit
  8. 19 Jun, 2012 1 commit
    • Guido Trotter's avatar
      Allow single-homed <-> multi-homed transitions · 79829d23
      Guido Trotter authored
      
      
      To change the cluster from single homed to multi homed or vice versa one
      must target the master node first, and pass the --force option. All
      other nodes then will work as long as they are reachable by the master.
      
      Note that this will also prevent a node to be set to single-homed if the
      master is multi-homed, which wasn't disallowed before, and warn if a
      single-homed <-> multi-homed transition happens.
      
      Also note that it's still theoretically possible to flip a cluster
      inadvertently by changing the master node this way, and then doing a
      master failover before fixing the other nodes.
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      79829d23
  9. 15 Jun, 2012 6 commits
  10. 14 Jun, 2012 3 commits
  11. 12 Jun, 2012 6 commits
  12. 11 Jun, 2012 6 commits
  13. 08 Jun, 2012 1 commit