Feature #4885

Ceph Snapshots cannot be deleted

Added by Roy Keene over 4 years ago. Updated about 4 years ago.

Status:ClosedStart date:10/29/2016
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Drivers - Storage
Target version:Release 5.4
Resolution:fixed Pull request:

Description

In OpenNebula 5.2.0, disk snapshots for disks in Ceph cannot be deleted.

You can't delete the most recent snapshot since it is ACTIVE, and you can't delete any other snapshots because a tree is formed and it has children.

This whole concept does not match Ceph's snapshots at all, there is no "active" snapshot (snapshots are read-only) and you can delete any snapshot without regards to order.

Attached is a simple patch which removes this notion altogether and fixes snapshots for Ceph (as can be seen here: http://www.rkeene.org/tmp/opennebula-ceph-snapshots.mp4 )

I only use Ceph for storage so the patch may not be generally useful in its current state.

opennebula-5.2.0-fixdisksnapshots.diff Magnifier (914 Bytes) Roy Keene, 10/29/2016 09:31 PM


Related issues

Duplicates Feature #4008: option to unprotect the delete action on disk snapshots Closed 09/29/2015

Associated revisions

Revision ebc165f7
Added by Ruben S. Montero about 4 years ago

F #4885: Enable TM mads to define orphan snapshots. This is control
under TM_MAD_CONF for each MAD. By default orphans are not allowed

History

#1 Updated by Ruben S. Montero over 4 years ago

  • Tracker changed from Bug to Feature
  • Status changed from Pending to New
  • Target version set to Release 5.4

Hi Roy

Agree, preserve snapshots with children maybe too restrictive for some backends. During the OpenNebulaConf last week we've discussed this with the StorPool team, because their storage system does not have this limitation either.

Our conclusion was to add a configuration attribute for the driver (e.g. TM_MAD=[ NAME="ceph", ALLOW_ORPHANS="yes"...] or similar) in oned.conf. This is basically adding an if for the current behavior and the one you propose.

Thanks

PS: Moved to the feature tracker

#2 Updated by Bernhard J. M. GrĂ¼n over 4 years ago

Hey,

it seems this feature request is somehow linked to that feature request #4008.

I would really like to see this solved too.

Regards

#3 Updated by kvaps kvaps over 4 years ago

Hello, curently I pending new storage driver based on qcow2, and I have same problem.

I know the way to simple live-squashing of disk-snapshots:
https://github.com/kvaps/opennebula-addon-raw_qcow2/blob/master/tm/raw_qcow2/snap_delete#L74

I will correct qcow2 driver too after, so I that this is wrong limitation, we need to remove it altogether.

#4 Updated by Gerben Meijer over 4 years ago

This decoupling of parent/child relationship is needed for our ScaleIO backend as well.

#5 Updated by Roman Bogachev about 4 years ago

Ruben S. Montero wrote:

Our conclusion was to add a configuration attribute for the driver (e.g. TM_MAD=[ NAME="ceph", ALLOW_ORPHANS="yes"...] or similar) in oned.conf. This is basically adding an if for the current behavior and the one you propose.

Did I understand right, that can use the next configuration in oned.conf?
e.g.

TM_MAD = [
    EXECUTABLE = "one_tm",
    ARGUMENTS = "-t 15 -d dummy,lvm,shared,fs_lvm,qcow2,ssh,ceph,dev,vcenter,iscsi_libvirt" 
    ALLOW_ORPHANS="yes" 
]

#6 Updated by Gerben Meijer about 4 years ago

Roman Bogachev wrote:

Did I understand right, that can use the next configuration in oned.conf?

No, that is the intention; there is no code nor patch yet that does that.

#7 Updated by Ruben S. Montero about 4 years ago

  • Duplicates Feature #4008: option to unprotect the delete action on disk snapshots added

#8 Updated by Ruben S. Montero about 4 years ago

  • Status changed from New to Closed
  • Resolution set to fixed

This is now implemented for 5.4

Those developing drivers for storage backends, need to add an attribute ALLOW_ORPHANS="YES" in the TM_MAD_CONF stanza for the storage. By default, OpenNebula will set Ceph to allow orphans.

In order to not introduce confusion, current running VMs will preserve the semantics used when the snapshots were taken.

Also available in: Atom PDF