[Bug 1969643] Re: RBD: Unable to delete a volume which has snapshot/volume children

Mauricio Faria de Oliveira 1969643 at bugs.launchpad.net
Thu Jun 27 10:09:10 UTC 2024


Hi Ed and Chengen,

Ed, thanks for your review and feedback.

> I think that to make this patch really same some guardrails should be
put in place.

> it might have been safer to make this an optional feature, defaulting
to disabled

This also aligns with Dan's feedback (internal):

> there are significant changes in behavior that are not protected by an opt-in flag. 
> In fact, there is no opt-out mechanism either.

So, probably the next steps would be to modify the patch to include an opt-in flag,
and make the behavior change disabled by default.

Chengen, is this something you could look at?

The quantity and structure of the code changes in this patch might make this more
difficult and require higher-touch, but hopefully it should be possible -- and if
you would like any assistance, please let me know.

You can find a more trivial example at [1].

Thanks!
Mauricio

[1]
https://launchpadlibrarian.net/688200814/nova_2%3A21.2.4-0ubuntu2.5_2%3A21.2.4-0ubuntu2.6.diff.gz

-- 
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:
  Incomplete
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]
  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
  # ^ This would fail with ImageBusy previously (see patch's "For example")
  openstack volume delete vol
  # ^ This would possibly fail previously (see patch's step "4.")
  6. Confirm that the volume "vol" is successfully deleted
  openstack volume list

  [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.
  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