NetApp ONTAP: Fix type error exception in get_volume_state

When a Flexgroup is being replicated in ONTAP, a snapmirror is created.
However, while ensuring the snapmirror creation, a type error occurs.

The function get_volume_state has a parameter name set as 'name', and it
is called under 'flexvol_name' causing the type error exception.

This patch solves the bug by fixing 'flexvol_name' to 'name'

Closes-Bug: #1958245
Change-Id: Ibf9823a47980901042a9c95ca3cd850cd14f0033
This commit is contained in:
Luisa Amaral 2022-01-25 17:50:58 +00:00 committed by rfluisa
parent 97aeffa9f5
commit a4ea2db290
3 changed files with 12 additions and 3 deletions

View File

@ -739,7 +739,7 @@ class NetAppCDOTDataMotionMixinTestCase(test.TestCase):
fakes.PROVISIONING_OPTS['size'],
volume_type='dp', **expected_prov_opts)
mock_volume_state.assert_called_with(
flexvol_name=self.dest_flexvol_name)
name=self.dest_flexvol_name)
mock_dedupe_enabled.assert_not_called()
mock_compression_enabled.assert_not_called()
@ -803,7 +803,7 @@ class NetAppCDOTDataMotionMixinTestCase(test.TestCase):
fakes.PROVISIONING_OPTS['size'],
volume_type='dp', **expected_prov_opts)
mock_volume_state.assert_called_once_with(
flexvol_name=self.dest_flexvol_name)
name=self.dest_flexvol_name)
mock_dedupe_enabled.assert_called_once_with(
self.dest_flexvol_name)
mock_compression_enabled.assert_called_once_with(

View File

@ -507,7 +507,7 @@ class DataMotionMixin(object):
def _wait_volume_is_online():
volume_state = dest_client.get_volume_state(
flexvol_name=dest_flexvol_name)
name=dest_flexvol_name)
if volume_state and volume_state == 'online':
raise loopingcall.LoopingCallDone()

View File

@ -0,0 +1,9 @@
---
fixes:
- |
NetApp ONTAP `bug #1958245
<https://bugs.launchpad.net/cinder/+bug/1958245>`_: In an ONTAP
flexgroup replication environment, snapmirror creation would
succeed but a driver bug caused an error message to be logged
for the cinder-volume service. The issue has been corrected in
this release.