Replication Rule Methods

class rucio.client.ruleclient.RuleClient(rucio_host=None, auth_host=None, account=None, ca_cert=None, auth_type=None, creds=None, timeout=600, dq2_wrapper=False)

Bases: rucio.client.baseclient.BaseClient

RuleClient class for working with replication rules

RULE_BASEURL = 'rules'
add_replication_rule(dids, copies, rse_expression, weight=None, lifetime=None, grouping='DATASET', account=None, locked=False, source_replica_expression=None, activity=None, notify='N', purge_replicas=False, ignore_availability=False, comment=None, ask_approval=False, asynchronous=False, priority=3, meta=None)
Parameters:
  • dids – The data identifier set.
  • copies – The number of replicas.
  • rse_expression – Boolean string expression to give the list of RSEs.
  • weight – If the weighting option of the replication rule is used, the choice of RSEs takes their weight into account.
  • lifetime – The lifetime of the replication rules (in seconds).
  • grouping – ALL - All files will be replicated to the same RSE. DATASET - All files in the same dataset will be replicated to the same RSE. NONE - Files will be completely spread over all allowed RSEs without any grouping considerations at all.
  • account – The account owning the rule.
  • locked – If the rule is locked, it cannot be deleted.
  • source_replica_expression – RSE Expression for RSEs to be considered for source replicas.
  • activity – Transfer Activity to be passed to FTS.
  • notify – Notification setting for the rule (Y, N, C).
  • purge_replicas – When the rule gets deleted purge the associated replicas immediately.
  • ignore_availability – Option to ignore the availability of RSEs.
  • ask_approval – Ask for approval of this replication rule.
  • asynchronous – Create rule asynchronously by judge-injector.
  • priority – Priority of the transfers.
  • comment – Comment about the rule.
  • meta – Metadata, as dictionary.
approve_replication_rule(rule_id)
Parameters:rule_id – Rule to be approved.
Raises:RuleNotFound
delete_replication_rule(rule_id, purge_replicas=None)

Deletes a replication rule and all associated locks.

Parameters:
  • rule_id – The id of the rule to be deleted
  • purge_replicas – Immediately delete the replicas.
Raises:

RuleNotFound, AccessDenied

deny_replication_rule(rule_id)
Parameters:rule_id – Rule to be denied.
Raises:RuleNotFound
examine_replication_rule(rule_id)

Examine a replication rule for errors during transfer.

Parameters:rule_id – Rule to be denied.
Raises:RuleNotFound
get_replication_rule(rule_id, estimate_ttc=False)

Get a replication rule.

Parameters:
  • rule_id – The id of the rule to be retrieved.
  • estimate_ttc – bool, if rule_info should return ttc information
Raises:

RuleNotFound

list_replication_rule_full_history(scope, name)

List the rule history of a DID.

Parameters:
  • scope – The scope of the DID.
  • name – The name of the DID.
move_replication_rule(rule_id, rse_expression)

Move a replication rule to another RSE and, once done, delete the original one.

Parameters:
  • rule_id – Rule to be moved.
  • rse_expression – RSE expression of the new rule.
Raises:

RuleNotFound, RuleReplaceFailed

reduce_replication_rule(rule_id, copies, exclude_expression=None)
Parameters:
  • rule_id – Rule to be reduced.
  • copies – Number of copies of the new rule.
  • exclude_expression – RSE Expression of RSEs to exclude.
Raises:

RuleReplaceFailed, RuleNotFound

update_replication_rule(rule_id, options)
Parameters:
  • rule_id – The id of the rule to be retrieved.
  • options – Options dictionary.
Raises:

RuleNotFound