Skip to content

Globus

GlobusRSEProtocol(protocol_attr, rse_settings, logger=logging.log)

Implementing access to RSEs using the Globus service as a Rucio RSE protocol.

Initializes the object with information about the referred RSE.

Parameters:

Name Type Description Default
props

Properties of the requested protocol

required

lfns2pfns(lfns)

Returns a fully qualified PFN for the file referred by path.

Parameters:

Name Type Description Default
path

The path to the file.

required

Returns:

Type Description

Fully qualified PFN.

_get_path(scope, name)

Transforms the logical file name into a PFN. Suitable for sites implementing the RUCIO naming convention. This implementation is only invoked if the RSE is deterministic.

Parameters:

Name Type Description Default
scope

scope

required
name

filename

required

Returns:

Type Description

RSE specific URI of the physical file

parse_pfns(pfns)

Splits the given PFN into the parts known by the protocol. It is also checked if the provided protocol supports the given PFNs.

Parameters:

Name Type Description Default
pfns

a list of a fully qualified PFNs

required

Returns:

Type Description

dic with PFN as key and a dict with path and name as value

Raises:

Type Description
RSEFileNameNotSupported

if the provided PFN doesn't match with the protocol settings

exists(path)

Checks if the requested file is known by the referred RSE.

Parameters:

Name Type Description Default
path

Physical file name

required

Returns:

Type Description

True if the file exists, False if it doesn't

Raises:

Type Description
SourceNotFound

if the source file was not found on the referred storage.

list(path)

Checks if the requested path is known by the referred RSE and returns a list of items

Parameters:

Name Type Description Default
path

Physical file name

required

Returns:

Type Description

List of items

delete(path)

Deletes a file from the connected RSE.

Parameters:

Name Type Description Default
path

path to the to be deleted file

required

Raises:

Type Description
ServiceUnavailable

if some generic error occurred in the library.

SourceNotFound

if the source file was not found on the referred storage.

bulk_delete(pfns)

Submits an async task to bulk delete files on globus endpoint.

Parameters:

Name Type Description Default
pfns

list of pfns to delete

required

Raises:

Type Description
TransferAPIError

if unexpected response from the service.

connect()

Establishes the actual connection to the referred RSE.

reaper2 daemon requires implementation of protocol.connect

close()

Closes the connection to RSE.

reaper2 daemon requires implementation of protocol.close