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
-