1. 14 Jan, 2013 1 commit
  2. 10 Jan, 2013 2 commits
    • Michael Hanselmann's avatar
      Generate documentation from build directory · 7cf58cad
      Michael Hanselmann authored
      When man pages should be included they need to be copied from man/*.rst.
      This means documentation can no longer be built from the static reST
      files alone (which are referenced using “abs_top_srcdir”). Similar to
      Python files, automake doesn't copy or link the input files for
      documentation into the build tree.
      
      This patch adds all files required to build the documentation to
      “srclink_files”, renames the “docrst" variable to “docinput”, and then
      references the files in the build tree using “abs_top_builddir”.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      7cf58cad
    • Michael Hanselmann's avatar
      Add script to check man page references · 58997abb
      Michael Hanselmann authored
      This script checks for some of the most obvious mistakes when formatting
      man page references (which should have the form “**ganeti**\(7)”). While
      this works now, it is very hard to avoid ambiguities (e.g. references
      within verbatim blocks) when using regular expressions.
      
      Also fixes a typo in Makefile.am by replacing “harcoded” with
      “hardcoded”.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      58997abb
  3. 09 Jan, 2013 3 commits
  4. 08 Jan, 2013 6 commits
  5. 07 Jan, 2013 2 commits
  6. 04 Jan, 2013 1 commit
  7. 28 Dec, 2012 1 commit
  8. 27 Dec, 2012 7 commits
  9. 24 Dec, 2012 1 commit
  10. 22 Dec, 2012 5 commits
  11. 21 Dec, 2012 2 commits
  12. 20 Dec, 2012 2 commits
    • Michele Tartara's avatar
      Add Confd client to the Haskell code base · 04063ba7
      Michele Tartara authored
      The client queries all the master candidates in parallel, until the minimum
      number of replies, defined in the constant file, is received.
      A timeout prevents the waiting from being of indefinite length.
      
      The reply to be returned to the function that made the query is decided
      according to the Confd design document.
      Signed-off-by: default avatarMichele Tartara <mtartara@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      04063ba7
    • Constantinos Venetsanopoulos's avatar
      Implement the External Storage Interface · 376631d1
      Constantinos Venetsanopoulos authored
      With this commit we introduce the External Storage Interface
      to Ganeti, abbreviated: ExtStorage Interface.
      
      The ExtStorage Interface provides Ganeti with the ability to interact
      with externally connected shared storage pools, visible by all
      VM-capable nodes. This means that Ganeti is able to handle VM disks
      that reside inside a NAS/SAN or any distributed block storage provider.
      
      The ExtStorage Interface provides a clear API, heavily inspired by the
      gnt-os-interface API, that can be used by storage vendors or sysadmins
      to write simple ExtStorage Providers (correlated to gnt-os-interface's
      OS Definitions). Those Providers will glue externally attached shared
      storage with Ganeti, without the need of preprovisioned block devices
      on Ganeti VM-capable nodes as confined be the current `blockdev' disk
      template.
      
      To do so, we implement a new disk template called `ext' (of type
      DTS_EXT_MIRROR) that passes control to externally provided scripts
      (the ExtStorage Provider) for the template's basic functions:
      
       create / attach / detach / remove / grow
      
      The scripts reside under ES_SEARCH_PATH (correlated to OS_SEARCH_PATH)
      and only one ExtStorage Provider is supported called `ext'.
      
      The disk's logical id is the tuple ('ext', UUID.ext.diskX), where UUID
      is generated as in disk template `plain' and X is the disk's index.
      Signed-off-by: default avatarConstantinos Venetsanopoulos <cven@grnet.gr>
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      [iustin@google.com: small simplification in bdev code, pylint fixes]
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      376631d1
  13. 19 Dec, 2012 7 commits
    • Guido Trotter's avatar
      Add hroller htools personality · 3504d6c8
      Guido Trotter authored
      This is a new personality that for the moment doesn't do anything.
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      3504d6c8
    • Iustin Pop's avatar
      Add support for job queries in hconfd · a7e484c4
      Iustin Pop authored
      This adds support for job queries, including (basic) unit-tests.
      
      I've tested this for memory and cpu usage as follows:
      
      - 3600 jobs (live queue):
        - via masterd, default: ~1.1s (masterd: ~60MB ram)
        - via confd,   default: ~1.1s (hconfd:  ~25MB ram)
        - via masterd, id only: ~1.0s (masterd: ~57MB ram)
        - via confd,   id only: ~0.2s (hconfd:  ~15MB ram)
      
      - all jobs (128K in total, around 570MB size on disk):
        - via masterd, default: 1m22s (masterd cpu: 48s), masterd: 1.4G ram
        - via confd,   default: 1m16s (hconfd  cpu: 51s), hconfd:  570MB ram peak
          (peak only right before starting luxi send, hconfd decreases in RSS as
          results are streamed over luxi, back to ~18MB after the send)
        - via masterd, id only:  ~49s (masterd cpu: 45s), masterd: 1.3G ram
        - via confd,   id only:  ~39s (hconfd cpu: 35s),  hconfd:  110MB ram peak
          (right before luxi send, decreasing as results are sent, back to ~14MB
          after the send)
      
      Given this, and that in production it's not likely to have hundreds of
      thousand of job files, I believe the implementation is safe from this
      point of view.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarHelga Velroyen <helgav@google.com>
      a7e484c4
    • Iustin Pop's avatar
      Add a read-only job queue module · aa79e62e
      Iustin Pop authored
      This patch adds implementation for a read-only job queue module,
      together with "full" test (as full as can be in a lazy language…).
      
      One note about the behaviour of the job queue is the handling of
      opcodes that fail validation: the 'input' opcode actually is a
      meta-type, which can hold either a real opcode or a plain JSValue, so
      that we can still load jobs with invalid opcodes for querying. The
      only downside of this is that, as opposed to Python code, we can't
      show the correct summary for such an opcode - we try to parse the
      OP_ID but not the extended OP_DSC_FIELD-equivalent.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarHelga Velroyen <helgav@google.com>
      aa79e62e
    • Iustin Pop's avatar
      Remove two hlint overrides · 86aa9ba3
      Iustin Pop authored
      "Use comparing" was not needed, and "Use on" can be solved by actually
      using on in the single case we have (the patch also reorders imports
      in that file).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      86aa9ba3
    • Iustin Pop's avatar
      Add more mon-collector shell tests · 570274e4
      Iustin Pop authored
      These test the newly-changed behaviour, and fix an inconsistency in
      the hs-check target (versus hs-coverage).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichele Tartara <mtartara@google.com>
      570274e4
    • Iustin Pop's avatar
      Enable bash completion for mon-collector · 988dc5ca
      Iustin Pop authored
      This just ties in all the pieces so far and enables bash completion
      for it.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      988dc5ca
    • Iustin Pop's avatar
      Add a custom CLI module for DataCollectors · 55abd2c7
      Iustin Pop authored
      Currently, the mon-collector binary uses the HTools/CLI module, which
      is OK but mean it links in lots of htools code. By copying that module
      to DataCollectors/CLI and removing the unneeded code, we reduce the
      number of modules it depends on fro 20 to 12, meaning both a shorter
      compiler time (24s to 9s) and a smaller binary (~9.6MB to ~7MB).
      
      Also fixes a typo in the original HTools/CLI module, thanks Michele!
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichele Tartara <mtartara@google.com>
      55abd2c7