'Gets the connection info for specified account and volume.'

def _get_model_info(self, sfaccount, sf_volume_id, endpoint=None):

    if endpoint:
        iscsi_portal = endpoint['svip']
    else:
        iscsi_portal = self.active_cluster_info['svip']
    if (':' not in iscsi_portal):
        iscsi_portal += ':3260'
    chap_secret = sfaccount['targetSecret']
    found_volume = False
    iteration_count = 0
    while ((not found_volume) and (iteration_count < 600)):
        volume_list = self._get_volumes_by_sfaccount(sfaccount['accountID'], endpoint=endpoint)
        iqn = None
        for v in volume_list:
            if (v['volumeID'] == sf_volume_id):
                iqn = v['iqn']
                found_volume = True
                break
        if (not found_volume):
            time.sleep(2)
        iteration_count += 1
    if (not found_volume):
        LOG.error('Failed    to    retrieve    volume    SolidFire-ID:    %s    in    get_by_account!', sf_volume_id)
        raise exception.VolumeNotFound(volume_id=sf_volume_id)
    model_update = {}
    model_update['provider_location'] = ('%s    %s    %s' % (iscsi_portal, iqn, 0))
    model_update['provider_auth'] = ('CHAP    %s    %s' % (sfaccount['username'], chap_secret))
    if (not self.configuration.sf_emulate_512):
        model_update['provider_geometry'] = ('%s    %s' % (4096, 4096))
    model_update['provider_id'] = self._create_provider_id_string(sf_volume_id, sfaccount['accountID'])
    return model_update
