1. 04 Jan, 2010 4 commits
  2. 25 Nov, 2009 1 commit
  3. 07 Jul, 2009 2 commits
  4. 13 Feb, 2009 1 commit
    • Iustin Pop's avatar
      Make RAPI return 502/504 errors for luxi errors · 77e1d753
      Iustin Pop authored
      This changes the RAPI error codes for luxi errors; a timeout error is
      now reported properly as 504, while any other luxi error is reported as
      502.
      
      It would be good to convert even more errors into proper return codes in
      the future.
      
      Reviewed-by: imsnah
      77e1d753
  5. 15 Jan, 2009 1 commit
    • Iustin Pop's avatar
      Some docstring updates · 25e7b43f
      Iustin Pop authored
      This patch rewraps some comments to shorter lengths, changes
      double-quotes to single-quotes inside triple-quoted docstrings for
      better editor handling.
      
      It also fixes some epydoc errors, namely invalid crossreferences (after
      method rename), documentation for inexistent (removed) parameters, etc.
      
      Reviewed-by: ultrotter
      25e7b43f
  6. 18 Dec, 2008 5 commits
  7. 15 Dec, 2008 3 commits
  8. 12 Dec, 2008 2 commits
  9. 10 Dec, 2008 1 commit
  10. 09 Dec, 2008 1 commit
  11. 05 Dec, 2008 1 commit
    • Iustin Pop's avatar
      http: use slicing instead of string modification · b18dd019
      Iustin Pop authored
      The combination of the current buffer splitting method and (4KB) buffer
      size is very inefficient when writing big amounts of data. Just walking
      over a 16 megabyte string using a 4K buffer takes (on a random computer)
      1m06s, whereas using slices will decrease this to 0.080s, and slicing
      with 32 KB size decreases this to 0.073s.
      
      This means that uploading a big config file (it nears 1MB for big
      clusters) will take more and more time per the number of nodes, since it
      needs lots of slicing.
      
      I happened upon this by accidentally setting all nodes as master
      candidates, at which point just uploading the config file to all nodes
      took 40s. Applying the patch decreases this to 15s (this probably can
      still be optimized).
      
      The patch also removes a duplicate constant (the one actually used is in
      http/client.py), and changes the receive buffer size to use the same
      constant.
      
      Reviewed-by: imsnah
      b18dd019
  12. 04 Dec, 2008 6 commits
  13. 03 Dec, 2008 6 commits
  14. 25 Nov, 2008 1 commit
    • Michael Hanselmann's avatar
      ganeti.http: Don't reuse key and cert objects · 65c6b8e0
      Michael Hanselmann authored
      Reusing the private key and certificate objects gave us problems. This
      patch changes the code to only cache the PEM data, but the objects
      themselves. For every socket, the private key and certificate objects
      are created again.
      
      Reviewed-by: iustinp
      65c6b8e0
  15. 21 Nov, 2008 1 commit
  16. 19 Nov, 2008 2 commits
    • Michael Hanselmann's avatar
      Make HttpClientManager threadsafe · 33bbdbec
      Michael Hanselmann authored
      This allows a single HttpClientManager to be used from more than one
      thread at the same time. We discussed having one HttpClientManager
      per job queue thread. Assuming there should be one HTTP thread per
      node, this would mean quadratic growth with the number of nodes. By
      being able to reuse the manager, this problem is a defused a bit.
      
      This patch also fixes a typo in HttpClientRequestExecutor.
      
      Reviewed-by: iustinp
      33bbdbec
    • Oleksiy Mishchenko's avatar
      HTTP server: Do not decode empty entity body · 7c46aafd
      Oleksiy Mishchenko authored
      Reviewed-by: imsnah
      7c46aafd
  17. 11 Nov, 2008 1 commit
    • Michael Hanselmann's avatar
      ganeti.http: Implement SSL for HTTP client · 438a366a
      Michael Hanselmann authored
      Implementing SSL for the HTTP client required more work than I expected.
      For correct error handling, quite a lot of code is needed. To avoid
      code duplication, I moved a lot of the socket handling code into a
      single function named _SocketOperation. It takes care of the polling
      and error handling for OpenSSL. At the same time, the functions calling
      it become a lot smaller.
      
      This patch brings a few more changes:
      - Error handling for socket.connect_ex (e.g. name resolution failures)
      - Rename "ResponseError" exception class to "_HttpClientError" --
        it's an internal class anyway
      
      Reviewed-by: iustinp
      438a366a
  18. 10 Nov, 2008 1 commit