OpenStack Block Storage (Cinder)
Go to file
Atsushi Kawai 83399aceb0 Hitachi: Prevent to delete a LDEV assigned to multi objects
This patch prevents to delete a LDEV that is unexpectedly assigned to
two or more objects(volumes or snapshots).

In the unexpected situation, if ``delete`` command for one of objects
is run again, the data which is used by other objects is lost.

In order to prevent the data-loss, when creating an object,
the driver creates a LDEV and stores a value obtained by omitting
the hyphen from the object ID(*1) to ``LDEV nickname``.
When deleting an object, the driver compares the own object ID and
the object ID in ``LDEV nickname``, then, the object and the LDEV is
deleted only if both object IDs are same.
On the other hand, if both object IDs are not same, only the object
is deleted and the LDEV is kept, to prevent data-loss.

If format of ``LDEV nickname`` is not object ID(*2), both the object
and the LDEV is deleted without comparison, because it avoids disk
full risk, due to not deleting any LDEVs.
This patch implements only the object ID storing while creating a
snapshot and comparing IDs while deleting, because the feature to
store the object ID while creating a volume has already been
implemented.
(*1) Max length of ``LDEV nickname`` is 32 digits characters on
Hitachi storage.
(*2) 32 digits hexadecimal

Closes-Bug: #2072317
Change-Id: I7c6bd9a75dd1d7165d4f8614abb3d59fa642212d
2024-08-19 14:35:26 -04:00
api-ref/source Add the os-extend_volume_completion volume action 2024-02-16 18:14:33 +01:00
cinder Hitachi: Prevent to delete a LDEV assigned to multi objects 2024-08-19 14:35:26 -04:00
doc Hitachi: Prevent to delete a LDEV assigned to multi objects 2024-08-19 14:35:26 -04:00
etc/cinder Add Cinder NFS driver for Dell PowerStore 2022-07-28 01:27:22 -07:00
playbooks Add fips check jobs 2023-04-18 19:45:55 +00:00
rally-jobs Remove Block Storage API v2 2021-06-04 17:21:28 -04:00
releasenotes Hitachi: Prevent to delete a LDEV assigned to multi objects 2024-08-19 14:35:26 -04:00
roles Native multibackend-matrix Zuul v3 job 2021-09-08 01:05:44 +02:00
tools Add fips check jobs 2023-04-18 19:45:55 +00:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 19:09:37 +05:30
.gitignore db: Enable auto-generation of database migrations 2022-02-20 19:06:01 +00:00
.gitreview Update .gitreview for stable/2024.1 2024-03-18 08:48:48 +00:00
.pylintrc Pylint: add nvmet to ignored-modules 2023-01-20 10:28:08 -05:00
.stestr.conf Add .stestr.conf configuration 2017-10-10 00:46:42 +00:00
.zuul.yaml reno: Update master for Unmaintained branches 2024-03-13 12:56:42 +01:00
bindep.txt Use openstack-tox-py311 job 2023-08-18 18:55:23 -04:00
CONTRIBUTING.rst Ussuri contrib docs community goal 2020-03-05 14:11:48 -05:00
driver-requirements.txt Pure Storage - bump version numbers for 2024.1 (Caracal) 2023-12-21 17:32:32 -05:00
HACKING.rst Hacking: Remove C306, C308 checks 2023-09-14 15:18:58 -04:00
LICENSE Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
mypy-files.txt Merge "mypy: Add backup/rpcapi.py" 2023-12-15 20:02:50 +00:00
README.rst Merge "Refactor README links" 2020-01-22 11:44:36 +00:00
reno.yaml reno: Update master for Unmaintained branches 2024-03-13 12:56:42 +01:00
requirements.txt Merge "Hacking: Remove C306, C308 checks" 2024-02-21 16:00:04 +00:00
ruff.toml Experiment with ruff 2023-04-19 11:26:12 -04:00
setup.cfg Update python classifier in setup.cfg 2024-01-08 20:21:17 -08:00
setup.py Cleanup py27 support 2020-04-17 14:47:10 +02:00
test-requirements.txt Merge "Pure Storage - bump version numbers for 2024.1 (Caracal)" 2024-02-08 20:32:24 +00:00
tox.ini Update TOX_CONSTRAINTS_FILE for stable/2024.1 2024-03-18 08:48:51 +00: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