'Terminate connection between the server and the volume.'

@coordination.synchronized('vsp-host-{self.conf.vsp_storage_id}-{connector[host]}')
def terminate_connection(self, volume, connector):

    targets = {'info': {}, 'list': [], 'iqns': {}}
    mapped_targets = {'list': []}
    unmap_targets = {}
    ldev = utils.get_ldev(volume)
    if (ldev is None):
        utils.output_log(MSG.INVALID_LDEV_FOR_UNMAPPING, volume_id=volume['id'])
        return
    target_ports = self.get_target_ports(connector)
    self.find_targets_from_storage(targets, connector, target_ports)
    if (not targets['list']):
        utils.output_log(MSG.NO_CONNECTED_TARGET)
    self.find_mapped_targets_from_storage(mapped_targets, ldev, target_ports)
    unmap_targets['list'] = self.get_unmap_targets_list(targets['list'], mapped_targets['list'])
    unmap_targets['list'].sort(reverse=True)
    self.unmap_ldev(unmap_targets, ldev)
    if (self.storage_info['protocol'] == 'FC'):
        target_wwn = [self.storage_info['wwns'][port_gid[:utils.PORT_ID_LENGTH]] for port_gid in unmap_targets['list']]
        return {'driver_volume_type': self.driver_info['volume_type'], 'data': {'target_wwn': target_wwn}}
