cinder/doc
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
..
ext Make docs build parallel 2020-10-22 10:28:01 -05:00
source Hitachi: Prevent to delete a LDEV assigned to multi objects 2024-08-19 14:35:26 -04:00
test docs: Remove unnecessary 'blockstorage-' prefix 2022-02-20 19:06:32 +00:00
.gitignore Make doc/source directory compliant with design in spec 2017-07-19 15:59:02 -05:00
README.rst Update and replace http with https for doc links in Cinder 2017-07-27 09:58:23 +00:00
requirements.txt docs: Add whereto for testing redirect rules 2022-02-20 19:05:46 +00:00

Cinder Development Docs

Files under this directory tree are used for generating the documentation for the Cinder source code.

Developer documentation is built to: https://docs.openstack.org/cinder/latest/

Tools

Sphinx

The Python Sphinx package is used to generate the documentation output. Information on Sphinx, including formatting information for RST source files, can be found in the Sphinx online documentation.

Graphviz

Some of the diagrams are generated using the dot language from Graphviz. See the Graphviz documentation for Graphviz and dot language usage information.

Building Documentation

Doc builds are performed using tox with the docs target:

% cd ..
% tox -e docs