Feature #5078

Pithos Backend functions for Cyclades

Added by Christos Stavrakakis over 7 years ago.

Status:New Start date:02/14/2014
Priority:Medium Due date:
Assignee:Sofia Papagiannaki % Done:


Category:- Spent time: -
Target version:0.16


The Pithos API refers to Pithos objects by their account, container and path.
Also, there may be multiple versions for each object that is referred by the same
(account, container, path) tuple. If not a version is explicitly requested, the
latest version is returned.

Cyclades, namely Plankton and Volume apps, use Pithos for storing Images
and Snapshots. Both of them are stored as regular Pithos objects, with the only
difference that they include some metadata in a specific domain. However,
Images and Snapshots differ from Pithos objects because their data cannot
be changed. So, semantically Images and Snapshots are mapped to a specific
version of a Pithos object.

For the above mentioned reasons, Cyclades cannot use (account, container, path)
as identified. Instead, we use the 'uuid' of Pithos objects, which is unique
for each (account, container, path, version).

Pithos backend functions take as arguments the account, container and path of
objects. We must extend the Pithos backend to provide functions for handling
of objects by their uuid. The needed functions are the following:

  • get_permissions (by uuid)
  • update_permissions (by uuid)
  • get_metadata (by uuid)
  • update_metadata (by uuid)

Also, the function for getting metadata should contain whether the UUID is the current
version or not.

Also available in: Atom PDF