Skip to content
Snippets Groups Projects
  1. Dec 20, 2012
    • 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
  2. Dec 17, 2012
  3. Dec 12, 2012
  4. Dec 05, 2012
  5. Nov 21, 2012
  6. Nov 19, 2012
  7. Nov 16, 2012
  8. Nov 13, 2012
  9. Oct 26, 2012
  10. Oct 22, 2012
  11. Oct 18, 2012
  12. Oct 12, 2012
  13. Oct 10, 2012
    • Iustin Pop's avatar
      Improve Haskell configure options and detection · 21a5e56c
      Iustin Pop authored
      
      This patch cleans up  the Haskell library detection and defaults.
      
      First, it makes the base compiler/libraries required, per the email discussion.
      
      It then adds two new small autoconf macros, on to check for a required
      Haskell library and one to do custom action based on test results. We
      use these macros to cleanup and simplify a bit the module detection:
      
      - rapi, confd, and split query are auto detected and enabled if _all_
        required libraries are present
      - unittests are enabled if _all_ required libraries are present
      
      The patch also updates the documentation regarding required libraries.
      
      After this patch, base Ganeti fully buildable on Debian Squeeze/Ubuntu
      Lucid.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      21a5e56c
  14. Oct 09, 2012
    • Iustin Pop's avatar
      Try to auto-enable htools-rapi and split query · 55837756
      Iustin Pop authored
      
      We try to automatically enable the htools-rapi and split query (if
      confd and htools-rapi are enabled) options. This is our intended
      default configuration, and allows easier test of the new code
      path. Further cleanups for checking whether confd can be enabled will
      come later.
      
      The move block is due to the fact that we first have to check for
      htools-rapi, and only then we can auto-enable the feature.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      55837756
  15. Oct 02, 2012
  16. Sep 28, 2012
  17. Sep 18, 2012
  18. Aug 28, 2012
  19. Jul 27, 2012
  20. Jul 24, 2012
  21. Jul 19, 2012
  22. Jul 13, 2012
  23. Jul 03, 2012
  24. Jun 25, 2012
  25. Jun 19, 2012
  26. Jun 12, 2012
  27. Jun 11, 2012
    • Iustin Pop's avatar
      Enable hlint in lint and reorganise this target · 6e4c8f68
      Iustin Pop authored
      
      Currently, the lint target does a sequential: pep8, pylint, pylint on
      the QA sources. hlint is run only when explicitly requested.
      
      This patch reorganises the lint target by:
      
      - splitting the current lint target into separate pylint (slow),
        pylint-qa (fast), pep8 (fast) targets
      - making lint itself depend on the above plus hlint
      - both pep8 and hlint are optional, based on whether the said binaries
        were detected at configure time
      
      make -j is slightly faster after this patch (1m18s → 1m7s).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      6e4c8f68
  28. Jun 01, 2012
  29. May 31, 2012
  30. May 23, 2012
  31. May 11, 2012
  32. Apr 11, 2012
  33. Mar 27, 2012
  34. Mar 23, 2012
    • Iustin Pop's avatar
      Enable selection between Python and Haskell confd · 73b0fa69
      Iustin Pop authored
      
      This patch changes configure.ac Makefile.am so that the user can pass:
      
      - --disable-confd (or --enable-confd=no) to disable it completely
      - --enable-confd=yes or --enable-confd=python to select the
        traditional implementation (this is the default setting)
      - --enable-confd=haskell to select hconfd
      
      The only "not nice" thing is that I've chosen to keep the
      hconfd.hs/hconfd name, and we rename it after install via an
      install-exec-hook. The other choice is possible too (to rename the
      source file/binary).
      
      One additional note is that if we select haskell, the _rule_ for
      creating daemons/ganeti-confd dissapears; whereas if we select python,
      the rule for htools/hconfd still exists (one can build it explicitly),
      it just is not installed. This is due to the different way in which
      the rules are declared.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      73b0fa69
    • Iustin Pop's avatar
      Fix qemu-img configure.ac check · acf70442
      Iustin Pop authored
      
      By accident, commit a002ed79 introduced the qemu-img checks in the
      htools block. I found this also by mistake while investigating
      another issue :)
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      acf70442
  35. Mar 22, 2012
  36. Mar 21, 2012
Loading