Bug #3391

Some plankton images listed in cyclades fail to be accessed in VM creation

Added by Georgios Tsoukalas over 10 years ago. Updated over 10 years ago.

Status:Closed Start date:03/06/2013
Priority:Medium Due date:
Assignee:Georgios Tsoukalas % Done:


Category:Pithos Spent time: -
Target version:0.13.0


E.g. the Archlinux public image in okeanos.io.
We investigated with cstavr and narrowed it down to pithos call latest_uuid()
not being able to handle multiple versions with the same UUID correctly.

Related issues

related to Synnefo - Bug #3377: Pithos+ deleted objects / images Closed 03/05/2013

Associated revisions

Revision 2bbf1544
Added by Georgios D. Tsoukalas over 10 years ago

Fix UUID bug breaking image list and VM creation

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
The previous cluster-unaware behavior can be obtained by
specifying cluster as None.

Refs #3391


#1 Updated by Georgios Tsoukalas over 10 years ago

  • Status changed from New to Resolved

#2 Updated by Stratos Psomadakis over 10 years ago

  • Status changed from Resolved to Closed

Commit pushed in release0.13, and the issue seems to be fixed on okeanos.io.

Also available in: Atom PDF