From a4ea2db290f5671d8f64cec3972080ab37a32794 Mon Sep 17 00:00:00 2001 From: Luisa Amaral Date: Tue, 25 Jan 2022 17:50:58 +0000 Subject: 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 --- .../volume/drivers/netapp/dataontap/utils/test_data_motion.py | 4 ++-- cinder/volume/drivers/netapp/dataontap/utils/data_motion.py | 2 +- ...ssue-while-ensuring-snapmirror-creation-bea36a69d443e86f.yaml | 9 +++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/netapp-fix-issue-while-ensuring-snapmirror-creation-bea36a69d443e86f.yaml diff --git a/cinder/tests/unit/volume/drivers/netapp/dataontap/utils/test_data_motion.py b/cinder/tests/unit/volume/drivers/netapp/dataontap/utils/test_data_motion.py index 71dfeff72..887539f4d 100644 --- a/cinder/tests/unit/volume/drivers/netapp/dataontap/utils/test_data_motion.py +++ b/cinder/tests/unit/volume/drivers/netapp/dataontap/utils/test_data_motion.py @@ -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( diff --git a/cinder/volume/drivers/netapp/dataontap/utils/data_motion.py b/cinder/volume/drivers/netapp/dataontap/utils/data_motion.py index c696767b4..231aa6f65 100644 --- a/cinder/volume/drivers/netapp/dataontap/utils/data_motion.py +++ b/cinder/volume/drivers/netapp/dataontap/utils/data_motion.py @@ -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() diff --git a/releasenotes/notes/netapp-fix-issue-while-ensuring-snapmirror-creation-bea36a69d443e86f.yaml b/releasenotes/notes/netapp-fix-issue-while-ensuring-snapmirror-creation-bea36a69d443e86f.yaml new file mode 100644 index 000000000..e799f56d6 --- /dev/null +++ b/releasenotes/notes/netapp-fix-issue-while-ensuring-snapmirror-creation-bea36a69d443e86f.yaml @@ -0,0 +1,9 @@ +--- +fixes: + - | + NetApp ONTAP `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. -- cgit v1.2.1