diff --git a/cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_client_cmode_rest.py b/cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_client_cmode_rest.py index 9e5402c2f55..aeb7f16be11 100644 --- a/cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_client_cmode_rest.py +++ b/cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_client_cmode_rest.py @@ -1894,7 +1894,7 @@ class NetAppRestCmodeClientTestCase(test.TestCase): expected_query = { 'svm.name': fake_client.VOLUME_VSERVER_NAME, - 'initiators.name': ' '.join(initiators), + 'initiators.name': ','.join(initiators), 'fields': 'name,protocol,os_type' } @@ -1919,7 +1919,7 @@ class NetAppRestCmodeClientTestCase(test.TestCase): expected_query = { 'svm.name': fake_client.VOLUME_VSERVER_NAME, - 'initiators.name': ' '.join(initiators), + 'initiators.name': ','.join(initiators), 'fields': 'name,protocol,os_type' } @@ -2180,7 +2180,7 @@ class NetAppRestCmodeClientTestCase(test.TestCase): self.assertTrue(self.client.has_luns_mapped_to_initiators(initiators)) query = { - 'initiators.name': ' '.join(initiators), + 'initiators.name': ','.join(initiators), 'fields': 'lun_maps' } @@ -2196,7 +2196,7 @@ class NetAppRestCmodeClientTestCase(test.TestCase): self.assertFalse(self.client.has_luns_mapped_to_initiators(initiators)) query = { - 'initiators.name': ' '.join(initiators), + 'initiators.name': ','.join(initiators), 'fields': 'lun_maps' } @@ -2212,7 +2212,7 @@ class NetAppRestCmodeClientTestCase(test.TestCase): self.assertFalse(self.client.has_luns_mapped_to_initiators(initiators)) query = { - 'initiators.name': ' '.join(initiators), + 'initiators.name': ','.join(initiators), 'fields': 'lun_maps' } diff --git a/cinder/volume/drivers/netapp/dataontap/client/client_cmode_rest.py b/cinder/volume/drivers/netapp/dataontap/client/client_cmode_rest.py index edd6300308d..6db3b176a93 100644 --- a/cinder/volume/drivers/netapp/dataontap/client/client_cmode_rest.py +++ b/cinder/volume/drivers/netapp/dataontap/client/client_cmode_rest.py @@ -1434,7 +1434,7 @@ class RestClient(object, metaclass=volume_utils.TraceWrapperMetaclass): query = { 'svm.name': self.vserver, - 'initiators.name': ' '.join(initiator_list), + 'initiators.name': ','.join(initiator_list), 'fields': 'name,protocol,os_type' } @@ -1587,7 +1587,7 @@ class RestClient(object, metaclass=volume_utils.TraceWrapperMetaclass): def has_luns_mapped_to_initiators(self, initiator_list): """Checks whether any LUNs are mapped to the given initiator(s).""" query = { - 'initiators.name': ' '.join(initiator_list), + 'initiators.name': ','.join(initiator_list), 'fields': 'lun_maps' } diff --git a/releasenotes/notes/bug-2114993-iscsi-fc-detach-operation-fails-when-multiple-initiators-connected-b1069bab32d86027.yaml b/releasenotes/notes/bug-2114993-iscsi-fc-detach-operation-fails-when-multiple-initiators-connected-b1069bab32d86027.yaml new file mode 100644 index 00000000000..79c87a5f801 --- /dev/null +++ b/releasenotes/notes/bug-2114993-iscsi-fc-detach-operation-fails-when-multiple-initiators-connected-b1069bab32d86027.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + NetApp Driver `bug #2114993 + `_: Fixed iSCSI and FC + detach operation failure issue when multiple initiators are connected.