[NetApp] Fix driver to honor standard extra specs

During migration and manage/unmanage operations, if we used standard
extra_specs format (e.g. 'thin_provisioning'='True') instead of
NetApp based extra_specs format (e.g. 'netapp:thin_provisioned'='True'),
NetApp driver used to ignore these standard extra_specs settings
and continued the operation with the default option.
The driver is now fixed to handle this issue by honouring the
standard extra_specs during migration and manage/unmanage.

Change-Id: I48f4d966201fc8d6bd6eec0c37f1575b434310e7
Closes-Bug: #1707084
(cherry picked from commit 9250e02b56)
(cherry picked from commit 678ea79f85)
(cherry picked from commit 644e2cfc56)
This commit is contained in:
Naresh Kumar Gunjalli 2019-06-13 07:42:13 -04:00 committed by Douglas Viroel
parent b99b57825e
commit fa0b0ec94e
2 changed files with 7 additions and 0 deletions

View File

@ -1049,6 +1049,7 @@ class NetAppCmodeFileStorageLibrary(object):
# Validate extra specs
extra_specs = share_types.get_extra_specs_from_share(share)
extra_specs = self._remap_standard_boolean_extra_specs(extra_specs)
try:
self._check_extra_specs_validity(share, extra_specs)
self._check_aggregate_extra_specs_validity(aggregate_name,
@ -2221,6 +2222,8 @@ class NetAppCmodeFileStorageLibrary(object):
# Modify volume properties per share type extra-specs
extra_specs = share_types.get_extra_specs_from_share(
destination_share)
extra_specs = self._remap_standard_boolean_extra_specs(extra_specs)
self._check_extra_specs_validity(destination_share, extra_specs)
provisioning_options = self._get_provisioning_options(extra_specs)
qos_policy_group_name = self._modify_or_create_qos_for_existing_share(
destination_share, extra_specs, vserver, vserver_client)

View File

@ -0,0 +1,4 @@
---
fixes:
- The NetApp cDOT driver is now fixed to honour the
standard extra_specs during migration and manage/unmanage.