Snapshots when using RBD backend make full copy then upload unnecessarily

Bug #1346525 reported by Michael H Wilson
114
This bug affects 17 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Unassigned
glance_store
Invalid
Undecided
Josh Durgin

Bug Description

When performing a snapshot a local copy is made. In the case of RBD, it reads what libvirt thinks is a raw block device and then converts that to a local raw file. The file is then uploaded to glance, which reads the whole raw file and stores it in the backend, if the backend is Ceph this is completely unnecessary and defeats the whole point of having a Ceph cluster. The fix should go something like this:

1. Tell Ceph to make a snapshot of the RBD
2. Get Ceph metadata from backend, send that to Glance
3. Glance gets metadata, if it has Ceph backend no download is necessary
4. If it doesn't, download image from Ceph location, store in backend

Tags: compute
description: updated
description: updated
description: updated
Tracy Jones (tjones-i)
tags: added: compute
Revision history for this message
Zoltan Arnold Nagy (zoltan) wrote :

I think this is a very serious bug as the local temporary files could overrun the storage space on the hypervisor thus giving an opportunity to perform a denial of service attack.

melanie witt (melwitt)
Changed in nova:
importance: Undecided → Medium
status: New → Triaged
importance: Medium → High
Changed in nova:
assignee: nobody → Zoltan Arnold Nagy (zoltan)
Changed in nova:
status: Triaged → In Progress
Revision history for this message
Abel Lopez (al592b) wrote :

I think this is a duplicate of 1226351

Revision history for this message
Zoltan Arnold Nagy (zoltan) wrote :

It is not. That patch is about getting ceph ephemeral supported _at all_, and this bug is about how to fix the snapshotting issues.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/125963

Josh Durgin (jdurgin)
Changed in glance:
status: New → In Progress
assignee: nobody → Josh Durgin (jdurgin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to glance_store (master)

Fix proposed to branch: master
Review: https://review.openstack.org/127397

Erno Kuvaja (jokke)
affects: glance → glance-store
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Sean Dague (<email address hidden>) on branch: master
Review: https://review.openstack.org/125963
Reason: This review is > 4 weeks without comment and currently blocked by a core reviewer with a -2. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and contacting the reviewer with the -2 on this review to ensure you address their concerns.

Changed in nova:
assignee: Zoltan Arnold Nagy (zoltan) → Pádraig Brady (p-draigbrady)
Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :

Fix proposed again.

Changed in nova:
status: In Progress → Confirmed
assignee: Pádraig Brady (p-draigbrady) → nobody
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by John Garbutt (<email address hidden>) on branch: master
Review: https://review.openstack.org/125963
Reason: seems like this effort has been abandoned, so abandoning this change in favor of: https://review.openstack.org/#/c/205282/

Revision history for this message
Sean Dague (sdague) wrote :

The patch referenced is merged upstream. Assume this addresses it, if not, please reopen

Changed in nova:
status: Confirmed → Fix Released
Revision history for this message
Ian Cordasco (icordasc) wrote :

This was fixed entirely in Nova and no longer requires work in glance-store.

Changed in glance-store:
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.