rucio-clients 37.2.0__py3-none-any.whl → 37.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rucio-clients might be problematic. Click here for more details.
- rucio/cli/rule.py +1 -1
- rucio/client/accountclient.py +205 -60
- rucio/client/accountlimitclient.py +84 -25
- rucio/client/baseclient.py +85 -48
- rucio/client/client.py +49 -41
- rucio/client/configclient.py +36 -13
- rucio/client/credentialclient.py +16 -6
- rucio/client/didclient.py +321 -133
- rucio/client/diracclient.py +13 -6
- rucio/client/downloadclient.py +435 -165
- rucio/client/exportclient.py +8 -2
- rucio/client/fileclient.py +10 -3
- rucio/client/importclient.py +4 -1
- rucio/client/lifetimeclient.py +48 -31
- rucio/client/lockclient.py +22 -7
- rucio/client/metaconventionsclient.py +59 -21
- rucio/client/pingclient.py +3 -1
- rucio/client/replicaclient.py +213 -96
- rucio/client/requestclient.py +123 -16
- rucio/client/rseclient.py +385 -160
- rucio/client/ruleclient.py +147 -51
- rucio/client/scopeclient.py +35 -10
- rucio/client/subscriptionclient.py +60 -27
- rucio/client/touchclient.py +16 -7
- rucio/common/plugins.py +1 -1
- rucio/vcsversion.py +3 -3
- {rucio_clients-37.2.0.data → rucio_clients-37.4.0.data}/data/etc/rucio.cfg.template +0 -1
- {rucio_clients-37.2.0.dist-info → rucio_clients-37.4.0.dist-info}/METADATA +1 -1
- {rucio_clients-37.2.0.dist-info → rucio_clients-37.4.0.dist-info}/RECORD +39 -39
- {rucio_clients-37.2.0.dist-info → rucio_clients-37.4.0.dist-info}/WHEEL +1 -1
- {rucio_clients-37.2.0.data → rucio_clients-37.4.0.data}/data/etc/rse-accounts.cfg.template +0 -0
- {rucio_clients-37.2.0.data → rucio_clients-37.4.0.data}/data/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio_clients-37.2.0.data → rucio_clients-37.4.0.data}/data/requirements.client.txt +0 -0
- {rucio_clients-37.2.0.data → rucio_clients-37.4.0.data}/data/rucio_client/merge_rucio_configs.py +0 -0
- {rucio_clients-37.2.0.data → rucio_clients-37.4.0.data}/scripts/rucio +0 -0
- {rucio_clients-37.2.0.data → rucio_clients-37.4.0.data}/scripts/rucio-admin +0 -0
- {rucio_clients-37.2.0.dist-info → rucio_clients-37.4.0.dist-info}/licenses/AUTHORS.rst +0 -0
- {rucio_clients-37.2.0.dist-info → rucio_clients-37.4.0.dist-info}/licenses/LICENSE +0 -0
- {rucio_clients-37.2.0.dist-info → rucio_clients-37.4.0.dist-info}/top_level.txt +0 -0
rucio/client/ruleclient.py
CHANGED
|
@@ -54,27 +54,52 @@ class RuleClient(BaseClient):
|
|
|
54
54
|
weight: Optional[int] = None,
|
|
55
55
|
) -> Any:
|
|
56
56
|
"""
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
57
|
+
Add a replication rule.
|
|
58
|
+
|
|
59
|
+
Parameters
|
|
60
|
+
----------
|
|
61
|
+
dids :
|
|
62
|
+
The data identifier set.
|
|
63
|
+
copies :
|
|
64
|
+
The number of replicas.
|
|
65
|
+
rse_expression :
|
|
66
|
+
Boolean string expression to give the list of RSEs.
|
|
67
|
+
priority :
|
|
68
|
+
Priority of the transfers. Default is 3.
|
|
69
|
+
lifetime :
|
|
70
|
+
The lifetime of the replication rules (in seconds).
|
|
71
|
+
grouping :
|
|
72
|
+
ALL - All files will be replicated to the same RSE.
|
|
73
|
+
DATASET - All files in the same dataset will be replicated to the same RSE.
|
|
74
|
+
NONE - Files will be completely spread over all allowed RSEs without any grouping considerations at all.
|
|
75
|
+
Default is 'DATASET'.
|
|
76
|
+
notify :
|
|
77
|
+
Notification setting for the rule (Y, N, C). Default is 'N'.
|
|
78
|
+
source_replica_expression :
|
|
79
|
+
RSE Expression for RSEs to be considered for source replicas.
|
|
80
|
+
activity :
|
|
81
|
+
Transfer Activity to be passed to FTS.
|
|
82
|
+
account :
|
|
83
|
+
The account owning the rule.
|
|
84
|
+
meta :
|
|
85
|
+
Metadata, as dictionary.
|
|
86
|
+
ignore_availability :
|
|
87
|
+
Option to ignore the availability of RSEs. Default is False.
|
|
88
|
+
purge_replicas :
|
|
89
|
+
When the rule gets deleted purge the associated replicas immediately. Default is False.
|
|
90
|
+
ask_approval :
|
|
91
|
+
Ask for approval of this replication rule. Default is False.
|
|
92
|
+
asynchronous :
|
|
93
|
+
Create rule asynchronously by judge-injector. Default is False.
|
|
94
|
+
locked :
|
|
95
|
+
If the rule is locked, it cannot be deleted. Default is False.
|
|
96
|
+
delay_injection :
|
|
97
|
+
Delay the rule injection.
|
|
98
|
+
comment :
|
|
99
|
+
Comment about the rule.
|
|
100
|
+
weight :
|
|
101
|
+
If the weighting option of the replication rule is used, the choice of RSEs takes their weight into account.
|
|
102
|
+
|
|
78
103
|
"""
|
|
79
104
|
path = self.RULE_BASEURL + '/'
|
|
80
105
|
url = build_url(choice(self.list_hosts), path=path)
|
|
@@ -97,9 +122,17 @@ class RuleClient(BaseClient):
|
|
|
97
122
|
"""
|
|
98
123
|
Deletes a replication rule and all associated locks.
|
|
99
124
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
:
|
|
125
|
+
Parameters
|
|
126
|
+
----------
|
|
127
|
+
rule_id :
|
|
128
|
+
The id of the rule to be deleted.
|
|
129
|
+
purge_replicas :
|
|
130
|
+
Immediate delete the replicas
|
|
131
|
+
|
|
132
|
+
Raises
|
|
133
|
+
-------
|
|
134
|
+
RuleNotFound
|
|
135
|
+
AccessDenied
|
|
103
136
|
"""
|
|
104
137
|
|
|
105
138
|
path = self.RULE_BASEURL + '/' + rule_id
|
|
@@ -118,8 +151,14 @@ class RuleClient(BaseClient):
|
|
|
118
151
|
"""
|
|
119
152
|
Get a replication rule.
|
|
120
153
|
|
|
121
|
-
|
|
122
|
-
|
|
154
|
+
Parameters
|
|
155
|
+
----------
|
|
156
|
+
rule_id :
|
|
157
|
+
The id of the rule to be retrieved.
|
|
158
|
+
|
|
159
|
+
Raises
|
|
160
|
+
-------
|
|
161
|
+
RuleNotFound
|
|
123
162
|
"""
|
|
124
163
|
path = self.RULE_BASEURL + '/' + rule_id
|
|
125
164
|
url = build_url(choice(self.list_hosts), path=path)
|
|
@@ -132,9 +171,16 @@ class RuleClient(BaseClient):
|
|
|
132
171
|
|
|
133
172
|
def update_replication_rule(self, rule_id: str, options: dict[str, Any]) -> Literal[True]:
|
|
134
173
|
"""
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
:
|
|
174
|
+
Parameters
|
|
175
|
+
----------
|
|
176
|
+
rule_id :
|
|
177
|
+
The id of the rule to be retrieved.
|
|
178
|
+
options :
|
|
179
|
+
Options dictionary.
|
|
180
|
+
|
|
181
|
+
Raises
|
|
182
|
+
-------
|
|
183
|
+
RuleNotFound
|
|
138
184
|
"""
|
|
139
185
|
path = self.RULE_BASEURL + '/' + rule_id
|
|
140
186
|
url = build_url(choice(self.list_hosts), path=path)
|
|
@@ -152,10 +198,19 @@ class RuleClient(BaseClient):
|
|
|
152
198
|
exclude_expression: Optional[str] = None
|
|
153
199
|
) -> Any:
|
|
154
200
|
"""
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
201
|
+
Parameters
|
|
202
|
+
----------
|
|
203
|
+
rule_id :
|
|
204
|
+
The id of the rule to be reduced.
|
|
205
|
+
copies :
|
|
206
|
+
Number of copies of the new rule.
|
|
207
|
+
exclude_expression :
|
|
208
|
+
RSE Expression of RSEs to exclude.
|
|
209
|
+
|
|
210
|
+
Raises
|
|
211
|
+
-------
|
|
212
|
+
RuleNotFound
|
|
213
|
+
RuleReplaceFailed
|
|
159
214
|
"""
|
|
160
215
|
|
|
161
216
|
path = self.RULE_BASEURL + '/' + rule_id + '/reduce'
|
|
@@ -176,10 +231,18 @@ class RuleClient(BaseClient):
|
|
|
176
231
|
"""
|
|
177
232
|
Move a replication rule to another RSE and, once done, delete the original one.
|
|
178
233
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
234
|
+
Parameters
|
|
235
|
+
----------
|
|
236
|
+
rule_id :
|
|
237
|
+
Rule to be moved.
|
|
238
|
+
rse_expression :
|
|
239
|
+
RSE expression of the new rule.
|
|
240
|
+
override :
|
|
241
|
+
Configurations to update for the new rule.
|
|
242
|
+
Raises
|
|
243
|
+
-------
|
|
244
|
+
RuleNotFound
|
|
245
|
+
RuleReplaceFailed
|
|
183
246
|
"""
|
|
184
247
|
|
|
185
248
|
path = self.RULE_BASEURL + '/' + rule_id + '/move'
|
|
@@ -197,8 +260,14 @@ class RuleClient(BaseClient):
|
|
|
197
260
|
|
|
198
261
|
def approve_replication_rule(self, rule_id: str) -> Literal[True]:
|
|
199
262
|
"""
|
|
200
|
-
|
|
201
|
-
|
|
263
|
+
Parameters
|
|
264
|
+
----------
|
|
265
|
+
rule_id :
|
|
266
|
+
Rule to be approved.
|
|
267
|
+
|
|
268
|
+
Raises
|
|
269
|
+
-------
|
|
270
|
+
RuleNotFound
|
|
202
271
|
"""
|
|
203
272
|
|
|
204
273
|
path = self.RULE_BASEURL + '/' + rule_id
|
|
@@ -212,9 +281,17 @@ class RuleClient(BaseClient):
|
|
|
212
281
|
|
|
213
282
|
def deny_replication_rule(self, rule_id: str, reason: Optional[str] = None) -> Literal[True]:
|
|
214
283
|
"""
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
:
|
|
284
|
+
Parameters
|
|
285
|
+
----------
|
|
286
|
+
rule_id :
|
|
287
|
+
Rule to be denied.
|
|
288
|
+
reason :
|
|
289
|
+
Reason for denying the rule.
|
|
290
|
+
|
|
291
|
+
Raises
|
|
292
|
+
-------
|
|
293
|
+
RuleNotFound
|
|
294
|
+
|
|
218
295
|
"""
|
|
219
296
|
|
|
220
297
|
path = self.RULE_BASEURL + '/' + rule_id
|
|
@@ -235,8 +312,12 @@ class RuleClient(BaseClient):
|
|
|
235
312
|
"""
|
|
236
313
|
List the rule history of a DID.
|
|
237
314
|
|
|
238
|
-
|
|
239
|
-
|
|
315
|
+
Parameters
|
|
316
|
+
----------
|
|
317
|
+
scope :
|
|
318
|
+
The scope of the DID.
|
|
319
|
+
name :
|
|
320
|
+
The name of the DID.
|
|
240
321
|
"""
|
|
241
322
|
path = '/'.join([self.RULE_BASEURL, quote_plus(scope), quote_plus(name), 'history'])
|
|
242
323
|
url = build_url(choice(self.list_hosts), path=path)
|
|
@@ -250,8 +331,13 @@ class RuleClient(BaseClient):
|
|
|
250
331
|
"""
|
|
251
332
|
Examine a replication rule for errors during transfer.
|
|
252
333
|
|
|
253
|
-
|
|
254
|
-
|
|
334
|
+
Parameters
|
|
335
|
+
----------
|
|
336
|
+
rule_id :
|
|
337
|
+
The rule to be denied
|
|
338
|
+
Raises
|
|
339
|
+
-------
|
|
340
|
+
RuleNotFound
|
|
255
341
|
"""
|
|
256
342
|
path = self.RULE_BASEURL + '/' + rule_id + '/analysis'
|
|
257
343
|
url = build_url(choice(self.list_hosts), path=path)
|
|
@@ -265,8 +351,13 @@ class RuleClient(BaseClient):
|
|
|
265
351
|
"""
|
|
266
352
|
List details of all replica locks for a rule.
|
|
267
353
|
|
|
268
|
-
|
|
269
|
-
|
|
354
|
+
Parameters
|
|
355
|
+
----------
|
|
356
|
+
rule_id :
|
|
357
|
+
The rule to be denied
|
|
358
|
+
Raises
|
|
359
|
+
-------
|
|
360
|
+
RuleNotFound
|
|
270
361
|
"""
|
|
271
362
|
path = self.RULE_BASEURL + '/' + rule_id + '/locks'
|
|
272
363
|
url = build_url(choice(self.list_hosts), path=path)
|
|
@@ -279,9 +370,14 @@ class RuleClient(BaseClient):
|
|
|
279
370
|
def list_replication_rules(self, filters: Optional[dict[str, Any]] = None) -> "Iterator[dict[str, Any]]":
|
|
280
371
|
"""
|
|
281
372
|
List all replication rules which match a filter
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
:
|
|
373
|
+
Parameters
|
|
374
|
+
----------
|
|
375
|
+
filers:
|
|
376
|
+
dictionary of attributes by which the rules should be filtered
|
|
377
|
+
|
|
378
|
+
Returns
|
|
379
|
+
-------
|
|
380
|
+
True if successful, otherwise false.
|
|
285
381
|
"""
|
|
286
382
|
filters = filters or {}
|
|
287
383
|
path = self.RULE_BASEURL + '/'
|
rucio/client/scopeclient.py
CHANGED
|
@@ -35,11 +35,23 @@ class ScopeClient(BaseClient):
|
|
|
35
35
|
"""
|
|
36
36
|
Sends the request to add a new scope.
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
:
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
Parameters
|
|
39
|
+
----------
|
|
40
|
+
account :
|
|
41
|
+
The name of the account to add the scope to.
|
|
42
|
+
scope :
|
|
43
|
+
The name of the new scope.
|
|
44
|
+
|
|
45
|
+
Returns
|
|
46
|
+
-------
|
|
47
|
+
True if scope was created successfully.
|
|
48
|
+
|
|
49
|
+
Raises
|
|
50
|
+
------
|
|
51
|
+
Duplicate
|
|
52
|
+
If scope already exists.
|
|
53
|
+
AccountNotFound
|
|
54
|
+
If account doesn't exist.
|
|
43
55
|
"""
|
|
44
56
|
|
|
45
57
|
path = '/'.join([self.SCOPE_BASEURL, account, 'scopes', quote_plus(scope)])
|
|
@@ -55,7 +67,9 @@ class ScopeClient(BaseClient):
|
|
|
55
67
|
"""
|
|
56
68
|
Sends the request to list all scopes.
|
|
57
69
|
|
|
58
|
-
|
|
70
|
+
Returns
|
|
71
|
+
-------
|
|
72
|
+
A list containing the names of all scopes.
|
|
59
73
|
"""
|
|
60
74
|
|
|
61
75
|
path = '/'.join(['scopes/'])
|
|
@@ -72,10 +86,21 @@ class ScopeClient(BaseClient):
|
|
|
72
86
|
"""
|
|
73
87
|
Sends the request to list all scopes for a rucio account.
|
|
74
88
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
89
|
+
Parameters
|
|
90
|
+
----------
|
|
91
|
+
account :
|
|
92
|
+
The rucio account to list scopes for.
|
|
93
|
+
|
|
94
|
+
Returns
|
|
95
|
+
-------
|
|
96
|
+
A list containing the names of all scopes for a rucio account.
|
|
97
|
+
|
|
98
|
+
Raises
|
|
99
|
+
------
|
|
100
|
+
AccountNotFound
|
|
101
|
+
If account doesn't exist.
|
|
102
|
+
ScopeNotFound
|
|
103
|
+
If no scopes exist for account.
|
|
79
104
|
"""
|
|
80
105
|
|
|
81
106
|
path = '/'.join([self.SCOPE_BASEURL, account, 'scopes/'])
|
|
@@ -45,16 +45,28 @@ class SubscriptionClient(BaseClient):
|
|
|
45
45
|
"""
|
|
46
46
|
Adds a new subscription which will be verified against every new added file and dataset
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
48
|
+
Parameters
|
|
49
|
+
----------
|
|
50
|
+
name :
|
|
51
|
+
Name of the subscription
|
|
52
|
+
account :
|
|
53
|
+
Account identifier
|
|
54
|
+
filter_ :
|
|
55
|
+
Dictionary of attributes by which the input data should be filtered
|
|
56
|
+
Example: `{'dsn': 'data11_hi*.express_express.*,data11_hi*physics_MinBiasOverlay*', 'account': 'tzero'}`
|
|
57
|
+
replication_rules :
|
|
58
|
+
Replication rules to be set. Dictionary with keys copies, rse_expression, weight, rse_expression
|
|
59
|
+
comments :
|
|
60
|
+
Comments for the subscription
|
|
61
|
+
lifetime :
|
|
62
|
+
Subscription's lifetime (days); False if subscription has no lifetime
|
|
63
|
+
retroactive :
|
|
64
|
+
Flag to know if the subscription should be applied on previous data
|
|
65
|
+
dry_run :
|
|
66
|
+
Just print the subscriptions actions without actually executing them (Useful if retroactive flag is set)
|
|
67
|
+
priority :
|
|
68
|
+
The priority of the subscription (3 by default)
|
|
69
|
+
|
|
58
70
|
"""
|
|
59
71
|
path = self.SUB_BASEURL + '/' + account + '/' + name
|
|
60
72
|
url = build_url(choice(self.list_hosts), path=path)
|
|
@@ -82,10 +94,21 @@ class SubscriptionClient(BaseClient):
|
|
|
82
94
|
Returns a dictionary with the subscription information :
|
|
83
95
|
Examples: ``{'status': 'INACTIVE/ACTIVE/BROKEN', 'last_modified_date': ...}``
|
|
84
96
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
:
|
|
88
|
-
|
|
97
|
+
Parameters
|
|
98
|
+
----------
|
|
99
|
+
name :
|
|
100
|
+
Name of the subscription
|
|
101
|
+
account :
|
|
102
|
+
Account identifier
|
|
103
|
+
|
|
104
|
+
Returns
|
|
105
|
+
-------
|
|
106
|
+
Dictionary with the subscription information
|
|
107
|
+
|
|
108
|
+
Raises
|
|
109
|
+
-------
|
|
110
|
+
NotFound
|
|
111
|
+
If subscription is not found
|
|
89
112
|
"""
|
|
90
113
|
path = self.SUB_BASEURL
|
|
91
114
|
if account:
|
|
@@ -120,17 +143,23 @@ class SubscriptionClient(BaseClient):
|
|
|
120
143
|
"""
|
|
121
144
|
Updates a subscription
|
|
122
145
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
:
|
|
146
|
+
Parameters
|
|
147
|
+
----------
|
|
148
|
+
name : Name of the subscription
|
|
149
|
+
account : Account identifier
|
|
150
|
+
filter_ : Dictionary of attributes by which the input data should be filtered
|
|
151
|
+
Example: `{'dsn': 'data11_hi*.express_express.*,data11_hi*physics_MinBiasOverlay*', 'account': 'tzero'}`
|
|
152
|
+
replication_rules : Replication rules to be set. Dictionary with keys copies, rse_expression, weight, rse_expression
|
|
153
|
+
comments : Comments for the subscription
|
|
154
|
+
lifetime : Subscription's lifetime (days); False if subscription has no lifetime
|
|
155
|
+
retroactive : Flag to know if the subscription should be applied on previous data
|
|
156
|
+
dry_run : Just print the subscriptions actions without actually executing them (Useful if retroactive flag is set)
|
|
157
|
+
priority : The priority of the subscription
|
|
158
|
+
|
|
159
|
+
Raises
|
|
160
|
+
------
|
|
161
|
+
NotFound
|
|
162
|
+
If subscription is not found
|
|
134
163
|
"""
|
|
135
164
|
if not account:
|
|
136
165
|
account = self.account
|
|
@@ -159,8 +188,12 @@ class SubscriptionClient(BaseClient):
|
|
|
159
188
|
"""
|
|
160
189
|
List the associated rules of a subscription.
|
|
161
190
|
|
|
162
|
-
|
|
163
|
-
|
|
191
|
+
Parameters
|
|
192
|
+
----------
|
|
193
|
+
account :
|
|
194
|
+
Account of the subscription.
|
|
195
|
+
name :
|
|
196
|
+
Name of the subscription.
|
|
164
197
|
"""
|
|
165
198
|
|
|
166
199
|
path = '/'.join([self.SUB_BASEURL, account, name, 'rules'])
|
rucio/client/touchclient.py
CHANGED
|
@@ -40,13 +40,22 @@ class TouchClient(BaseClient):
|
|
|
40
40
|
"""
|
|
41
41
|
Sends a touch trace for a given file or dataset.
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
Parameters
|
|
44
|
+
----------
|
|
45
|
+
scope : The scope of the file/dataset to update.
|
|
46
|
+
name : The name of file/dataset to update.
|
|
47
|
+
rse : Optional parameter if a specific replica should be touched.
|
|
48
|
+
|
|
49
|
+
Raises
|
|
50
|
+
------
|
|
51
|
+
DataIdentifierNotFound
|
|
52
|
+
If given dids does not exist.
|
|
53
|
+
RSENotFound
|
|
54
|
+
If rse is not None and given rse does not exist.
|
|
55
|
+
UnsupportedDIDType
|
|
56
|
+
If type of the given DID is not FILE or DATASET.
|
|
57
|
+
RucioException
|
|
58
|
+
If trace could not be sent successfully.
|
|
50
59
|
"""
|
|
51
60
|
|
|
52
61
|
trace = {}
|
rucio/common/plugins.py
CHANGED
|
@@ -156,7 +156,7 @@ class PolicyPackageAlgorithms:
|
|
|
156
156
|
# import from utils here to avoid circular import
|
|
157
157
|
|
|
158
158
|
env_name = 'RUCIO_POLICY_PACKAGE' + ('' if not vo else '_' + vo.upper())
|
|
159
|
-
package =
|
|
159
|
+
package = os.getenv(env_name, "")
|
|
160
160
|
if not package:
|
|
161
161
|
package = str(config.config_get('policy', 'package' + ('' if not vo else '-' + vo)))
|
|
162
162
|
|
rucio/vcsversion.py
CHANGED
|
@@ -4,8 +4,8 @@ This file is automatically generated; Do not edit it. :)
|
|
|
4
4
|
'''
|
|
5
5
|
VERSION_INFO = {
|
|
6
6
|
'final': True,
|
|
7
|
-
'version': '37.
|
|
7
|
+
'version': '37.4.0',
|
|
8
8
|
'branch_nick': 'release-37',
|
|
9
|
-
'revision_id': '
|
|
10
|
-
'revno':
|
|
9
|
+
'revision_id': '20eed71b1dd6d1d8e550966b7d40ea730a16c7d8',
|
|
10
|
+
'revno': 13754
|
|
11
11
|
}
|
|
@@ -116,7 +116,6 @@ metrics_port = 8080
|
|
|
116
116
|
[conveyor]
|
|
117
117
|
scheme = srm,gsiftp,root,http,https
|
|
118
118
|
transfertool = fts3
|
|
119
|
-
ftshosts = https://fts3-pilot.cern.ch:8446, https://fts3-pilot.cern.ch:8446
|
|
120
119
|
cacert = /opt/rucio/etc/web/ca.crt
|
|
121
120
|
usercert = /opt/rucio/tools/x509up
|
|
122
121
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
rucio/__init__.py,sha256=Y7cPPlHVQPFyN8bSPFC0W3WViEdONr5g_qwBub5rufE,660
|
|
2
2
|
rucio/alembicrevision.py,sha256=lNSQZYA4U_fsMW8l0dHpiV243XZhioqvVo9ihmpuQBo,690
|
|
3
|
-
rucio/vcsversion.py,sha256=
|
|
3
|
+
rucio/vcsversion.py,sha256=KzL-fCgcmR0Ut9LUIsgwG_O5DxkM-hvyOmUyYl75wsE,244
|
|
4
4
|
rucio/version.py,sha256=IwsNb1QQk0D092QQbR2K9wBPF2Akny1RGs-ZZziUohE,1519
|
|
5
5
|
rucio/cli/__init__.py,sha256=GIkHmxgE3xdvWSf-7ZnvVaJmbs7NokaSjbFzsrXOG9o,662
|
|
6
6
|
rucio/cli/account.py,sha256=7YWLfmiplhCjaaHNSYBzd7d_4yYzxUSRrsT0xGcNr2w,9452
|
|
@@ -11,7 +11,7 @@ rucio/cli/download.py,sha256=nltAf8nm8P6nrfIu0CUveY4YM6oL5nSR3w6yS4qBbw0,6248
|
|
|
11
11
|
rucio/cli/lifetime_exception.py,sha256=joi9HdaiYP_g3115IR_ImX7oFlEg1xbSaK-IzmoIVcY,1498
|
|
12
12
|
rucio/cli/replica.py,sha256=ZRvLONlD0enuuDLgDm5iAia-HEaOg8PDepJPImEu9fo,8169
|
|
13
13
|
rucio/cli/rse.py,sha256=rb4Cdo5Ywb4qbwXe0y7g8ctgZq03Mn9JgddkhdDgDHI,11619
|
|
14
|
-
rucio/cli/rule.py,sha256=
|
|
14
|
+
rucio/cli/rule.py,sha256=NZAMXIWesI85v-5xuv9aQWoNouDcGq7ve_dpamYuuMk,8808
|
|
15
15
|
rucio/cli/scope.py,sha256=0AuXGSQWYOas1EgkFq6KCuwqh_fuMzUgnp_jqQ_Y2t0,1574
|
|
16
16
|
rucio/cli/subscription.py,sha256=fWUrdP1TIrrWXmmWODTHh4fCmIW-LFLNrv3OYJXUAYM,4269
|
|
17
17
|
rucio/cli/upload.py,sha256=29gJGfb7jsiA6-UwPCSg1kGZu-OJ-bdxUZr27S2mJEM,3237
|
|
@@ -20,30 +20,30 @@ rucio/cli/bin_legacy/__init__.py,sha256=Q91iipvMQ0VzNMuYcYQfDujZ0vL-hrB4Kmd0Yrgt
|
|
|
20
20
|
rucio/cli/bin_legacy/rucio.py,sha256=cDUeMb_K38jGWmPM4oZh-s4iKLbwnEAvgGMq8wHec3g,144678
|
|
21
21
|
rucio/cli/bin_legacy/rucio_admin.py,sha256=Lw_fYlTUG-5fcTRpgcdHxDN63jyaTjZRbx8DaciQYAc,140847
|
|
22
22
|
rucio/client/__init__.py,sha256=0-jkSlrJf-eqbN4swA5a07eaWd6_6JXPQPLXMs4A3iI,660
|
|
23
|
-
rucio/client/accountclient.py,sha256=
|
|
24
|
-
rucio/client/accountlimitclient.py,sha256=
|
|
25
|
-
rucio/client/baseclient.py,sha256=
|
|
26
|
-
rucio/client/client.py,sha256=
|
|
27
|
-
rucio/client/configclient.py,sha256=
|
|
28
|
-
rucio/client/credentialclient.py,sha256=
|
|
29
|
-
rucio/client/didclient.py,sha256=
|
|
30
|
-
rucio/client/diracclient.py,sha256=
|
|
31
|
-
rucio/client/downloadclient.py,sha256=
|
|
32
|
-
rucio/client/exportclient.py,sha256=
|
|
33
|
-
rucio/client/fileclient.py,sha256=
|
|
34
|
-
rucio/client/importclient.py,sha256=
|
|
35
|
-
rucio/client/lifetimeclient.py,sha256=
|
|
36
|
-
rucio/client/lockclient.py,sha256=
|
|
37
|
-
rucio/client/metaconventionsclient.py,sha256=
|
|
38
|
-
rucio/client/pingclient.py,sha256=
|
|
39
|
-
rucio/client/replicaclient.py,sha256=
|
|
40
|
-
rucio/client/requestclient.py,sha256=
|
|
23
|
+
rucio/client/accountclient.py,sha256=kScbVL9rR8pyZRmETOyz_gwffc7biaPriMgDnCLxA_0,18864
|
|
24
|
+
rucio/client/accountlimitclient.py,sha256=SWYdRMAMibWLZOhFb3HBI9vLvmp2uYjEhtM2ej1iGzQ,6905
|
|
25
|
+
rucio/client/baseclient.py,sha256=OgIR6Onvvh0fyO_AR_ft9k_KyXgW7pac6goB9qRNnSA,50274
|
|
26
|
+
rucio/client/client.py,sha256=XEDzDmujYyTYnSbQOBh19XirM-gxnTWC6Xy6oXjFgNk,4409
|
|
27
|
+
rucio/client/configclient.py,sha256=pbp_yEem7g8JTVVOMY-ehMyLh6T3Rxf1AxCluLE-JE8,4800
|
|
28
|
+
rucio/client/credentialclient.py,sha256=q4i_t-dIiojRmiY70iuJsAgnPqaZVwkJLbThxoc8_9k,2214
|
|
29
|
+
rucio/client/didclient.py,sha256=AbS_RFD1_jIcr_jm5H6XYn4PVzsq288C79K1-hWa5NQ,34619
|
|
30
|
+
rucio/client/diracclient.py,sha256=hgF_eF5_NfY0UTedrXMtmuwT4rVgCf3-bdsv7VhObDA,2467
|
|
31
|
+
rucio/client/downloadclient.py,sha256=sN33aiGqPVWAufeMs5p2Drj5gPHZVbbVEIkXONHu54s,91645
|
|
32
|
+
rucio/client/exportclient.py,sha256=vxH12KqLjaOQxQRkA95oZnJWjPJgEMBtvmo0NReurug,1713
|
|
33
|
+
rucio/client/fileclient.py,sha256=akpgLwhbRTWNriyI8yGWTGgXbTu-Ka5jmwwVdJBwmVw,1756
|
|
34
|
+
rucio/client/importclient.py,sha256=KeEWZhjrsAR5Km_UXwwH7hzgEo9ACJaJXN6de87txe4,1560
|
|
35
|
+
rucio/client/lifetimeclient.py,sha256=lAtAzia-UWMzzkcFGPQ72kaiSe1iIbIaCBrxK0bD3GQ,5958
|
|
36
|
+
rucio/client/lockclient.py,sha256=LNHjdNRi5ST8KqVBR9SAiaygPF5zmRR7hendaBF21uE,4421
|
|
37
|
+
rucio/client/metaconventionsclient.py,sha256=tYvqXtcByiINcmZe0nT5Id2VuyJ2EDDUP2vfOPO6_yY,5655
|
|
38
|
+
rucio/client/pingclient.py,sha256=DU3HXbvEYsbo-3V1PypOXcMMfmYeiUHBAf9mdYM7LZM,1418
|
|
39
|
+
rucio/client/replicaclient.py,sha256=C7t-nw1Ou0W-Ni9PUpdzTDLtIbz0cIgANX387KORUB8,20591
|
|
40
|
+
rucio/client/requestclient.py,sha256=veFhd7r2zx5Rg-N8q8keR5qL43F4ec549SigyC5z1Lc,8549
|
|
41
41
|
rucio/client/richclient.py,sha256=kP6cHQsvCtKEl1c2fycqpDjfLrMAzaMxuZA_kWddm08,10111
|
|
42
|
-
rucio/client/rseclient.py,sha256=
|
|
43
|
-
rucio/client/ruleclient.py,sha256=
|
|
44
|
-
rucio/client/scopeclient.py,sha256
|
|
45
|
-
rucio/client/subscriptionclient.py,sha256=
|
|
46
|
-
rucio/client/touchclient.py,sha256=
|
|
42
|
+
rucio/client/rseclient.py,sha256=4R-WcCROjPRfWjcWuFM7itf4vmRRk0qvOa-itnTlZ8w,31858
|
|
43
|
+
rucio/client/ruleclient.py,sha256=tlYRFMKVwjCuzketqg2F4XoGydbhNAjkOnm1BGUZEVg,13639
|
|
44
|
+
rucio/client/scopeclient.py,sha256=-rXLdXScKeXavOaw9EwBHYo4SXwfcuqsOG6yGMIBWyM,3485
|
|
45
|
+
rucio/client/subscriptionclient.py,sha256=SVCOSfwJGSx-DRGznMFnt8ez1zqvGfpIKne9f7DhdNo,8417
|
|
46
|
+
rucio/client/touchclient.py,sha256=YFjoxiFuOEpLOEfgEvw7mkkl558uWX-7F-3mqCMfG-Y,2822
|
|
47
47
|
rucio/client/uploadclient.py,sha256=ux32JMceTNwZ82UL_wQpUJbI7USgMIk4ZYjmiD5KNuM,50407
|
|
48
48
|
rucio/common/__init__.py,sha256=Q91iipvMQ0VzNMuYcYQfDujZ0vL-hrB4Kmd0YrgtHGQ,618
|
|
49
49
|
rucio/common/bittorrent.py,sha256=cpz-axibeHmO-Nk3-RH5JTvF6PjvmrRY0rOCgRjmaHk,8834
|
|
@@ -58,7 +58,7 @@ rucio/common/exception.py,sha256=U4Jnpv8QTkNmMG2scV4bYNzOqLsMnfrmiGeSH-P_B_g,345
|
|
|
58
58
|
rucio/common/extra.py,sha256=IE01275vTJobyNiYbptU9NmsUl2Ga_92FSoOODV8Qfk,1054
|
|
59
59
|
rucio/common/logging.py,sha256=_G1QDFpPLghz2VXOjdhC7j-TtZBxmPJsyJtztW7mf68,15874
|
|
60
60
|
rucio/common/pcache.py,sha256=pgIfBJxXYPWlD70l8g3-CVTizk_UfzaZxE27NhTvq6w,47001
|
|
61
|
-
rucio/common/plugins.py,sha256=
|
|
61
|
+
rucio/common/plugins.py,sha256=xp9Fzy9mN6JjZcE2flF-OpzC3Husj57MYk7clLlTDNY,7273
|
|
62
62
|
rucio/common/policy.py,sha256=2ByqoQQp4jpHdnnpq4-Ie7GwHslP8S9Zfu8qOqgzukU,3490
|
|
63
63
|
rucio/common/stomp_utils.py,sha256=3GTiRTJ0roe5OX_wgkVwOJYAIhGgYbhiROHc2M8LQT8,5414
|
|
64
64
|
rucio/common/stopwatch.py,sha256=_9zxoLjr8A0wUDJsljK4vZNDCI-dIOgpcxXiCNVJcHU,1641
|
|
@@ -89,16 +89,16 @@ rucio/rse/protocols/ssh.py,sha256=pHPAQx2bPNkMrtqbCqDfq7OXoy7XphQ-i2Stzdvnf1k,17
|
|
|
89
89
|
rucio/rse/protocols/storm.py,sha256=Z4fzklxG-x70A0Lugg1jE1RicwCSeF27iz0MXO-4to0,7864
|
|
90
90
|
rucio/rse/protocols/webdav.py,sha256=nNMWEVqO1nYxJWrCVBoWLhG-XG2-ee5CL5H_MNRwkg0,24513
|
|
91
91
|
rucio/rse/protocols/xrootd.py,sha256=oJHueVR44dcW5nkg8jCbr9PetV9UIti3C0tka_m7yIk,12604
|
|
92
|
-
rucio_clients-37.
|
|
93
|
-
rucio_clients-37.
|
|
94
|
-
rucio_clients-37.
|
|
95
|
-
rucio_clients-37.
|
|
96
|
-
rucio_clients-37.
|
|
97
|
-
rucio_clients-37.
|
|
98
|
-
rucio_clients-37.
|
|
99
|
-
rucio_clients-37.
|
|
100
|
-
rucio_clients-37.
|
|
101
|
-
rucio_clients-37.
|
|
102
|
-
rucio_clients-37.
|
|
103
|
-
rucio_clients-37.
|
|
104
|
-
rucio_clients-37.
|
|
92
|
+
rucio_clients-37.4.0.data/data/requirements.client.txt,sha256=uGqQvHApEbAsTgkHDqGFTmPmKtd2vL7o4rv4LO8ikjM,1790
|
|
93
|
+
rucio_clients-37.4.0.data/data/etc/rse-accounts.cfg.template,sha256=IfDnXVxBPUrMnTMbJnd3P7eYHgY1C4Kfz7xKskJs-FI,543
|
|
94
|
+
rucio_clients-37.4.0.data/data/etc/rucio.cfg.atlas.client.template,sha256=aHP1oX9m5yA8xVTTT2Hz6AyOYu92-Bcd5LF0i3AZRQw,1350
|
|
95
|
+
rucio_clients-37.4.0.data/data/etc/rucio.cfg.template,sha256=wBFnaJrJmaYw3B6cZbsVzU-16pdyNJ8L86GZNJMp1Ng,8005
|
|
96
|
+
rucio_clients-37.4.0.data/data/rucio_client/merge_rucio_configs.py,sha256=u62K1EcCGydM5nZA30zhlqWo4EX5N87b_MDkx5YfzVI,6163
|
|
97
|
+
rucio_clients-37.4.0.data/scripts/rucio,sha256=xQRL_0mwut48KxOgWZexsSx9jfnaZHqSTAo7OnCHAgA,5081
|
|
98
|
+
rucio_clients-37.4.0.data/scripts/rucio-admin,sha256=AhPO6-fAPviHObhB_Yi7GJXKfjpaH6m0RqxwctBeFlE,4229
|
|
99
|
+
rucio_clients-37.4.0.dist-info/licenses/AUTHORS.rst,sha256=c4MEJjLcFZ5euNtPA7jGFL26javbFKpWTvxBoIs_l6w,4726
|
|
100
|
+
rucio_clients-37.4.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
101
|
+
rucio_clients-37.4.0.dist-info/METADATA,sha256=0Cxc4hx8WxaiDtsTiKCO2iWXZfDNs6aWeksCoHBIoA0,1747
|
|
102
|
+
rucio_clients-37.4.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
|
103
|
+
rucio_clients-37.4.0.dist-info/top_level.txt,sha256=lJM8plwW0ePPICkwFnpYzfdqHnSv6JZr1OD4JEysPgM,6
|
|
104
|
+
rucio_clients-37.4.0.dist-info/RECORD,,
|