Hi Chengen,

Additionally, and back to the testing comments (sorry for the delay),
your test plan looks good, thanks! I just updated step 6 to reflect
it should fail (depending on scenario 1 or 2 / config option value).

Thanks!

** Description changed:

  [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 <ehar...@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
+ or deletion failed (depending on the two scenarios below)
  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.

** Changed in: cinder (Ubuntu Jammy)
       Status: In Progress => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1969643

Title:
  RBD: Unable to delete a volume which has snapshot/volume children

To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1969643/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to