Handle errors getting iSCSI initiators
pypowervm may raise a JobRequestFailed exception during iSCSI initiator discovery on older VIOS that do not have the iscsiadm commands built in. This adds handling for that exception so that get_volume_connector doesn't blow up. Closes-Bug: #1770466 Change-Id: I16beff6a5014f028181a167ecb28952190fac223
This commit is contained in:
parent
8429cc6185
commit
ef77fbfa8c
|
@ -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()
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue