1. 17 Oct, 2011 1 commit
  2. 21 Jul, 2011 2 commits
  3. 05 Jul, 2011 1 commit
  4. 30 May, 2011 1 commit
    • 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>
  5. 21 Apr, 2011 1 commit
  6. 30 Mar, 2011 1 commit
  7. 18 Mar, 2011 2 commits
  8. 15 Mar, 2011 1 commit
  9. 28 Jan, 2011 1 commit
  10. 27 Jan, 2011 4 commits
  11. 10 Jan, 2011 2 commits
  12. 05 Jan, 2011 2 commits
  13. 08 Dec, 2010 1 commit
  14. 29 Nov, 2010 1 commit
    • 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>
  15. 10 Aug, 2010 2 commits
  16. 29 Jul, 2010 2 commits
  17. 23 Jul, 2010 1 commit
  18. 13 Jul, 2010 1 commit
  19. 01 Jul, 2010 1 commit
    • 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
      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>
  20. 18 May, 2010 1 commit
  21. 17 May, 2010 1 commit
  22. 13 May, 2010 2 commits
  23. 11 May, 2010 8 commits