1. 30 Apr, 2013 7 commits
  2. 29 Apr, 2013 1 commit
  3. 25 Apr, 2013 1 commit
    • Christos Stavrakakis's avatar
      Fix deadlock when creating server · 3ab85869
      Christos Stavrakakis authored
      Fix deadlock when creating a server that was introduced by commit
      501053a. Allocating the public IP in the same transaction with creating
      the server resulted in a deadlock with backend allocator, because
      inserting the new VM in the database waits on an exclusive lock of the
      backend (foreign key).
      3ab85869
  4. 22 Apr, 2013 4 commits
    • Christos Stavrakakis's avatar
      79e0e71e
    • Christos Stavrakakis's avatar
      Cyclades: reserve public IP after commission · 78562370
      Christos Stavrakakis authored
      When creating a server, do not reserve a public IP address before
      issuing commission to quotaholder. This bug resulted in unsynchronized
      IP pools between Cyclades and Ganeti, and needed external
      reconciliation to synchronize them.
      
      Refs #3570
      78562370
    • Christos Stavrakakis's avatar
      Improve performance in listing images · 96a3cbf6
      Christos Stavrakakis authored
      Use '_get_domain_objects' function of Pithos backend, to list all
      objects in a 'plankton' domain, instead of looping over all accessible
      accounts, containers and objects. This function also returns metadata
      and permissions for each object in order to avoid two extra calls for
      each returned image.
      
      This should provide a significant performance boost in listing available
      images.
      
      Note: Currently plankton API filters in 'list_images' are not
      implemented.
      
      Refs #3510
      96a3cbf6
    • Christos Stavrakakis's avatar
      plankton: Cleanup and improve code · 73d42021
      Christos Stavrakakis authored
      Major refactor in plankton APP and ImageBackend code:
      * Remove unused code
      * Remove 'plankton_method' decorator that added an ImageBackend to
        requests an replace it with 'image_backend' context manager. This
        context manager is responsible for opening and closing connections
        to PithosBackend and converting ImageBackend errors to cloud faults.
      * Update plankton and images API methods and tests.
      73d42021
  5. 16 Apr, 2013 1 commit
  6. 08 Apr, 2013 9 commits
  7. 07 Apr, 2013 1 commit
  8. 02 Apr, 2013 3 commits
  9. 27 Mar, 2013 2 commits
    • Kostas Papadimitriou's avatar
      Delegate cyclades ui feedback calls to astakos · 9ead2622
      Kostas Papadimitriou authored
      Mimic pithos app/ui feedback handling to avoid duplicating boilerplate
      code.
      
      New settings:
      CYCLADES_USER_FEEDBACK_URL
      
      Deprecated (removed) settings:
      FEEDBACK_CONTACTS
      FEEDBACK_EMAIL_FROM
      9ead2622
    • Georgios D. Tsoukalas's avatar
      pool context manager, http pool AssertionError fix · 2f432a67
      Georgios D. Tsoukalas authored
      Refs #3492
      
      - Introduce a generic PooledObject class to act both
        as a context manager for getting and putting back
        an object from a pool.
      
      - Implement a class PooledHTTPConnection(PooledObject)
        as a sublcass of the one in (1)
      
      - Eliminate httplib.HTTPConnection patching of close().
        Eliminate put/get_http_connection.
        The httplib.HTTPConnection object is no longer released
        back to the pool via a method on it.
        One must explicitly put it to the pool,
        or use the PooledObject context manager in (2) above.
      
      - Update lib.astakos, lib.quotaholder.http,
        synnefo.api.delegate, pithos.api.delegate to use
        PooledHTTPConnection.
      
      - Update tests
      2f432a67
  10. 21 Mar, 2013 2 commits
    • Christos Stavrakakis's avatar
      Create public NIC when creating VM · dc1554e4
      Christos Stavrakakis authored
      Until now, a server's public NetworkInterface was not created in the DB
      until the arrival of the message from Ganeti hooks. However, the IPv4
      address of the NIC is reserved before sending the OP_INSTANCE_CREATE
      job to Ganeti.
      
      This drawback of this approach is that if the Ganeti hooks never run
      (building ERROR), Cyclades will never associate the IPv4 address with
      a machine and therefore this address will never be released.
      
      This commit fixes this issue by creating the VM's public NIC in DB when
      creating the server. Also the NetworkInterface model is extended with
      a 'state' field to indicate if the NIC is active or still building.
      Finally, the corresponding API calls are modified in order to return
      only 'ACTIVE' NICs.
      dc1554e4
    • Christos Stavrakakis's avatar
      08bf2ae4
  11. 20 Mar, 2013 1 commit
  12. 14 Mar, 2013 4 commits
  13. 11 Mar, 2013 2 commits
  14. 07 Mar, 2013 2 commits