[RBD] Image is unusable if deletion fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
glance_store |
Fix Released
|
High
|
Abhishek Kekane |
Bug Description
Recently cinder has added clone v2 support for its RBD backend, since then if you attempt to delete an image from glance that has a dependent volume, all future uses of that image will fail in error state. Despite the fact that image itself is still inside of Ceph/Glance. This issue is reproducible if you are using ceph client version greater than 'luminous'.
Envrionment details:
Devstack master with Ceph
How to reproduce:
1.Upload the image to Glance:
$ glance image-create-
2. Create a volume from this image:
$ cinder create --image <image-
3. Delete image
$ glance image-delete <image-
Unable to delete image '05fa6671-
4. Now lets try to create another volume from image
$ cinder create --image <image-
5. Volume goes into error state;
6. Try to download the image
$ glance image-download <image-
Image 3ca11fd5-
Note;
If you set the ceph client version to luminous then step 4 and 5 are working without any issue
set ceph client to luminous using;
$sudo ceph osd set-require-
Expected output;
For all client versions of Ceph step 4 and 5 should work without any issue.
Changed in glance-store: | |
assignee: | nobody → Abhishek Kekane (abhishek-kekane) |
Changed in glance-store: | |
status: | New → In Progress |
Changed in glance-store: | |
importance: | Undecided → High |
Reviewed: https:/ /review. opendev. org/c/openstack /glance_ store/+ /819481 /opendev. org/openstack/ glance_ store/commit/ 3d221ec529862d4 3ab303644e74ee9 ad6ce8cd40
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit 3d221ec529862d4 3ab303644e74ee9 ad6ce8cd40
Author: Abhishek Kekane <email address hidden>
Date: Fri Nov 26 14:58:23 2021 +0000
[RBD] Clone v2: Image is unusable if deletion fails
Recently cinder has utilized Ceph clone v2 support for its
RBD backend, since then if you attempt to delete an image from
glance that has a dependent volume, all future uses of that
image will fail in error state. Despite the fact that image
itself is still inside of Ceph/Glance. This issue is reproducible
if you are using ceph client version greater than 'luminous'
To resolve this issue glance RBD driver now checks whether snapshot
of original image has any external references before deleting/removing
it's snapshot and returns 409 Conflict response if it has any.
NOTE: To check this dependency glance osd needs 'read' access to
cinder and nova side RBD pool.
Closes-Bug: #1954883 /review. opendev. org/c/openstack /devstack- plugin- ceph/+/ 819476 8b6f89ce46abbe1 28c678c90e7
Depends-on: https:/
Change-Id: If30b7bd7acac14