Updates overprovisioning dev-ref
Updates the overprovisioning dev-ref with the correct definitions and terminology related to thin provisioning. Drivers maintiners implementing thin provisioning should follow these guidelines. Change-Id: Ief540d3e924075450a0cf42f76878521587bf3dd Signed-off-by: Gorka Eguileor <geguileo@redhat.com> Implements: bp provisioning-improvements
This commit is contained in:
parent
6ab3fb6b3a
commit
e3cdd6b8c8
@ -58,6 +58,7 @@ Background Concepts for Cinder
|
||||
architecture
|
||||
attach_detach_conventions
|
||||
attach_detach_conventions_v2
|
||||
thin_provisioning
|
||||
threading
|
||||
i18n
|
||||
rpc
|
||||
|
51
doc/source/contributor/thin_provisioning.rst
Normal file
51
doc/source/contributor/thin_provisioning.rst
Normal file
@ -0,0 +1,51 @@
|
||||
Cinder Thin provisioning and Oversubscription
|
||||
==============================================
|
||||
|
||||
Background
|
||||
~~~~~~~~~~
|
||||
After the support on Cinder for Thin provisioning, driver maintainers have
|
||||
been struggling to understand what is the expected behavior of their drivers
|
||||
and what exactly each value reported means. This document summarizes the
|
||||
concepts, definitions and terminology from all specs related to the subject
|
||||
and should be used as reference for new drivers implementing support for thin
|
||||
provisioning.
|
||||
|
||||
|
||||
Core concepts and terminology
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
In order to maintain the same behavior among all drivers, we first need to
|
||||
define some concepts used throughout drivers. This terminology is discussed
|
||||
and defined in this spec[1] and should be used as reference in further
|
||||
implementations.
|
||||
|
||||
Stats to be reported
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
The following fields should be reported by drivers supporting thin
|
||||
provisioning on the get_volume_stats() function:
|
||||
|
||||
Mandatory Fields
|
||||
----------------
|
||||
.. code-block:: ini
|
||||
|
||||
thin_provisioning_support = True (or False)
|
||||
|
||||
Optional Fields
|
||||
---------------
|
||||
.. code-block:: ini
|
||||
|
||||
thick_provisioning_support = True (or False)
|
||||
provisioned_capacity_gb = PROVISIONED_CAPACITY
|
||||
max_over_subscription_ratio = MAX_RATIO
|
||||
|
||||
.. note::
|
||||
|
||||
If provisioned_capacity_gb is not reported, the value used in the scheduler
|
||||
calculations and filtering is allocated_capacity_gb.
|
||||
|
||||
.. note::
|
||||
|
||||
If max_over_subscription_ratio is not reported, the scheduler will use the
|
||||
value defined on the [DEFAULT] section. This falls back to the default
|
||||
value (20.0) if not set by the user.
|
||||
|
||||
[1] https://specs.openstack.org/openstack/cinder-specs/specs/queens/provisioning-improvements.html
|
Loading…
Reference in New Issue
Block a user