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