Skip to content
Snippets Groups Projects
  1. May 03, 2013
  2. May 01, 2013
  3. Apr 02, 2013
  4. Mar 28, 2013
  5. Mar 21, 2013
  6. Feb 25, 2013
  7. 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
  8. Jan 08, 2013
  9. Dec 12, 2012
  10. Dec 10, 2012
  11. Nov 21, 2012
  12. Nov 13, 2012
  13. Oct 26, 2012
  14. 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
  15. Oct 02, 2012
  16. Sep 04, 2012
  17. 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
  18. Jul 27, 2012
  19. Jul 06, 2012
  20. Jun 25, 2012
  21. May 24, 2012
  22. Mar 27, 2012
  23. Feb 10, 2012
  24. Nov 18, 2011
  25. Nov 14, 2011
  26. Sep 27, 2011
  27. Sep 26, 2011
  28. Sep 15, 2011
  29. Jul 21, 2011
  30. Apr 18, 2011
  31. Mar 31, 2011
  32. Mar 23, 2011
  33. Dec 01, 2010
  34. Nov 10, 2010
  35. Aug 19, 2010
  36. Jul 20, 2010
  37. 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
  38. Jun 30, 2010
  39. Jun 09, 2010
Loading