Esempio n. 1
0
    def terminate_connection(self, volume, connector, **kwargs):
        if volume['provider_location'] is None:
            LOG.debug('No provider_location for volume %s.',
                      volume['id'])
            return

        volume_iqn = volume['provider_location'].split(' ')[1]

        # Delete initiator iqns from target ACL
        LOG.info(('Terminating iscsi initiator: %(initiator)s '
                  'for volume: %(id)s'),
                 {"initiator": volume_iqn, "id": volume["id"]})
        try:
            self._execute('cinder-rtstool', 'delete-initiator',
                          volume_iqn,
                          connector['initiator'],
                          run_as_root=True)
        except putils.ProcessExecutionError:
            LOG.exception(
                "Failed to delete initiator iqn %s from target.",
                connector['initiator'])
            raise exception.ISCSITargetDetachFailed(volume_id=volume['id'])

        # We make changes persistent
        self._persist_configuration(volume['id'])
        LOG.info(('Terminated iscsi initiator '
                  'for volume: %s'), volume["id"])
Esempio n. 2
0
    def test_terminate_connection_fail(self, _mock_execute):

        _mock_execute.side_effect = \
            exception.ISCSITargetDetachFailed(self.testvol_1['id'])
        connector = {'initiator': 'fake_init'}
        self.assertRaises(exception.ISCSITargetDetachFailed,
                          self.target.terminate_connection, self.testvol_1,
                          connector)
Esempio n. 3
0
    def terminate_connection(self, volume, connector, **kwargs):
        volume_iqn = volume['provider_location'].split(' ')[1]

        # Delete initiator iqns from target ACL
        try:
            utils.execute('cinder-rtstool', 'delete-initiator',
                          volume_iqn,
                          connector['initiator'],
                          run_as_root=True)
        except putils.ProcessExecutionError:
            LOG.error(_LE("Failed to delete initiator iqn %s to target.") %
                      connector['initiator'])
            raise exception.ISCSITargetDetachFailed(volume_id=volume['id'])