Merge "Fujitsu Driver: Fix exception in terminate_connection with no connector"
This commit is contained in:
commit
07fffdb7f8
@ -761,8 +761,17 @@ class FJFCDriverTestCase(test.TestCase):
|
||||
info = self.driver.initialize_connection(TEST_VOLUME,
|
||||
TEST_CONNECTOR)
|
||||
self.assertEqual(fake_info, info)
|
||||
# Call terminate_connection with connector.
|
||||
self.driver.terminate_connection(TEST_VOLUME,
|
||||
TEST_CONNECTOR)
|
||||
|
||||
info = self.driver.initialize_connection(TEST_VOLUME,
|
||||
TEST_CONNECTOR)
|
||||
self.assertEqual(fake_info, info)
|
||||
# Call terminate_connection without connector.
|
||||
self.driver.terminate_connection(TEST_VOLUME,
|
||||
None)
|
||||
|
||||
self.driver.delete_volume(TEST_VOLUME)
|
||||
|
||||
def test_create_and_delete_snapshot(self):
|
||||
@ -879,8 +888,16 @@ class FJISCSIDriverTestCase(test.TestCase):
|
||||
info = self.driver.initialize_connection(TEST_VOLUME,
|
||||
TEST_CONNECTOR)
|
||||
self.assertEqual(fake_info, info)
|
||||
# Call terminate_connection with connector.
|
||||
self.driver.terminate_connection(TEST_VOLUME,
|
||||
TEST_CONNECTOR)
|
||||
|
||||
info = self.driver.initialize_connection(TEST_VOLUME,
|
||||
TEST_CONNECTOR)
|
||||
self.assertEqual(fake_info, info)
|
||||
# Call terminate_connection without connector.
|
||||
self.driver.terminate_connection(TEST_VOLUME,
|
||||
None)
|
||||
self.driver.delete_volume(TEST_VOLUME)
|
||||
|
||||
def test_create_and_delete_snapshot(self):
|
||||
|
@ -728,7 +728,8 @@ class FJDXCommon(object):
|
||||
{'vid': volume['id'], 'prtcl': self.protocol, 'frc': force})
|
||||
|
||||
self.conn = self._get_eternus_connection()
|
||||
map_exist = self._unmap_lun(volume, connector)
|
||||
force = True if not connector else force
|
||||
map_exist = self._unmap_lun(volume, connector, force)
|
||||
|
||||
LOG.debug('terminate_connection, map_exist: %s.', map_exist)
|
||||
return map_exist
|
||||
|
@ -171,20 +171,23 @@ class FJDXFCDriver(driver.FibreChannelDriver):
|
||||
@fczm_utils.remove_fc_zone
|
||||
def terminate_connection(self, volume, connector, **kwargs):
|
||||
"""Disallow connection from connector."""
|
||||
wwpns = connector.get('wwpns') if connector else None
|
||||
|
||||
LOG.debug('terminate_connection, volume id: %(vid)s, '
|
||||
'wwpns: %(wwpns)s, enter method.',
|
||||
{'vid': volume['id'], 'wwpns': connector['wwpns']})
|
||||
{'vid': volume['id'], 'wwpns': wwpns})
|
||||
|
||||
map_exist = self.common.terminate_connection(volume, connector)
|
||||
attached = self.common.check_attached_volume_in_zone(connector)
|
||||
|
||||
info = {'driver_volume_type': 'fibre_channel',
|
||||
'data': {}}
|
||||
|
||||
if not attached:
|
||||
# No more volumes attached to the host
|
||||
init_tgt_map = self.common.build_fc_init_tgt_map(connector)
|
||||
info['data'] = {'initiator_target_map': init_tgt_map}
|
||||
if connector:
|
||||
attached = self.common.check_attached_volume_in_zone(connector)
|
||||
if not attached:
|
||||
# No more volumes attached to the host
|
||||
init_tgt_map = self.common.build_fc_init_tgt_map(connector)
|
||||
info['data'] = {'initiator_target_map': init_tgt_map}
|
||||
|
||||
LOG.debug('terminate_connection, unmap: %(unmap)s, '
|
||||
'connection info: %(info)s, exit method',
|
||||
|
@ -173,9 +173,11 @@ class FJDXISCSIDriver(driver.ISCSIDriver):
|
||||
|
||||
def terminate_connection(self, volume, connector, **kwargs):
|
||||
"""Disallow connection from connector."""
|
||||
initiator = connector.get('initiator') if connector else None
|
||||
|
||||
LOG.info('terminate_connection, volume id: %(vid)s, '
|
||||
'initiator: %(initiator)s, Enter method.',
|
||||
{'vid': volume['id'], 'initiator': connector['initiator']})
|
||||
{'vid': volume['id'], 'initiator': initiator})
|
||||
|
||||
map_exist = self.common.terminate_connection(volume, connector)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user