Fix PowerFlex volume type conversion
Fix bug with PowerFlex storage-assisted volume migration when volume migration was performed without conversion of volume type in cases where it should have been converted to/from thin/thick provisioned. Change-Id: Icf27ea898507ffec5e410788efcdca3649a73c99 Closes-Bug: #1897598
This commit is contained in:
parent
91da9df532
commit
cded69efe0
@ -29,15 +29,15 @@ from cinder.tests.unit.volume.drivers.dell_emc import powerflex
|
|||||||
MIGRATE_VOLUME_PARAMS_CASES = (
|
MIGRATE_VOLUME_PARAMS_CASES = (
|
||||||
# Cases for testing _get_volume_params function.
|
# Cases for testing _get_volume_params function.
|
||||||
# +----------------------------------------------------+------------------+
|
# +----------------------------------------------------+------------------+
|
||||||
# |Volume type|Real provisioning|Conversion|Compression|Pool support thick|
|
# |Volume Type|Real provisioning|Conversion|Compression|Pool support thick|
|
||||||
# +-----------+-----------------+----------+-----------+-----+------------+
|
# +-----------+-----------------+----------+-----------+-----+------------+
|
||||||
('thin', 'ThinProvisioned', 'NoConversion', 'None', False),
|
('ThinProvisioned', 'ThinProvisioned', 'NoConversion', 'None', False),
|
||||||
('thin', 'ThickProvisioned', 'ThickToThin', 'None', True),
|
('ThinProvisioned', 'ThickProvisioned', 'ThickToThin', 'None', True),
|
||||||
('thick', 'ThinProvisioned', 'NoConversion', 'None', False),
|
('ThickProvisioned', 'ThinProvisioned', 'NoConversion', 'None', False),
|
||||||
('thick', 'ThinProvisioned', 'ThinToThick', 'None', True),
|
('ThickProvisioned', 'ThinProvisioned', 'ThinToThick', 'None', True),
|
||||||
('compressed', 'ThinProvisioned', 'NoConversion', 'Normal', False),
|
('ThinProvisioned', 'ThinProvisioned', 'NoConversion', 'Normal', False),
|
||||||
('compressed', 'ThickProvisioned', 'ThickToThin', 'Normal', False),
|
('ThinProvisioned', 'ThickProvisioned', 'ThickToThin', 'Normal', False),
|
||||||
('compressed', 'ThickProvisioned', 'ThickToThin', 'None', False)
|
('ThinProvisioned', 'ThickProvisioned', 'ThickToThin', 'None', False)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -92,9 +92,11 @@ class PowerFlexDriver(driver.VolumeDriver):
|
|||||||
3.5.3 - Add revert volume to snapshot support
|
3.5.3 - Add revert volume to snapshot support
|
||||||
3.5.4 - Fix for Bug #1823200. See OSSN-0086 for details.
|
3.5.4 - Fix for Bug #1823200. See OSSN-0086 for details.
|
||||||
3.5.5 - Rebrand VxFlex OS to PowerFlex.
|
3.5.5 - Rebrand VxFlex OS to PowerFlex.
|
||||||
|
3.5.6 - Fix for Bug #1897598 when volume can be migrated without
|
||||||
|
conversion of its type.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
VERSION = "3.5.5"
|
VERSION = "3.5.6"
|
||||||
# ThirdPartySystems wiki
|
# ThirdPartySystems wiki
|
||||||
CI_WIKI_NAME = "DellEMC_PowerFlex_CI"
|
CI_WIKI_NAME = "DellEMC_PowerFlex_CI"
|
||||||
|
|
||||||
@ -1396,13 +1398,13 @@ class PowerFlexDriver(driver.VolumeDriver):
|
|||||||
)
|
)
|
||||||
if (
|
if (
|
||||||
real_provisioning == "ThickProvisioned" and
|
real_provisioning == "ThickProvisioned" and
|
||||||
(provisioning in ["thin", "compressed"] or
|
(provisioning == "ThinProvisioned" or
|
||||||
not pool_supports_thick_vols)
|
not pool_supports_thick_vols)
|
||||||
):
|
):
|
||||||
params["volTypeConversion"] = "ThickToThin"
|
params["volTypeConversion"] = "ThickToThin"
|
||||||
elif (
|
elif (
|
||||||
real_provisioning == "ThinProvisioned" and
|
real_provisioning == "ThinProvisioned" and
|
||||||
provisioning == "thick" and
|
provisioning == "ThickProvisioned" and
|
||||||
pool_supports_thick_vols
|
pool_supports_thick_vols
|
||||||
):
|
):
|
||||||
params["volTypeConversion"] = "ThinToThick"
|
params["volTypeConversion"] = "ThinToThick"
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
PowerFlex driver `bug #1897598
|
||||||
|
<https://bugs.launchpad.net/cinder/+bug/1897598>`_: Fixed bug with
|
||||||
|
PowerFlex storage-assisted volume migration when volume migration was
|
||||||
|
performed without conversion of volume type in cases where it should have
|
||||||
|
been converted to/from thin/thick provisioned.
|
Loading…
Reference in New Issue
Block a user