1. 26 Oct, 2011 19 commits
  2. 24 Oct, 2011 3 commits
  3. 13 Oct, 2011 2 commits
  4. 12 Oct, 2011 1 commit
    • Michael Hanselmann's avatar
      rpc: Disable HTTP client pool and reduce memory consumption · 05927995
      Michael Hanselmann authored
      
      
      We noticed that “ganeti-masterd” can use large amounts of memory,
      especially on large clusters. Measurements showed a single PycURL client
      using about 500 kB of heap memory (the actual usage depends on versions,
      build options and settings).
      
      The RPC client uses a per-thread HTTP client pool with one client per
      node. At this time there are 41 non-main threads (25 for the job queue
      and 16 for client requests). This means the HTTP client pools use a lot
      of memory (ca. 200 MB for 10 nodes, ca. 1 GB for 50 nodes).
      
      This patch disables the per-thread HTTP client pool. No cleanup of
      unused code is done. That will be done in the master branch only.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      05927995
  5. 05 Oct, 2011 1 commit
  6. 30 Sep, 2011 2 commits
  7. 29 Sep, 2011 1 commit
    • Andrea Spadaccini's avatar
      Make migration RPC non-blocking · 6a1434d7
      Andrea Spadaccini authored
      
      
      To add status reporting for the KVM migration, the instance_migrate RPC
      must be non-blocking. Moreover, there must be a way to represent the
      migration status and a way to fetch it.
      
      * constants.py:
        - add constants representing the migration statuses
      
      * objects.py:
        - add the MigrationStatus object
      
      * hypervisor/hv_base.py
        - change the FinalizeMigration method name to FinalizeMigrationDst
        - add the FinalizeMigrationSource method
        - add the GetMigrationStatus method
      
      * hypervisor/hv_kvm.py
        - change the implementation of MigrateInstance to be non-blocking
          (i.e. do not poll the status of the migration)
        - implement the new methods defined in BaseHypervisor
      
      * backend.py, server/noded.py, rpc.py
        - add methods to call the new hypervisor methods
        - fix documentation of the existing methods to reflect the changes
      
      * cmdlib.py
        - adapt the logic of TLMigrateInstance._ExecMigration to reflect
          the changes
      Signed-off-by: default avatarAndrea Spadaccini <spadaccio@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      6a1434d7
  8. 28 Sep, 2011 2 commits
  9. 27 Sep, 2011 3 commits
  10. 30 Aug, 2011 1 commit
  11. 03 Aug, 2011 1 commit
  12. 08 Jul, 2011 1 commit
  13. 24 May, 2011 1 commit
  14. 10 May, 2011 1 commit
  15. 08 Mar, 2011 1 commit