Skip to content
Snippets Groups Projects
  1. Apr 26, 2012
  2. Feb 01, 2012
  3. Dec 13, 2011
  4. Nov 23, 2011
  5. Oct 18, 2011
  6. Oct 17, 2011
  7. Oct 13, 2011
  8. Oct 12, 2011
    • Iustin Pop's avatar
      Rename filter and filter_ to qfilter · 2e5c33db
      Iustin Pop authored
      
      We currently use 'filter' as the OpCode, QueryRequest and RAPI field
      name for representing a query filter. However, since 'filter' is a
      built-in function, we actually have to use filter_ throughout the code
      in order to not override the built-in function.
      
      This patch simply goes and does a global sed over the code. Due to the
      fact that the RAPI interface already exposed this field, we add
      compatibility code for now which handles both forms.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      2e5c33db
  9. Sep 20, 2011
  10. Sep 16, 2011
  11. Sep 13, 2011
  12. Sep 07, 2011
  13. Jul 21, 2011
  14. Jul 05, 2011
  15. May 30, 2011
    • Michael Hanselmann's avatar
      gnt-node migrate: Use LU-generated jobs · b7a1c816
      Michael Hanselmann authored
      
      Until now LUNodeMigrate used multiple tasklets to evacuate all primary
      instances on a node. In some cases it would acquire all node locks,
      which isn't good on big clusters. With upcoming improvements to the LUs
      for instance failover and migration, switching to separate jobs looks
      like a better option. This patch changes LUNodeMigrate to use
      LU-generated jobs.
      
      While working on this patch, I identified a race condition in
      LUNodeMigrate.ExpandNames. A node's instances were retrieved without a
      lock and no verification was done.
      
      For RAPI, a new feature string is added and can be used to detect
      clusters which support more parameters for node migration. The client
      is updated.
      
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      b7a1c816
  16. Apr 21, 2011
  17. Mar 30, 2011
  18. Mar 18, 2011
  19. Mar 15, 2011
  20. Jan 28, 2011
  21. Jan 27, 2011
  22. Jan 10, 2011
  23. Jan 05, 2011
  24. Dec 08, 2010
  25. Nov 29, 2010
    • Michael Hanselmann's avatar
      RAPI: Implement OS parameters for instance reinstallation · c744425f
      Michael Hanselmann authored
      
      Dictionaries are hard to encode into query strings, therefore the
      “/2/instances/[instance_name]/reinstall” resource is changed to accept
      its parameters via the request body. The old query string parameters are
      still accepted for backwards compatibility.
      
      To allow clients to detect whether a server supports the new body
      parameters, a new feature string is added to the “/2/features” resource.
      Some people might not like this, but it reuses existing functionality.
      
      The RAPI client and its unittests are updated.
      
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      c744425f
  26. Aug 10, 2010
  27. Jul 29, 2010
  28. Jul 23, 2010
  29. Jul 13, 2010
  30. 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