[Bug 1969643] Re: RBD: Unable to delete a volume which has snapshot/volume children
Edward Hope-Morley
1969643 at bugs.launchpad.net
Mon Aug 12 15:16:57 UTC 2024
Hi @chengendu,
In order to continue with this backport there are a couple of things
that we need from you.
Firstly the patch needs to be backported in upstream Openstack.
Currently the patch has been backported upstream to stable/2014.1 (i.e.
Caracal which is the release avaiable in Ubuntu Noble) but if you want
to SRU this patch to earlier versions of Ubuntu it first needs to be
backported as far as possible upstream. I see in this bug that you are
targeting Jammy which is Openstack Yoga and since that release is now
unmaintained upstream I think the furthest you can backport is Antelope
(stable/2013.1) via Bobcat (stable/2013.2). Can you please start the
process of backporting those patches so that we have that done before
the SRU.
Secondly, when it was suggested that this patchset needed some
additional safeguards to prevent a delete storm the expectation was
really that that be done upstream i.e. to propose a new patch rather
than patching the debdiff. Once that is done we can hopefully backport
that as well and combine with this SRU.
Thanks.
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to cinder in Ubuntu.
https://bugs.launchpad.net/bugs/1969643
Title:
RBD: Unable to delete a volume which has snapshot/volume children
Status in Cinder:
Fix Released
Status in cinder package in Ubuntu:
Fix Released
Status in cinder source package in Jammy:
In Progress
Status in cinder source package in Mantic:
Won't Fix
Status in cinder source package in Noble:
Fix Released
Status in cinder source package in Oracular:
Fix Released
Bug description:
[Impact]
Deleting a volume will fail if it has snapshot or volume children, resulting in an ImageBusy error.
[Fix]
Upstream has a patch that uses RBD flatten operations to break dependencies between volumes and snapshots, reducing failures when using RBD volume clones and snapshots.
commit 1a675c9aa178c6d9c6ed10fd98f086c46d350d3f
Author: Eric Harney <eharney at redhat.com>
CommitDate: Fri Dec 1 10:17:05 2023 -0500
RBD: Flattening of child volumes during deletion
[Test Plan]
Here are the common steps for testing.
1. Prepare an OpenStack environment with cinder-ceph
2. Create a volume named "vol"
openstack volume create --image jammy --size 10 vol
3. Create a snapshot of the volume "vol"
openstack volume snapshot create --volume vol vol-snap
4. Create a volume named "vol-copy" from the snapshot
openstack volume create --snapshot vol-snap vol-copy
5. Delete the snapshot and then delete the volume "vol"
openstack volume snapshot delete vol-snap
openstack volume delete vol
6. Confirm that the volume "vol" is successfully deleted
openstack volume list
There are two test scenarios:
- Enable RBD flatten operations:
1. Use `juju ssh` to log in to the cinder-volume and add "enable_flatten_children_deletion = True" in the cinder-ceph section of /etc/cinder/cinder.conf.
2. Restart the cinder-volume service using the command `systemctl restart cinder-volume`.
3. Follow the common steps, and all steps should pass.
- Disable RBD flatten operations:
1. Ensure that "enable_flatten_children_deletion = True" is not present in the cinder-ceph section of /etc/cinder/cinder.conf.
2. Follow the common steps, and the process should fail at step 5 with an ImageBusy error.
[Where problems could occur]
The patch primarily modifies the workflow for volume deletion when using RBD as the backend and adds a retry mechanism for unprotecting snapshots during snapshot deletion.
To prevent any performance regressions, we have also introduced a configuration option to enable the RBD flatten operations, which defaults to false.
If the patch has any undiscovered issues, it will only affect volume deletion. Other functionalities or non-RBD backends will not be impacted.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1969643/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list