Пример #1
0
def export_data(issuer, distance=True, vo='def', session=None):
    """
    Export data from Rucio.

    :param issuer: the issuer.
    :param distance: To enable the reporting of distance.
    :param vo: the VO of the issuer.
    :param session: The database session in use.
    """
    kwargs = {'issuer': issuer}
    if not permission.has_permission(
            issuer=issuer, vo=vo, action='export', kwargs=kwargs,
            session=session):
        raise exception.AccessDenied('Account %s can not export data' % issuer)

    data = exporter.export_data(distance=distance, vo=vo, session=session)
    rses = {}
    distances = {}

    for rse_id in data['rses']:
        rse = data['rses'][rse_id]
        rses[get_rse_name(rse_id=rse_id, session=session)] = rse
    data['rses'] = rses

    if distance:
        for src_id in data['distances']:
            dests = data['distances'][src_id]
            src = get_rse_name(rse_id=src_id, session=session)
            distances[src] = {}
            for dest_id in dests:
                dest = get_rse_name(rse_id=dest_id, session=session)
                distances[src][dest] = dests[dest_id]
        data['distances'] = distances
    return data
Пример #2
0
def export_data(issuer, vo='def'):
    """
    Export data from Rucio.

    :param issuer: the issuer.
    :param vo: the VO of the issuer.
    """
    kwargs = {'issuer': issuer}
    if not permission.has_permission(
            issuer=issuer, vo=vo, action='export', kwargs=kwargs):
        raise exception.AccessDenied('Account %s can not export data' % issuer)

    data = exporter.export_data(vo=vo)
    rses = {}
    distances = {}

    for rse_id in data['rses']:
        rse = data['rses'][rse_id]
        rses[get_rse_name(rse_id=rse_id)] = rse
    data['rses'] = rses

    for src_id, tmp in data['distances']:
        src = get_rse_name(rse_id=src_id)
        distances[src] = {}
        for dst_id, dists in tmp:
            dst = get_rse_name(rse_id=dst_id)
            distances[src][dst] = dists
    data['distances'] = distances
    return data
Пример #3
0
def export_data(issuer):
    """
    Export data from Rucio.

    :param issuer: the issuer.
    """
    kwargs = {'issuer': issuer}
    if not permission.has_permission(
            issuer=issuer, action='export', kwargs=kwargs):
        raise exception.AccessDenied('Account %s can not export data' % issuer)

    data = exporter.export_data()
    rses = {}
    distances = {}

    for rse_id in data['rses']:
        rse = data['rses'][rse_id]
        rses[get_rse_name(rse_id=rse_id)] = rse
    data['rses'] = rses

    for src_id in data['distances']:
        dests = data['distances'][src_id]
        src = get_rse_name(rse_id=src_id)
        distances[src] = {}
        for dest_id in dests:
            dest = get_rse_name(rse_id=dest_id)
            distances[src][dest] = dests[dest_id]
    data['distances'] = distances
    return data
Пример #4
0
def export_data(issuer):
    """
    Export data from Rucio.

    :param issuer: the issuer.
    """
    kwargs = {'issuer': issuer}
    if not permission.has_permission(
            issuer=issuer, action='export', kwargs=kwargs):
        raise exception.AccessDenied('Account %s can not export data' % issuer)

    return exporter.export_data()
Пример #5
0
 def test_export_core(self):
     """ EXPORT (CORE): Test the export of data."""
     data = export_data()
     assert_equal(data['rses'], export_rses())
     assert_equal(data['distances'], export_distances())