get_rse
Returns details about the referred RSE.
Arguments: | rse : Name of the referred RSE
|
Raises: | RSENotFound : if the referred RSE was not found in the database
|
Returns: | A dict containing all attributes of the referred RSE |
add_rse
Sends the request to create a new RSE.
Arguments: | rse : the name of the rse.
deterministic : Boolean to know if the pfn is generated deterministically.
volatile : Boolean for RSE cache.
city : City for the RSE.
region_code : The region code for the RSE.
country_name : The country.
continent : The continent.
time_zone : Timezone.
staging_area : Staging area.
ISP : Internet service provider.
rse_type : RSE type.
latitude : Latitude coordinate of RSE.
longitude : Longitude coordinate of RSE.
ASN : Access service network.
availability : Availability.
|
Raises: | Duplicate : if rse already exists.
|
Returns: | True if location was created successfully else False. |
update_rse
Update RSE properties like availability or name.
Arguments: | rse : the name of the new rse.
parameters : A dictionary with property (name, read, write, delete as keys).
|
delete_rse
Sends the request to delete a rse.
Arguments: | rse : the name of the rse.
|
Returns: | True if location was created successfully else False. |
list_rses
Sends the request to list all rucio locations(RSEs).
Returns: | a list containing the names of all rucio locations. |
add_rse_attribute
Sends the request to add a RSE attribute.
Arguments: | rse : the name of the rse.
key : the attribute key.
value : the attribute value.
|
Raises: | Duplicate : if RSE attribute already exists.
|
Returns: | True if RSE attribute was created successfully else False. |
delete_rse_attribute
Sends the request to delete a RSE attribute.
Arguments: | rse : the RSE name.
key : the attribute key.
|
Returns: | True if RSE attribute was deleted successfully else False. |
list_rse_attributes
Sends the request to get RSE attributes.
Arguments: | rse : The RSE name.
|
Returns: | A dict with the RSE attribute name/value pairs. |
add_protocol
Sends the request to create a new protocol for the given RSE.
Arguments: | rse : the name of the rse.
scheme : identifier of this protocol
params : Attributes of the protocol. Supported are:
hostname: hostname for this protocol (default = localhost)
port: port for this protocol (default = 0)
prefix: string used as a prfeix for this protocol when generating the PFN (default = None)
impl: qualified name of the implementation class for this protocol (mandatory)
read: integer representing the priority of this procotol for read operations (default = -1)
write: integer representing the priority of this procotol for write operations (default = -1)
delete: integer representing the priority of this procotol for delete operations (default = -1)
extended_attributes: miscellaneous protocol specific information e.g. spacetoken for SRM (default = None)
|
Raises: | Duplicate : if protocol with same hostname, port and protocol identifier
already exists for the given RSE.
RSENotFound : if the RSE doesn't exist.
KeyNotFound : if params is missing manadtory attributes to create the
protocol.
AccessDenied : if not authorized.
|
Returns: | True if protocol was created successfully else False. |
get_protocols
Returns protocol information. Parameter combinations are:
(operation OR default) XOR protocol.
Arguments: | rse : the RSE name.
protocol_domain : The scope of the protocol. Supported are 'LAN', 'WAN', and 'ALL' (as default).
operation : The name of the requested operation (read, write, or delete).
If None, all operations are queried.
default : Indicates if only the default operations should be returned.
scheme : The identifier of the requested protocol.
|
Raises: | RSENotFound : if the RSE doesn't exist.
RSEProtocolNotSupported : if no matching protocol entry could be found.
RSEOperationNotSupported : if no matching protocol entry for the requested
operation could be found.
|
Returns: | A dict with details about each matching protocol. |
lfns2pfns
Returns PFNs that should be used at a RSE, corresponding to requested LFNs.
The PFNs are generated for the RSE regardless of whether a replica exists for the LFN.
Arguments: | rse : the RSE name
lfns : A list of LFN strings to translate to PFNs.
protocol_domain : The scope of the protocol. Supported are 'LAN', 'WAN', and 'ALL' (as default).
operation : The name of the requested operation (read, write, or delete).
If None, all operations are queried.
scheme : The identifier of the requested protocol (gsiftp, https, davs, etc).
|
Raises: | RSENotFound : if the RSE doesn't exist.
RSEProtocolNotSupported : if no matching protocol entry could be found.
RSEOperationNotSupported : if no matching protocol entry for the requested
operation could be found.
|
Returns: | A dictionary of LFN / PFN pairs. |
delete_protocols
Deletes matching protocols from RSE. Protocols using the same identifier can be
distinguished by hostname and port.
Arguments: | rse : the RSE name.
scheme : identifier of the protocol.
hostname : hostname of the protocol.
port : port of the protocol.
|
Raises: | RSEProtocolNotSupported : if no matching protocol entry could be found.
RSENotFound : if the RSE doesn't exist.
AccessDenied : if not authorized.
|
Returns: | True if success. |
update_protocols
Updates matching protocols from RSE. Protocol using the same identifier can be
distinguished by hostname and port.
Arguments: | rse : the RSE name.
scheme : identifier of the protocol.
data : A dict providing the new values of the protocol attributes.
Keys must match column names in database.
hostname : hostname of the protocol.
port : port of the protocol.
|
Raises: | RSEProtocolNotSupported : if no matching protocol entry could be found.
RSENotFound : if the RSE doesn't exist.
KeyNotFound : if invalid data was provided for update.
AccessDenied : if not authorized.
|
Returns: | True if success. |
swap_protocols
Swaps the priorities of the provided operation.
Arguments: | rse : the RSE name.
domain : the domain in which priorities should be swapped i.e. wan or lan.
operation : the operation that should be swapped i.e. read, write, or delete.
scheme_a : the scheme of one of the two protocols to be swapped, e.g. srm.
scheme_b : the scheme of the other of the two protocols to be swapped, e.g. http.
|
Raises: | RSEProtocolNotSupported : if no matching protocol entry could be found.
RSENotFound : if the RSE doesn't exist.
KeyNotFound : if invalid data was provided for update.
AccessDenied : if not authorized.
|
Returns: | True if success. |
add_qos_policy
Add a QoS policy from an RSE.
Arguments: | rse_id : The id of the RSE.
qos_policy : The QoS policy to add.
session : The database session in use.
|
Raises: | Duplicate : If the QoS policy already exists.
|
Returns: | True if successful, except otherwise. |
delete_qos_policy
Delete a QoS policy from an RSE.
Arguments: | rse_id : The id of the RSE.
qos_policy : The QoS policy to delete.
session : The database session in use.
|
Returns: | True if successful, silent failure if QoS policy does not exist. |
list_qos_policies
List all QoS policies of an RSE.
Arguments: | rse_id : The id of the RSE.
session : The database session in use.
|
Returns: | List containing all QoS policies. |
set_rse_usage
Set RSE usage information.
Arguments: | rse : the RSE name.
source : the information source, e.g. srm.
used : the used space in bytes.
free : the free in bytes.
files : the number of files
|
Returns: | True if successful |
get_rse_usage
Get RSE usage information.
Arguments: | rse : the RSE name.
filters : dictionary of attributes by which the results should be filtered
|
Returns: | True if successful, otherwise false. |
list_rse_usage_history
List RSE usage history information.
Arguments: | rse : The RSE name.
filters : dictionary of attributes by which the results should be filtered.
|
Returns: | list of dictionaries. |
set_rse_limits
Set RSE limit information.
Arguments: | rse : The RSE name.
name : The name of the limit.
value : The feature value.
|
Returns: | True if successful |
get_rse_limits
Get RSE limits.
Arguments: | rse : The RSE name.
|
Returns: | An iterator of RSE limits as dicts with 'name' and 'value' as keys. |
delete_rse_limits
Delete RSE limit information.
Arguments: | rse : The RSE name.
name : The name of the limit.
|
Returns: | True if successful |
add_distance
Add a src-dest distance.
Arguments: | source : The source.
destination : The destination.
parameters : A dictionary with property.
|
update_distance
Update distances with the given RSE ids.
Arguments: | source : The source.
destination : The destination.
parameters : A dictionary with property.
|
get_distance
Get distances between rses.
Arguments: | source : The source RSE.
destination : The destination RSE.
|
Returns: | distance : List of dictionaries.
|
delete_distance
Delete distances with the given RSE ids.
Arguments: | source : The source.
destination : The destination.
|