Skip to content
Snippets Groups Projects
  1. Aug 27, 2012
  2. Aug 22, 2012
    • Constantinos Venetsanopoulos's avatar
      Add external storage interface related man pages · 7c88c7af
      Constantinos Venetsanopoulos authored
      
       * ganeti-extstorage-interface man page
       * gnt-storage man page
      
      Signed-off-by: default avatarConstantinos Venetsanopoulos <cven@grnet.gr>
      7c88c7af
    • Constantinos Venetsanopoulos's avatar
      Add the gnt-storage client · 9bcef16f
      Constantinos Venetsanopoulos authored
      
      Add a new client called 'gnt-storage'.
      The client interacts with the ExtStorage interface, similarly to
      the way gnt-os interacts with the OS interface.
      
      For now, only two commands are supported: 'info' and 'diagnose'.
      
      'diagnose' calculates the node status of each provider on each node,
      similarly to gnt-os diagnose. Furthermore, for every provider, it
      calculates it's nodegroup validity for each nodegroup. This is done
      inside the LU and not the client (marked as 'TODO' for the  global
      validity of gnt-os diagnose).
      
      In the future, gnt-storage can be used to manage storage pools,
      or even be extended to diagnose other storage types supported by
      Ganeti, such as lvm, drbd (INT_MIRROR) or rbd (EXT_MIRROR).
      
      Signed-off-by: default avatarConstantinos Venetsanopoulos <cven@grnet.gr>
      9bcef16f
    • Constantinos Venetsanopoulos's avatar
      Implement the External Storage Interface · 868eab67
      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>
      868eab67
    • Dimitris Aragiorgis's avatar
  3. Aug 09, 2012
  4. Aug 08, 2012
  5. Jul 04, 2012
  6. Jun 29, 2012
  7. Jun 28, 2012
  8. Jun 25, 2012
  9. Jun 11, 2012
    • Iustin Pop's avatar
      Fix make -n use · 316dc1ff
      Iustin Pop authored
      
      Due to the way $(MAKE) behaves (it forces execution of the commands
      that contain it), use of $(MAKE) in a command line together with
      side-effects commands will break stuff. It's better to keep it either
      on a separate line, or if not possible, move said commands to a
      separate make target.
      
      After this patch, make -n distcheck, make -n regen-vcs-version and
      possibly other commands now work correctly.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      316dc1ff
    • 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
  10. Jun 08, 2012
  11. Jun 06, 2012
    • Iustin Pop's avatar
      Fix parallel build failures · a13d6911
      Iustin Pop authored
      
      This is the 2.5 version of the "fix build failures":
      
      - man/%.gen could be left over even in case of failure, due to
        automake bug
      - make man/%.gen runs RUN_IN_TEMPDIR, so let's depend on it, since
        that target has the proper dependencies (create needed dirs)
      - man/%.gen depends on a number of built sources, but the dependency
        was not declared
      
      Furthermore, wraps a long comment.
      
      Tested with -j4/-j16, after `make maintainer-clean'.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      a13d6911
  12. May 31, 2012
  13. May 22, 2012
  14. May 11, 2012
  15. May 08, 2012
  16. May 04, 2012
  17. Apr 26, 2012
  18. Mar 30, 2012
  19. Mar 27, 2012
  20. Mar 26, 2012
  21. 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
  22. Mar 22, 2012
    • Iustin Pop's avatar
      Fix out-of-tree builds · 3e5012c6
      Iustin Pop authored
      
      The new shell tests do not succeed out-of-tree, due to static paths
      and other issues. This trivial patch fixes these issue, make distcheck
      now passes.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      3e5012c6
    • Iustin Pop's avatar
      Convert manual shell tests to shelltestrunner · 53d4cdf1
      Iustin Pop authored
      
      This is more of a RFC… Basically most of the shell-based tests are
      converted from exec+grep to shelltestrunner.
      
      Things are not all fine and nice though:
      
      - we have dependencies between tests, as some generate some data files
        needed later; this is not nice, and we depend on serial execution in
        testrunner
      - we can still fail with no so nice messages in the offline-test
        script (when we generate most of the data)
      
      But overall, I think the tests are much nicer to
      define/read/debug:
      
      - each test is standalone, with the only dependency being an optional
        input data file; this is much better than a single monolithic shell
        script
      - in case of failures, the failure is clearly shown by shell test,
        both for exit code and stdout/stderr
      - shelltest can run in --debug mode, where the exact details are shown
        much better than the alternative of "set -x" for the shell script
      
      Comments welcome!
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      53d4cdf1
  23. Mar 21, 2012
  24. Mar 20, 2012
  25. Mar 19, 2012
  26. Mar 15, 2012
  27. Mar 14, 2012
Loading