diff --git a/nova_powervm/tests/virt/powervm/volume/test_iscsi.py b/nova_powervm/tests/virt/powervm/volume/test_iscsi.py index 9d20c37d..c6ad74d0 100644 --- a/nova_powervm/tests/virt/powervm/volume/test_iscsi.py +++ b/nova_powervm/tests/virt/powervm/volume/test_iscsi.py @@ -449,6 +449,16 @@ class TestISCSIAdapter(test_vol.TestVolumeAdapter): iscsi.get_iscsi_initiators(self.adpt, vios_ids)) self.assertEqual(dict(), iscsi._ISCSI_INITIATORS) + # Invoke iscsi.get_iscsi_initiators with discover_iscsi_initiator() + # raises JobRequestFailed exception + iscsi._ISCSI_INITIATORS = dict() + mock_iscsi_init.reset_mock() + mock_iscsi_init.side_effect = pvm_exc.JobRequestFailed( + operation_name='fake_operation_name', error="fake_error") + self.assertEqual(dict(), + iscsi.get_iscsi_initiators(self.adpt, vios_ids)) + self.assertEqual(dict(), iscsi._ISCSI_INITIATORS) + def test_get_iscsi_conn_props(self): # Get the conn props with auth enabled vios_w = mock.MagicMock() diff --git a/nova_powervm/virt/powervm/volume/iscsi.py b/nova_powervm/virt/powervm/volume/iscsi.py index a602d5b6..cbc2be7a 100644 --- a/nova_powervm/virt/powervm/volume/iscsi.py +++ b/nova_powervm/virt/powervm/volume/iscsi.py @@ -74,7 +74,8 @@ def get_iscsi_initiators(adapter, vios_ids=None): initiator = hdisk.discover_iscsi_initiator( adapter, vios_id) _ISCSI_INITIATORS[vios_id] = initiator - except pvm_exc.ISCSIDiscoveryFailed as e: + except (pvm_exc.ISCSIDiscoveryFailed, + pvm_exc.JobRequestFailed) as e: # TODO(chhagarw): handle differently based on # error codes LOG.error(e)