OpenStack Block Storage (Cinder)
Go to file
Sofia Enriquez ac2f8a4d89 RBD: Call trash operation when plain deletion fails
Currently RBD doesn't allow deleting volumes with snapshots or volume
dependencies. This causes Cinder API errors on delete calls that should
succeed.

When using the RBD v2 clone api, deleting a volume that has a snapshot
in the trash space raises a busy exception.

In order to solve this, this patch removes the proactive VolumeIsBusy
exception raise and calls the trash operation which should succeed when
the volume has dependencies.

In addition to this code it's important to enable the Ceph Trash auto
purge. Otherwise Ceph may end up with a couple of images in trash
namespace for a while. However, this approach is the lesser of 2 evils
because the user will be able to delete volumes with dependencies
while the operator could check the trash namespace and manually purge
the images. It is definitely better to potentially trouble 1 person
(operator) that didn't read the release notes once than troubling
every single user.

Closes-Bug: #1941815
Co-Author: Eric Harney <eharney@redhat.com>
Change-Id: I5dbbcca780017b358600016afca8a9424aa137fd
2021-09-17 13:11:49 +00:00
api-ref/source Merge "Doc: api-ref doc update" 2021-08-20 17:18:06 +00:00
cinder RBD: Call trash operation when plain deletion fails 2021-09-17 13:11:49 +00:00
contrib/block-box Remove Block Storage API v2 2021-06-04 17:21:28 -04:00
doc Merge "Doc: IBM Storages user documentation update" 2021-08-18 22:29:47 +00:00
etc/cinder Remove Block Storage API v2 2021-06-04 17:21:28 -04:00
playbooks zuul: collect cinderlib logs from tempest node(s) only 2020-07-16 14:42:29 +02:00
rally-jobs Remove Block Storage API v2 2021-06-04 17:21:28 -04:00
releasenotes RBD: Call trash operation when plain deletion fails 2021-09-17 13:11:49 +00:00
tools Add installation of mypy stubs packages 2021-07-15 10:33:36 -04:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 19:09:37 +05:30
.gitignore Add mypy tox env 2020-10-14 08:24:13 -04:00
.gitreview OpenDev Migration Patch 2019-04-19 19:26:48 +00:00
.pylintrc pylint: Fix migration E1120 no-value-for-parameter 2021-04-16 13:05:21 +02:00
.stestr.conf Add .stestr.conf configuration 2017-10-10 00:46:42 +00:00
.zuul.yaml Merge "Add openstacksdk-functional-devstack job in cinder gate" 2021-08-10 17:48:43 +00:00
bindep.txt Add libcgroup related packages in bindep.txt 2021-06-15 00:54:55 +00:00
CONTRIBUTING.rst Ussuri contrib docs community goal 2020-03-05 14:11:48 -05:00
driver-requirements.txt [Pure Storage] Fix minimum SDK version required 2021-06-28 18:40:25 -04:00
HACKING.rst Update HACKING document to match current checks 2020-04-17 15:09:13 +00:00
LICENSE Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
mypy-files.txt mypy: continued manager, scheduler, rpcapi 2021-08-11 08:36:09 -04:00
README.rst Merge "Refactor README links" 2020-01-22 11:44:36 +00:00
reno.yaml Update release note info 2021-04-16 11:11:41 -04:00
requirements.txt Use os-brick 4.3.1 2021-03-29 12:05:49 -04:00
setup.cfg [Pure Storage] Fix minimum SDK version required 2021-06-28 18:40:25 -04:00
setup.py Cleanup py27 support 2020-04-17 14:47:10 +02:00
test-requirements.txt Add installation of mypy stubs packages 2021-07-15 10:33:36 -04:00
tox.ini Add installation of mypy stubs packages 2021-07-15 10:33:36 -04:00

OpenStack Cinder

image

OpenStack Cinder is a storage service for an open cloud computing service.

You can learn more about Cinder at:

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone https://opendev.org/openstack/cinder

If you'd like to contribute, please see the information in CONTRIBUTING.rst

You can raise bugs on Launchpad

Python client

Python Cinderclient