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, vo=None)

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_replica_locks(rule_id)

List details of all replica locks for a rule.

Parameters

rule_id – Rule to be denied.

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.

list_replication_rules(filters=None)

List all replication rules which match a filter :param filters: dictionary of attributes by which the rules should be filtered

Returns

True if successful, otherwise false.

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