Skip to content
Snippets Groups Projects
  1. May 22, 2013
  2. May 13, 2013
  3. May 03, 2013
  4. May 01, 2013
  5. Apr 02, 2013
  6. Mar 28, 2013
  7. Mar 21, 2013
  8. Feb 25, 2013
  9. Feb 20, 2013
    • Iustin Pop's avatar
      Switch the curl bindings from optional to required · 1ca709c1
      Iustin Pop authored
      
      Currently, we support curl being optional via some sporting exercises:
      ifdefs in the code, data types that represent 'Curl is disabled'
      state, etc. However, with the future work on RPC, we would have to
      even make the dependencies list conditional on it, etc. This is too
      much work, when the curl library is included even in stable
      distributions.
      
      This patch changes curl from option to required, the same as the other
      base libraries.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichele Tartara <mtartara@google.com>
      1ca709c1
  10. Jan 08, 2013
  11. Dec 12, 2012
  12. Dec 10, 2012
  13. Nov 21, 2012
  14. Nov 13, 2012
  15. Oct 26, 2012
  16. 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
  17. Oct 02, 2012
  18. Sep 04, 2012
  19. Aug 13, 2012
    • Iustin Pop's avatar
      Switch the Luxi interface from Strings to ByteStrings · e821050d
      Iustin Pop authored
      
      I'm doing this change for future performance optimisations. Currently
      we use the Luxi interface just as a client, so not in the hot path,
      but when we'll use this as a server interface, we're interested to
      both reduce the space and time consumption of the interface.
      
      We have to simultaneous changes here:
      
      - switch from using socket-related function (sendto, recv, etc.) to
        handle-based functions, since the standard network library doesn't
        work with sockets
      - switch from using Strings for the internal buffer to strict
        ByteStrings; the only downside is that we now have the issue of
        decoding/encoding from binary to UTF-8 strings, a fact which brings
        its own issues into the mix (we have to check for failed decodings,
        etc.); but this is similar to what we'll have to handle on the
        Python side when moving to Python 3.x
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      e821050d
  20. Jul 27, 2012
  21. Jul 06, 2012
  22. Jun 25, 2012
  23. May 24, 2012
  24. Mar 27, 2012
  25. Feb 10, 2012
  26. Nov 18, 2011
  27. Nov 14, 2011
  28. Sep 27, 2011
  29. Sep 26, 2011
  30. Sep 15, 2011
  31. Jul 21, 2011
  32. Apr 18, 2011
  33. Mar 31, 2011
  34. Mar 23, 2011
  35. Dec 01, 2010
  36. Nov 10, 2010
  37. Aug 19, 2010
  38. Jul 20, 2010
  39. Jul 01, 2010
    • Michael Hanselmann's avatar
      RAPI client: Switch to pycURL · 2a7c3583
      Michael Hanselmann authored
      
      Currently the RAPI client uses the urllib2 and httplib modules from
      Python's standard library. They're used with pyOpenSSL in a very fragile
      way, and there are known issues when receiving large responses from a RAPI
      server.
      
      By switching to PycURL we leverage the power and stability of the
      widely-used curl library (libcurl). This brings us much more flexibility
      than before, and timeouts were easily implemented (something that would
      have involved a lot of work with the built-in modules).
      
      There's one small drawback: Programs using libcurl have to call
      curl_global_init(3) (available as pycurl.global_init) while exactly one
      thread is running (e.g. before other threads) and are supposed to call
      curl_global_cleanup(3) (available as pycurl.global_cleanup) upon exiting.
      See the manpages for details. A decorator is provided to simplify this.
      
      Unittests for the new code are provided, increasing the test coverage of
      the RAPI client from 74% to 89%.
      
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      2a7c3583
Loading