1. 01 May, 2013 1 commit
  2. 22 Apr, 2013 2 commits
  3. 17 Apr, 2013 2 commits
    • Sofia Papagiannaki's avatar
      pithos: Fix container quota violation control · cf6c6f3c
      Sofia Papagiannaki authored
      Pithos backend before performing the quota violation checks
      creates a new version of object and updates the
      usage of the ancestor nodes (the container).
      
      In Postgresql SELECT does see the effects
      of previous updates executed within its own transaction
      even though they are not yet committed.
      (regardless of the Transaction Isolation Level)
      http://www.postgresql.org/docs/8.4/static/transaction-iso.html
      
      As a result, during the quota checks the backend sees
      the updated usage of the container,
      so it should not add to this the size difference.
      cf6c6f3c
    • Sofia Papagiannaki's avatar
      Change pithos default container policy quota to unlimited · de4fd49f
      Sofia Papagiannaki authored
      Refs: #3543
      
      * Substitute the PITHOS_BACKEND_QUOTA setting with two
      distinct settings: PITHOS_BACKEND_ACCOUNT_QUOTA &
      PITHOS_BACKEND_CONTAINER_QUOTA
      * Set PITHOS_BACKEND_CONTAINER_QUOTA default value
      to something big (50 TB)
      * Pass account and container policies as backend
      arguments arguments instead of setting them
      after each backend instantiation.
      de4fd49f
  4. 15 Apr, 2013 1 commit
  5. 28 Mar, 2013 2 commits
  6. 27 Mar, 2013 1 commit
    • Sofia Papagiannaki's avatar
      Change pithos public implementation · b7f3b202
      Sofia Papagiannaki authored
      Public URLs should consist of a random part.
      A public URL should be unique and should not be
      equal to any deleted public URL.
      Finally publishing a public object has no effect.
      Therefore, to generate a new public URL for an
      object, the object should be unpublished and 
      published again.
      b7f3b202
  7. 19 Mar, 2013 2 commits
    • Sofia Papagiannaki's avatar
      Eliminate mutable default arguments · 3ad2d844
      Sofia Papagiannaki authored
      3ad2d844
    • Sofia Papagiannaki's avatar
      Fix pithos purging accounting · 0b752cff
      Sofia Papagiannaki authored
      Refs: #3442
      Refs: #1733
      
      Pithos has two different version accounting
      policies:
      * free: do not include object history version size 
      to the total account usage
      * debit: include object history version size to 
      the total account usage
      This configurable by
      PITHOS_BACKEND_FREE_VERSIONING setting.
      
      Pithos delete container function purges 
      the history versions of the including objects.
      and should send to the quota holder component
      the released disk space *only*  
      in the case of debit version accounting policy.
      
      Also the purging function used to return 
      the negative of the computed released disk space 
      but to the quotaholder component was sent 
      its negative.
      So, erroneously, the released disk space was
      added to the total quota usage.
      
      Provide tests for the following distinct cases:
      * free version accounting policy (PITHOS_BACKEND_FREE_VERSIONING=True) 
      and `auto` container versioning policy
      * free version accounting policy
      (PITHOS_BACKEND_FREE_VERSIONING=True) 
      and `none` container versioning policy
      * debit version accounting policy
      (PITHOS_BACKEND_FREE_VERSIONING=False) 
      and `auto` container versioning policy
      * debit version accounting policy(PITHOS_BACKEND_FREE_VERSIONING=False) 
      and `none` container versioning policy
      0b752cff
  8. 11 Mar, 2013 1 commit
    • Georgios D. Tsoukalas's avatar
      Fix+move HTTP quotaholder client in synnefo.lib · 208556af
      Georgios D. Tsoukalas authored
      Allow per-service configuration of the (http) quotaholder client.
      Kamaki is no longer needed in service (or ganeti) nodes,
      because the client has been moved to snf-common.
      
      Also fix the default quotaholder settings for pithos backend to be disabled
      by default, and don't initialize quotaholder client when not needed.
      This fixes crashes of non-user-facing pithos backend uses such as
      pithcat from snf-image.
      
      Refs #3421
      208556af
  9. 06 Mar, 2013 1 commit
    • Georgios D. Tsoukalas's avatar
      Fix UUID bug breaking image list and VM creation · 2e4ad3b1
      Georgios D. Tsoukalas authored
      latest_uuid(uuid) returned the latest version with the given uuid.
      This is called from pithos backend method get_uuid(),
      which is called from plankton backend method get_image().
      
      For the use in get_image() the uuid alone is not enough,
      since we need the latest version that is accessible,
      i.e. not deleted or trashed (in pithos parlance, in CLUSTER_NORMAL)
      
      The problematic scenario is cause by a MOVEing (renaming)
      a plankton image to a different name.
      Internally, pithos handles a 'move src dest' as a
      'copy src dest' + 'delete src'.
      Both copy and delete create a new version of the source,
      with the same UUID.
      We need the 'copy' version but because the delete is executed
      after the copy, the 'deleted' version becomes the latest,
      thus the one latest_uuid() would return.
      
      This has been fixed by adding a mandatory cluster argument:
      latest_uid(uuid, cluster), to which get_uuid() now specifies
      CLUSTER_NORMAL.
      The previous cluster-unaware behavior can be obtained by
      specifying cluster as None.
      
      Refs #3391
      2e4ad3b1
  10. 19 Feb, 2013 1 commit
  11. 15 Feb, 2013 1 commit
  12. 29 Jan, 2013 1 commit
  13. 25 Jan, 2013 1 commit
  14. 16 Jan, 2013 2 commits
  15. 15 Jan, 2013 2 commits
  16. 14 Jan, 2013 1 commit
  17. 11 Jan, 2013 1 commit
  18. 07 Jan, 2013 2 commits
  19. 02 Jan, 2013 1 commit
  20. 20 Dec, 2012 2 commits
  21. 27 Nov, 2012 1 commit
  22. 26 Nov, 2012 1 commit
  23. 20 Nov, 2012 1 commit
  24. 12 Nov, 2012 3 commits
  25. 09 Nov, 2012 6 commits