rucio-clients 32.8.6__py3-none-any.whl → 35.8.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/__init__.py +0 -1
- rucio/alembicrevision.py +1 -2
- rucio/client/__init__.py +0 -1
- rucio/client/accountclient.py +45 -25
- rucio/client/accountlimitclient.py +37 -9
- rucio/client/baseclient.py +199 -154
- rucio/client/client.py +2 -3
- rucio/client/configclient.py +19 -6
- rucio/client/credentialclient.py +9 -4
- rucio/client/didclient.py +238 -63
- rucio/client/diracclient.py +13 -5
- rucio/client/downloadclient.py +162 -51
- rucio/client/exportclient.py +4 -4
- rucio/client/fileclient.py +3 -4
- rucio/client/importclient.py +4 -4
- rucio/client/lifetimeclient.py +21 -5
- rucio/client/lockclient.py +18 -8
- rucio/client/{metaclient.py → metaconventionsclient.py} +18 -15
- rucio/client/pingclient.py +0 -1
- rucio/client/replicaclient.py +15 -5
- rucio/client/requestclient.py +35 -19
- rucio/client/rseclient.py +133 -51
- rucio/client/ruleclient.py +29 -22
- rucio/client/scopeclient.py +8 -6
- rucio/client/subscriptionclient.py +47 -35
- rucio/client/touchclient.py +8 -4
- rucio/client/uploadclient.py +166 -82
- rucio/common/__init__.py +0 -1
- rucio/common/cache.py +4 -4
- rucio/common/config.py +52 -47
- rucio/common/constants.py +69 -2
- rucio/common/constraints.py +0 -1
- rucio/common/didtype.py +24 -22
- rucio/common/exception.py +281 -222
- rucio/common/extra.py +0 -1
- rucio/common/logging.py +54 -38
- rucio/common/pcache.py +122 -101
- rucio/common/plugins.py +153 -0
- rucio/common/policy.py +4 -4
- rucio/common/schema/__init__.py +17 -10
- rucio/common/schema/atlas.py +7 -5
- rucio/common/schema/belleii.py +7 -5
- rucio/common/schema/domatpc.py +7 -5
- rucio/common/schema/escape.py +7 -5
- rucio/common/schema/generic.py +8 -6
- rucio/common/schema/generic_multi_vo.py +7 -5
- rucio/common/schema/icecube.py +7 -5
- rucio/common/stomp_utils.py +0 -1
- rucio/common/stopwatch.py +0 -1
- rucio/common/test_rucio_server.py +2 -2
- rucio/common/types.py +262 -17
- rucio/common/utils.py +743 -451
- rucio/rse/__init__.py +3 -4
- rucio/rse/protocols/__init__.py +0 -1
- rucio/rse/protocols/bittorrent.py +184 -0
- rucio/rse/protocols/cache.py +1 -2
- rucio/rse/protocols/dummy.py +1 -2
- rucio/rse/protocols/gfal.py +12 -10
- rucio/rse/protocols/globus.py +7 -7
- rucio/rse/protocols/gsiftp.py +2 -3
- rucio/rse/protocols/http_cache.py +1 -2
- rucio/rse/protocols/mock.py +1 -2
- rucio/rse/protocols/ngarc.py +1 -2
- rucio/rse/protocols/posix.py +12 -13
- rucio/rse/protocols/protocol.py +116 -52
- rucio/rse/protocols/rclone.py +6 -7
- rucio/rse/protocols/rfio.py +4 -5
- rucio/rse/protocols/srm.py +9 -10
- rucio/rse/protocols/ssh.py +8 -9
- rucio/rse/protocols/storm.py +2 -3
- rucio/rse/protocols/webdav.py +17 -14
- rucio/rse/protocols/xrootd.py +23 -17
- rucio/rse/rsemanager.py +19 -7
- rucio/vcsversion.py +4 -4
- rucio/version.py +5 -13
- rucio_clients-35.8.0.data/data/requirements.client.txt +15 -0
- {rucio_clients-32.8.6.data → rucio_clients-35.8.0.data}/data/rucio_client/merge_rucio_configs.py +2 -5
- {rucio_clients-32.8.6.data → rucio_clients-35.8.0.data}/scripts/rucio +87 -85
- {rucio_clients-32.8.6.data → rucio_clients-35.8.0.data}/scripts/rucio-admin +45 -32
- {rucio_clients-32.8.6.dist-info → rucio_clients-35.8.0.dist-info}/METADATA +13 -13
- rucio_clients-35.8.0.dist-info/RECORD +88 -0
- {rucio_clients-32.8.6.dist-info → rucio_clients-35.8.0.dist-info}/WHEEL +1 -1
- {rucio_clients-32.8.6.dist-info → rucio_clients-35.8.0.dist-info}/licenses/AUTHORS.rst +3 -0
- rucio/common/schema/cms.py +0 -478
- rucio/common/schema/lsst.py +0 -423
- rucio_clients-32.8.6.data/data/requirements.txt +0 -55
- rucio_clients-32.8.6.dist-info/RECORD +0 -88
- {rucio_clients-32.8.6.data → rucio_clients-35.8.0.data}/data/etc/rse-accounts.cfg.template +0 -0
- {rucio_clients-32.8.6.data → rucio_clients-35.8.0.data}/data/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio_clients-32.8.6.data → rucio_clients-35.8.0.data}/data/etc/rucio.cfg.template +0 -0
- {rucio_clients-32.8.6.dist-info → rucio_clients-35.8.0.dist-info}/licenses/LICENSE +0 -0
- {rucio_clients-32.8.6.dist-info → rucio_clients-35.8.0.dist-info}/top_level.txt +0 -0
rucio/common/exception.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
# Copyright European Organization for Nuclear Research (CERN) since 2012
|
|
3
2
|
#
|
|
4
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -31,20 +30,15 @@ class RucioException(Exception):
|
|
|
31
30
|
with the keyword arguments provided to the constructor.
|
|
32
31
|
"""
|
|
33
32
|
|
|
34
|
-
def __init__(self, *args
|
|
35
|
-
super(RucioException, self).__init__(*args
|
|
33
|
+
def __init__(self, *args):
|
|
34
|
+
super(RucioException, self).__init__(*args)
|
|
36
35
|
self._message = "An unknown exception occurred."
|
|
37
36
|
self.args = args
|
|
38
|
-
self.kwargs = kwargs
|
|
39
37
|
self.error_code = 1
|
|
40
38
|
self._error_string = None
|
|
41
39
|
|
|
42
40
|
def __str__(self):
|
|
43
|
-
|
|
44
|
-
self._error_string = self._message % self.kwargs
|
|
45
|
-
except Exception:
|
|
46
|
-
# at least get the core message out if something happened
|
|
47
|
-
self._error_string = self._message
|
|
41
|
+
self._error_string = self._message
|
|
48
42
|
if len(self.args) > 0:
|
|
49
43
|
# If there is a non-kwarg parameter, assume it's the error
|
|
50
44
|
# message or reason description and tack it on to the end
|
|
@@ -61,8 +55,8 @@ class AccessDenied(RucioException):
|
|
|
61
55
|
"""
|
|
62
56
|
AccessDenied
|
|
63
57
|
"""
|
|
64
|
-
def __init__(self, *args
|
|
65
|
-
super(AccessDenied, self).__init__(*args
|
|
58
|
+
def __init__(self, *args):
|
|
59
|
+
super(AccessDenied, self).__init__(*args)
|
|
66
60
|
self._message = "Access to the requested resource denied."
|
|
67
61
|
self.error_code = 2
|
|
68
62
|
|
|
@@ -71,8 +65,8 @@ class AccountNotFound(RucioException):
|
|
|
71
65
|
"""
|
|
72
66
|
AccountNotFound
|
|
73
67
|
"""
|
|
74
|
-
def __init__(self, *args
|
|
75
|
-
super(AccountNotFound, self).__init__(*args
|
|
68
|
+
def __init__(self, *args):
|
|
69
|
+
super(AccountNotFound, self).__init__(*args)
|
|
76
70
|
self._message = "Account does not exist."
|
|
77
71
|
self.error_code = 3
|
|
78
72
|
|
|
@@ -81,8 +75,8 @@ class CannotAuthenticate(RucioException):
|
|
|
81
75
|
"""
|
|
82
76
|
CannotAuthenticate
|
|
83
77
|
"""
|
|
84
|
-
def __init__(self, *args
|
|
85
|
-
super(CannotAuthenticate, self).__init__(*args
|
|
78
|
+
def __init__(self, *args):
|
|
79
|
+
super(CannotAuthenticate, self).__init__(*args)
|
|
86
80
|
self._message = "Cannot authenticate."
|
|
87
81
|
self.error_code = 4
|
|
88
82
|
|
|
@@ -91,8 +85,8 @@ class ClientParameterMismatch(RucioException):
|
|
|
91
85
|
"""
|
|
92
86
|
RucioException
|
|
93
87
|
"""
|
|
94
|
-
def __init__(self, *args
|
|
95
|
-
super(ClientParameterMismatch, self).__init__(*args
|
|
88
|
+
def __init__(self, *args):
|
|
89
|
+
super(ClientParameterMismatch, self).__init__(*args)
|
|
96
90
|
self._message = "Client parameters don\'t match."
|
|
97
91
|
self.error_code = 5
|
|
98
92
|
|
|
@@ -101,8 +95,8 @@ class ClientProtocolNotSupported(RucioException):
|
|
|
101
95
|
"""
|
|
102
96
|
RucioException
|
|
103
97
|
"""
|
|
104
|
-
def __init__(self, *args
|
|
105
|
-
super(ClientProtocolNotSupported, self).__init__(*args
|
|
98
|
+
def __init__(self, *args):
|
|
99
|
+
super(ClientProtocolNotSupported, self).__init__(*args)
|
|
106
100
|
self._message = "Client protocol not supported."
|
|
107
101
|
self.error_code = 6
|
|
108
102
|
|
|
@@ -111,8 +105,8 @@ class ConfigNotFound(RucioException):
|
|
|
111
105
|
"""
|
|
112
106
|
RucioException
|
|
113
107
|
"""
|
|
114
|
-
def __init__(self, *args
|
|
115
|
-
super(ConfigNotFound, self).__init__(*args
|
|
108
|
+
def __init__(self, *args):
|
|
109
|
+
super(ConfigNotFound, self).__init__(*args)
|
|
116
110
|
self._message = "Configuration not found."
|
|
117
111
|
self.error_code = 7
|
|
118
112
|
|
|
@@ -121,8 +115,8 @@ class ConfigurationError(RucioException):
|
|
|
121
115
|
"""
|
|
122
116
|
RucioException
|
|
123
117
|
"""
|
|
124
|
-
def __init__(self, *args
|
|
125
|
-
super(ConfigurationError, self).__init__(*args
|
|
118
|
+
def __init__(self, *args):
|
|
119
|
+
super(ConfigurationError, self).__init__(*args)
|
|
126
120
|
self._message = "Error during configuration."
|
|
127
121
|
self.error_code = 8
|
|
128
122
|
|
|
@@ -131,8 +125,8 @@ class CounterNotFound(RucioException):
|
|
|
131
125
|
"""
|
|
132
126
|
RucioException
|
|
133
127
|
"""
|
|
134
|
-
def __init__(self, *args
|
|
135
|
-
super(CounterNotFound, self).__init__(*args
|
|
128
|
+
def __init__(self, *args):
|
|
129
|
+
super(CounterNotFound, self).__init__(*args)
|
|
136
130
|
self._message = "The requested counter does not exist."
|
|
137
131
|
self.error_code = 9
|
|
138
132
|
|
|
@@ -141,8 +135,8 @@ class DatabaseException(RucioException):
|
|
|
141
135
|
"""
|
|
142
136
|
RucioException
|
|
143
137
|
"""
|
|
144
|
-
def __init__(self, *args
|
|
145
|
-
super(DatabaseException, self).__init__(*args
|
|
138
|
+
def __init__(self, *args):
|
|
139
|
+
super(DatabaseException, self).__init__(*args)
|
|
146
140
|
self._message = "Database exception."
|
|
147
141
|
self.error_code = 10
|
|
148
142
|
|
|
@@ -151,8 +145,8 @@ class DataIdentifierAlreadyExists(RucioException):
|
|
|
151
145
|
"""
|
|
152
146
|
RucioException
|
|
153
147
|
"""
|
|
154
|
-
def __init__(self, *args
|
|
155
|
-
super(DataIdentifierAlreadyExists, self).__init__(*args
|
|
148
|
+
def __init__(self, *args):
|
|
149
|
+
super(DataIdentifierAlreadyExists, self).__init__(*args)
|
|
156
150
|
self._message = "Data Identifier Already Exists."
|
|
157
151
|
self.error_code = 11
|
|
158
152
|
|
|
@@ -161,8 +155,8 @@ class DataIdentifierNotFound(RucioException):
|
|
|
161
155
|
"""
|
|
162
156
|
RucioException
|
|
163
157
|
"""
|
|
164
|
-
def __init__(self, *args
|
|
165
|
-
super(DataIdentifierNotFound, self).__init__(*args
|
|
158
|
+
def __init__(self, *args):
|
|
159
|
+
super(DataIdentifierNotFound, self).__init__(*args)
|
|
166
160
|
self._message = "Data identifier not found."
|
|
167
161
|
self.error_code = 12
|
|
168
162
|
|
|
@@ -171,8 +165,8 @@ class DestinationNotAccessible(RucioException):
|
|
|
171
165
|
"""
|
|
172
166
|
RucioException
|
|
173
167
|
"""
|
|
174
|
-
def __init__(self, *args
|
|
175
|
-
super(DestinationNotAccessible, self).__init__(*args
|
|
168
|
+
def __init__(self, *args):
|
|
169
|
+
super(DestinationNotAccessible, self).__init__(*args)
|
|
176
170
|
self._message = "Access to local destination denied."
|
|
177
171
|
self.error_code = 13
|
|
178
172
|
|
|
@@ -181,8 +175,8 @@ class Duplicate(RucioException):
|
|
|
181
175
|
"""
|
|
182
176
|
RucioException
|
|
183
177
|
"""
|
|
184
|
-
def __init__(self, *args
|
|
185
|
-
super(Duplicate, self).__init__(*args
|
|
178
|
+
def __init__(self, *args):
|
|
179
|
+
super(Duplicate, self).__init__(*args)
|
|
186
180
|
self._message = "An object with the same identifier already exists."
|
|
187
181
|
self.error_code = 14
|
|
188
182
|
|
|
@@ -191,8 +185,8 @@ class DuplicateContent(RucioException):
|
|
|
191
185
|
"""
|
|
192
186
|
RucioException
|
|
193
187
|
"""
|
|
194
|
-
def __init__(self, *args
|
|
195
|
-
super(DuplicateContent, self).__init__(*args
|
|
188
|
+
def __init__(self, *args):
|
|
189
|
+
super(DuplicateContent, self).__init__(*args)
|
|
196
190
|
self._message = "Data identifier already added to the destination content."
|
|
197
191
|
self.error_code = 15
|
|
198
192
|
|
|
@@ -201,8 +195,8 @@ class DuplicateRule(RucioException):
|
|
|
201
195
|
"""
|
|
202
196
|
RucioException
|
|
203
197
|
"""
|
|
204
|
-
def __init__(self, *args
|
|
205
|
-
super(DuplicateRule, self).__init__(*args
|
|
198
|
+
def __init__(self, *args):
|
|
199
|
+
super(DuplicateRule, self).__init__(*args)
|
|
206
200
|
self._message = "A duplicate rule for this account, did, rse_expression, copies already exists."
|
|
207
201
|
self.error_code = 16
|
|
208
202
|
|
|
@@ -211,8 +205,8 @@ class ErrorLoadingCredentials(RucioException):
|
|
|
211
205
|
"""
|
|
212
206
|
RucioException
|
|
213
207
|
"""
|
|
214
|
-
def __init__(self, *args
|
|
215
|
-
super(ErrorLoadingCredentials, self).__init__(*args
|
|
208
|
+
def __init__(self, *args):
|
|
209
|
+
super(ErrorLoadingCredentials, self).__init__(*args)
|
|
216
210
|
self._message = "Unable to to load user credentials."
|
|
217
211
|
self.error_code = 17
|
|
218
212
|
|
|
@@ -221,8 +215,8 @@ class FileAlreadyExists(RucioException):
|
|
|
221
215
|
"""
|
|
222
216
|
RucioException
|
|
223
217
|
"""
|
|
224
|
-
def __init__(self, *args
|
|
225
|
-
super(FileAlreadyExists, self).__init__(*args
|
|
218
|
+
def __init__(self, *args):
|
|
219
|
+
super(FileAlreadyExists, self).__init__(*args)
|
|
226
220
|
self._message = "The file already exists."
|
|
227
221
|
self.error_code = 18
|
|
228
222
|
|
|
@@ -231,8 +225,8 @@ class FileConsistencyMismatch(RucioException):
|
|
|
231
225
|
"""
|
|
232
226
|
RucioException
|
|
233
227
|
"""
|
|
234
|
-
def __init__(self, *args
|
|
235
|
-
super(FileConsistencyMismatch, self).__init__(*args
|
|
228
|
+
def __init__(self, *args):
|
|
229
|
+
super(FileConsistencyMismatch, self).__init__(*args)
|
|
236
230
|
self._message = "Error related to file consistency."
|
|
237
231
|
self.error_code = 19
|
|
238
232
|
|
|
@@ -241,8 +235,8 @@ class FileReplicaAlreadyExists(RucioException):
|
|
|
241
235
|
"""
|
|
242
236
|
RucioException
|
|
243
237
|
"""
|
|
244
|
-
def __init__(self, *args
|
|
245
|
-
super(FileReplicaAlreadyExists, self).__init__(*args
|
|
238
|
+
def __init__(self, *args):
|
|
239
|
+
super(FileReplicaAlreadyExists, self).__init__(*args)
|
|
246
240
|
self._message = "File name in specified scope already exists"
|
|
247
241
|
self.error_code = 20
|
|
248
242
|
|
|
@@ -251,8 +245,8 @@ class ReplicaNotFound(RucioException):
|
|
|
251
245
|
"""
|
|
252
246
|
RucioException
|
|
253
247
|
"""
|
|
254
|
-
def __init__(self, *args
|
|
255
|
-
super(ReplicaNotFound, self).__init__(*args
|
|
248
|
+
def __init__(self, *args):
|
|
249
|
+
super(ReplicaNotFound, self).__init__(*args)
|
|
256
250
|
self._message = "Replica not found"
|
|
257
251
|
self.error_code = 21
|
|
258
252
|
|
|
@@ -261,8 +255,8 @@ class ReplicaUnAvailable(RucioException):
|
|
|
261
255
|
"""
|
|
262
256
|
RucioException
|
|
263
257
|
"""
|
|
264
|
-
def __init__(self, *args
|
|
265
|
-
super(ReplicaUnAvailable, self).__init__(*args
|
|
258
|
+
def __init__(self, *args):
|
|
259
|
+
super(ReplicaUnAvailable, self).__init__(*args)
|
|
266
260
|
self._message = "Replica unavailable"
|
|
267
261
|
self.error_code = 22
|
|
268
262
|
|
|
@@ -271,8 +265,8 @@ class FullStorage(RucioException):
|
|
|
271
265
|
"""
|
|
272
266
|
RucioException
|
|
273
267
|
"""
|
|
274
|
-
def __init__(self, *args
|
|
275
|
-
super(FullStorage, self).__init__(*args
|
|
268
|
+
def __init__(self, *args):
|
|
269
|
+
super(FullStorage, self).__init__(*args)
|
|
276
270
|
self._message = "The Referenced storage is out of disk space."
|
|
277
271
|
self.error_code = 23
|
|
278
272
|
|
|
@@ -281,15 +275,15 @@ class IdentityError(RucioException):
|
|
|
281
275
|
"""
|
|
282
276
|
RucioException
|
|
283
277
|
"""
|
|
284
|
-
def __init__(self, *args
|
|
285
|
-
super(IdentityError, self).__init__(*args
|
|
278
|
+
def __init__(self, *args):
|
|
279
|
+
super(IdentityError, self).__init__(*args)
|
|
286
280
|
self._message = "Identity error."
|
|
287
281
|
self.error_code = 24
|
|
288
282
|
|
|
289
283
|
|
|
290
284
|
class IdentityNotFound(RucioException):
|
|
291
|
-
def __init__(self, *args
|
|
292
|
-
super(IdentityNotFound, self).__init__(*args
|
|
285
|
+
def __init__(self, *args):
|
|
286
|
+
super(IdentityNotFound, self).__init__(*args)
|
|
293
287
|
self._message = "This identity does not exist."
|
|
294
288
|
self.error_code = 25
|
|
295
289
|
|
|
@@ -298,8 +292,8 @@ class InputValidationError(RucioException):
|
|
|
298
292
|
"""
|
|
299
293
|
RucioException
|
|
300
294
|
"""
|
|
301
|
-
def __init__(self, *args
|
|
302
|
-
super(InputValidationError, self).__init__(*args
|
|
295
|
+
def __init__(self, *args):
|
|
296
|
+
super(InputValidationError, self).__init__(*args)
|
|
303
297
|
self._message = "There is an error with one of the input parameters."
|
|
304
298
|
self.error_code = 26
|
|
305
299
|
|
|
@@ -308,8 +302,8 @@ class InsufficientAccountLimit(RucioException):
|
|
|
308
302
|
"""
|
|
309
303
|
RucioException
|
|
310
304
|
"""
|
|
311
|
-
def __init__(self, *args
|
|
312
|
-
super(InsufficientAccountLimit, self).__init__(*args
|
|
305
|
+
def __init__(self, *args):
|
|
306
|
+
super(InsufficientAccountLimit, self).__init__(*args)
|
|
313
307
|
self._message = "There is not enough quota left to fulfil the operation."
|
|
314
308
|
self.error_code = 27
|
|
315
309
|
|
|
@@ -318,8 +312,8 @@ class InsufficientTargetRSEs(RucioException):
|
|
|
318
312
|
"""
|
|
319
313
|
RucioException
|
|
320
314
|
"""
|
|
321
|
-
def __init__(self, *args
|
|
322
|
-
super(InsufficientTargetRSEs, self).__init__(*args
|
|
315
|
+
def __init__(self, *args):
|
|
316
|
+
super(InsufficientTargetRSEs, self).__init__(*args)
|
|
323
317
|
self._message = "There are not enough target RSEs to fulfil the request at this time."
|
|
324
318
|
self.error_code = 28
|
|
325
319
|
|
|
@@ -328,8 +322,8 @@ class InvalidMetadata(RucioException):
|
|
|
328
322
|
"""
|
|
329
323
|
RucioException
|
|
330
324
|
"""
|
|
331
|
-
def __init__(self, *args
|
|
332
|
-
super(InvalidMetadata, self).__init__(*args
|
|
325
|
+
def __init__(self, *args):
|
|
326
|
+
super(InvalidMetadata, self).__init__(*args)
|
|
333
327
|
self._message = "Provided metadata is considered invalid."
|
|
334
328
|
self.error_code = 29
|
|
335
329
|
|
|
@@ -338,8 +332,8 @@ class InvalidObject(RucioException):
|
|
|
338
332
|
"""
|
|
339
333
|
RucioException
|
|
340
334
|
"""
|
|
341
|
-
def __init__(self, *args
|
|
342
|
-
super(InvalidObject, self).__init__(*args
|
|
335
|
+
def __init__(self, *args):
|
|
336
|
+
super(InvalidObject, self).__init__(*args)
|
|
343
337
|
self._message = "Provided object does not match schema."
|
|
344
338
|
self.error_code = 30
|
|
345
339
|
|
|
@@ -348,8 +342,8 @@ class InvalidReplicationRule(RucioException):
|
|
|
348
342
|
"""
|
|
349
343
|
RucioException
|
|
350
344
|
"""
|
|
351
|
-
def __init__(self, *args
|
|
352
|
-
super(InvalidReplicationRule, self).__init__(*args
|
|
345
|
+
def __init__(self, *args):
|
|
346
|
+
super(InvalidReplicationRule, self).__init__(*args)
|
|
353
347
|
self._message = "Provided replication rule is considered invalid."
|
|
354
348
|
self.error_code = 31
|
|
355
349
|
|
|
@@ -358,8 +352,8 @@ class InvalidRSEExpression(RucioException):
|
|
|
358
352
|
"""
|
|
359
353
|
RucioException
|
|
360
354
|
"""
|
|
361
|
-
def __init__(self, *args
|
|
362
|
-
super(InvalidRSEExpression, self).__init__(*args
|
|
355
|
+
def __init__(self, *args):
|
|
356
|
+
super(InvalidRSEExpression, self).__init__(*args)
|
|
363
357
|
self._message = "Provided RSE expression is considered invalid."
|
|
364
358
|
self.error_code = 32
|
|
365
359
|
|
|
@@ -368,8 +362,8 @@ class InvalidRuleWeight(RucioException):
|
|
|
368
362
|
"""
|
|
369
363
|
RucioException
|
|
370
364
|
"""
|
|
371
|
-
def __init__(self, *args
|
|
372
|
-
super(InvalidRuleWeight, self).__init__(*args
|
|
365
|
+
def __init__(self, *args):
|
|
366
|
+
super(InvalidRuleWeight, self).__init__(*args)
|
|
373
367
|
self._message = "An invalid weight value/type is used for an RSE."
|
|
374
368
|
self.error_code = 33
|
|
375
369
|
|
|
@@ -378,8 +372,8 @@ class InvalidType(RucioException):
|
|
|
378
372
|
"""
|
|
379
373
|
RucioException
|
|
380
374
|
"""
|
|
381
|
-
def __init__(self, *args
|
|
382
|
-
super(InvalidType, self).__init__(*args
|
|
375
|
+
def __init__(self, *args):
|
|
376
|
+
super(InvalidType, self).__init__(*args)
|
|
383
377
|
self._message = "Provided type is considered invalid."
|
|
384
378
|
self.error_code = 34
|
|
385
379
|
|
|
@@ -388,8 +382,8 @@ class InvalidValueForKey(RucioException):
|
|
|
388
382
|
"""
|
|
389
383
|
RucioException
|
|
390
384
|
"""
|
|
391
|
-
def __init__(self, *args
|
|
392
|
-
super(InvalidValueForKey, self).__init__(*args
|
|
385
|
+
def __init__(self, *args):
|
|
386
|
+
super(InvalidValueForKey, self).__init__(*args)
|
|
393
387
|
self._message = "Invalid value for the key."
|
|
394
388
|
self.error_code = 35
|
|
395
389
|
|
|
@@ -398,8 +392,8 @@ class InvalidRequest(RucioException):
|
|
|
398
392
|
"""
|
|
399
393
|
RucioException
|
|
400
394
|
"""
|
|
401
|
-
def __init__(self, *args
|
|
402
|
-
super(InvalidRequest, self).__init__(*args
|
|
395
|
+
def __init__(self, *args):
|
|
396
|
+
super(InvalidRequest, self).__init__(*args)
|
|
403
397
|
self._message = "Request is considered invalid."
|
|
404
398
|
self.error_code = 36
|
|
405
399
|
|
|
@@ -408,8 +402,8 @@ class InvalidPath(RucioException):
|
|
|
408
402
|
"""
|
|
409
403
|
RucioException
|
|
410
404
|
"""
|
|
411
|
-
def __init__(self, *args
|
|
412
|
-
super(InvalidPath, self).__init__(*args
|
|
405
|
+
def __init__(self, *args):
|
|
406
|
+
super(InvalidPath, self).__init__(*args)
|
|
413
407
|
self._message = "The path provided is invalid."
|
|
414
408
|
self.error_code = 37
|
|
415
409
|
|
|
@@ -418,8 +412,8 @@ class KeyNotFound(RucioException):
|
|
|
418
412
|
"""
|
|
419
413
|
RucioException
|
|
420
414
|
"""
|
|
421
|
-
def __init__(self, *args
|
|
422
|
-
super(KeyNotFound, self).__init__(*args
|
|
415
|
+
def __init__(self, *args):
|
|
416
|
+
super(KeyNotFound, self).__init__(*args)
|
|
423
417
|
self._message = "Key does not exist."
|
|
424
418
|
self.error_code = 38
|
|
425
419
|
|
|
@@ -428,8 +422,8 @@ class LifetimeExceptionDuplicate(RucioException):
|
|
|
428
422
|
"""
|
|
429
423
|
RucioException
|
|
430
424
|
"""
|
|
431
|
-
def __init__(self, *args
|
|
432
|
-
super(LifetimeExceptionDuplicate, self).__init__(*args
|
|
425
|
+
def __init__(self, *args):
|
|
426
|
+
super(LifetimeExceptionDuplicate, self).__init__(*args)
|
|
433
427
|
self._message = "An exception already exists."
|
|
434
428
|
self.error_code = 39
|
|
435
429
|
|
|
@@ -438,8 +432,8 @@ class LifetimeExceptionNotFound(RucioException):
|
|
|
438
432
|
"""
|
|
439
433
|
RucioException
|
|
440
434
|
"""
|
|
441
|
-
def __init__(self, *args
|
|
442
|
-
super(LifetimeExceptionNotFound, self).__init__(*args
|
|
435
|
+
def __init__(self, *args):
|
|
436
|
+
super(LifetimeExceptionNotFound, self).__init__(*args)
|
|
443
437
|
self._message = "Exception does not exist."
|
|
444
438
|
self.error_code = 40
|
|
445
439
|
|
|
@@ -448,8 +442,8 @@ class ManualRuleApprovalBlocked(RucioException):
|
|
|
448
442
|
"""
|
|
449
443
|
RucioException
|
|
450
444
|
"""
|
|
451
|
-
def __init__(self, *args
|
|
452
|
-
super(ManualRuleApprovalBlocked, self).__init__(*args
|
|
445
|
+
def __init__(self, *args):
|
|
446
|
+
super(ManualRuleApprovalBlocked, self).__init__(*args)
|
|
453
447
|
self._message = "Manual rule approval is blocked on this RSE."
|
|
454
448
|
self.error_code = 41
|
|
455
449
|
|
|
@@ -458,8 +452,8 @@ class MissingClientParameter(RucioException):
|
|
|
458
452
|
"""
|
|
459
453
|
RucioException
|
|
460
454
|
"""
|
|
461
|
-
def __init__(self, *args
|
|
462
|
-
super(MissingClientParameter, self).__init__(*args
|
|
455
|
+
def __init__(self, *args):
|
|
456
|
+
super(MissingClientParameter, self).__init__(*args)
|
|
463
457
|
self._message = "Client parameters are missing."
|
|
464
458
|
self.error_code = 42
|
|
465
459
|
|
|
@@ -468,8 +462,8 @@ class MissingDependency(RucioException):
|
|
|
468
462
|
"""
|
|
469
463
|
RucioException
|
|
470
464
|
"""
|
|
471
|
-
def __init__(self, *args
|
|
472
|
-
super(MissingDependency, self).__init__(*args
|
|
465
|
+
def __init__(self, *args):
|
|
466
|
+
super(MissingDependency, self).__init__(*args)
|
|
473
467
|
self._message = "One dependency is missing."
|
|
474
468
|
self.error_code = 43
|
|
475
469
|
|
|
@@ -478,8 +472,8 @@ class MissingSourceReplica(RucioException):
|
|
|
478
472
|
"""
|
|
479
473
|
RucioException
|
|
480
474
|
"""
|
|
481
|
-
def __init__(self, *args
|
|
482
|
-
super(MissingSourceReplica, self).__init__(*args
|
|
475
|
+
def __init__(self, *args):
|
|
476
|
+
super(MissingSourceReplica, self).__init__(*args)
|
|
483
477
|
self._message = "Source replicas are missing to fulfil the request at this moment."
|
|
484
478
|
self.error_code = 44
|
|
485
479
|
|
|
@@ -488,8 +482,8 @@ class NameTypeError(RucioException):
|
|
|
488
482
|
"""
|
|
489
483
|
RucioException
|
|
490
484
|
"""
|
|
491
|
-
def __init__(self, *args
|
|
492
|
-
super(NameTypeError, self).__init__(*args
|
|
485
|
+
def __init__(self, *args):
|
|
486
|
+
super(NameTypeError, self).__init__(*args)
|
|
493
487
|
self._message = "Name is of the wrong type"
|
|
494
488
|
self.error_code = 45
|
|
495
489
|
|
|
@@ -498,8 +492,8 @@ class NoAuthInformation(RucioException):
|
|
|
498
492
|
"""
|
|
499
493
|
RucioException
|
|
500
494
|
"""
|
|
501
|
-
def __init__(self, *args
|
|
502
|
-
super(NoAuthInformation, self).__init__(*args
|
|
495
|
+
def __init__(self, *args):
|
|
496
|
+
super(NoAuthInformation, self).__init__(*args)
|
|
503
497
|
self._message = "No authentication information passed."
|
|
504
498
|
self.error_code = 46
|
|
505
499
|
|
|
@@ -508,8 +502,8 @@ class NoFilesDownloaded(RucioException):
|
|
|
508
502
|
"""
|
|
509
503
|
RucioException
|
|
510
504
|
"""
|
|
511
|
-
def __init__(self, *args
|
|
512
|
-
super(NoFilesDownloaded, self).__init__(*args
|
|
505
|
+
def __init__(self, *args):
|
|
506
|
+
super(NoFilesDownloaded, self).__init__(*args)
|
|
513
507
|
self._message = "None of the requested files have been downloaded."
|
|
514
508
|
self.error_code = 75
|
|
515
509
|
|
|
@@ -518,8 +512,8 @@ class NotAllFilesDownloaded(RucioException):
|
|
|
518
512
|
"""
|
|
519
513
|
RucioException
|
|
520
514
|
"""
|
|
521
|
-
def __init__(self, *args
|
|
522
|
-
super(NotAllFilesDownloaded, self).__init__(*args
|
|
515
|
+
def __init__(self, *args):
|
|
516
|
+
super(NotAllFilesDownloaded, self).__init__(*args)
|
|
523
517
|
self._message = "Not all of the requested files have been downloaded."
|
|
524
518
|
self.error_code = 76
|
|
525
519
|
|
|
@@ -528,15 +522,15 @@ class ReplicationRuleCreationTemporaryFailed(RucioException):
|
|
|
528
522
|
"""
|
|
529
523
|
RucioException
|
|
530
524
|
"""
|
|
531
|
-
def __init__(self, *args
|
|
532
|
-
super(ReplicationRuleCreationTemporaryFailed, self).__init__(*args
|
|
525
|
+
def __init__(self, *args):
|
|
526
|
+
super(ReplicationRuleCreationTemporaryFailed, self).__init__(*args)
|
|
533
527
|
self._message = "The creation of the replication rule failed at this time. Please try again later."
|
|
534
528
|
self.error_code = 47
|
|
535
529
|
|
|
536
530
|
|
|
537
531
|
class RequestNotFound(RucioException):
|
|
538
|
-
def __init__(self, *args
|
|
539
|
-
super(RequestNotFound, self).__init__(*args
|
|
532
|
+
def __init__(self, *args):
|
|
533
|
+
super(RequestNotFound, self).__init__(*args)
|
|
540
534
|
self._message = "A request for this DID and RSE does not exist."
|
|
541
535
|
self.error_code = 48
|
|
542
536
|
|
|
@@ -545,8 +539,8 @@ class RSEAccessDenied(RucioException):
|
|
|
545
539
|
"""
|
|
546
540
|
RucioException
|
|
547
541
|
"""
|
|
548
|
-
def __init__(self, *args
|
|
549
|
-
super(RSEAccessDenied, self).__init__(*args
|
|
542
|
+
def __init__(self, *args):
|
|
543
|
+
super(RSEAccessDenied, self).__init__(*args)
|
|
550
544
|
self._message = "Referenced RSE not reachable."
|
|
551
545
|
self.error_code = 49
|
|
552
546
|
|
|
@@ -555,8 +549,8 @@ class RSEWriteBlocked(RucioException):
|
|
|
555
549
|
"""
|
|
556
550
|
RucioException
|
|
557
551
|
"""
|
|
558
|
-
def __init__(self, *args
|
|
559
|
-
super(RSEWriteBlocked, self).__init__(*args
|
|
552
|
+
def __init__(self, *args):
|
|
553
|
+
super(RSEWriteBlocked, self).__init__(*args)
|
|
560
554
|
self._message = "RSE excluded; not available for writing."
|
|
561
555
|
self.error_code = 50
|
|
562
556
|
|
|
@@ -565,8 +559,8 @@ class RSENotConnected(RucioException):
|
|
|
565
559
|
"""
|
|
566
560
|
RucioException
|
|
567
561
|
"""
|
|
568
|
-
def __init__(self, *args
|
|
569
|
-
super(RSENotConnected, self).__init__(*args
|
|
562
|
+
def __init__(self, *args):
|
|
563
|
+
super(RSENotConnected, self).__init__(*args)
|
|
570
564
|
self._message = "Connection to RSE not established."
|
|
571
565
|
self.error_code = 51
|
|
572
566
|
|
|
@@ -575,8 +569,8 @@ class RSENotFound(RucioException):
|
|
|
575
569
|
"""
|
|
576
570
|
RucioException
|
|
577
571
|
"""
|
|
578
|
-
def __init__(self, *args
|
|
579
|
-
super(RSENotFound, self).__init__(*args
|
|
572
|
+
def __init__(self, *args):
|
|
573
|
+
super(RSENotFound, self).__init__(*args)
|
|
580
574
|
self._message = "RSE does not exist."
|
|
581
575
|
self.error_code = 52
|
|
582
576
|
|
|
@@ -585,8 +579,8 @@ class RSEProtocolNotSupported(RucioException):
|
|
|
585
579
|
"""
|
|
586
580
|
RucioException
|
|
587
581
|
"""
|
|
588
|
-
def __init__(self, *args
|
|
589
|
-
super(RSEProtocolNotSupported, self).__init__(*args
|
|
582
|
+
def __init__(self, *args):
|
|
583
|
+
super(RSEProtocolNotSupported, self).__init__(*args)
|
|
590
584
|
self._message = "RSE does not support requested protocol."
|
|
591
585
|
self.error_code = 53
|
|
592
586
|
|
|
@@ -595,8 +589,8 @@ class RSEProtocolPriorityError(RucioException):
|
|
|
595
589
|
"""
|
|
596
590
|
RucioException
|
|
597
591
|
"""
|
|
598
|
-
def __init__(self, *args
|
|
599
|
-
super(RSEProtocolPriorityError, self).__init__(*args
|
|
592
|
+
def __init__(self, *args):
|
|
593
|
+
super(RSEProtocolPriorityError, self).__init__(*args)
|
|
600
594
|
self._message = "RSE does not support provided protocol priority for protocol."
|
|
601
595
|
self.error_code = 54
|
|
602
596
|
|
|
@@ -605,8 +599,8 @@ class RSEProtocolDomainNotSupported(RucioException):
|
|
|
605
599
|
"""
|
|
606
600
|
RucioException
|
|
607
601
|
"""
|
|
608
|
-
def __init__(self, *args
|
|
609
|
-
super(RSEProtocolDomainNotSupported, self).__init__(*args
|
|
602
|
+
def __init__(self, *args):
|
|
603
|
+
super(RSEProtocolDomainNotSupported, self).__init__(*args)
|
|
610
604
|
self._message = "RSE does not support requested protocol scope."
|
|
611
605
|
self.error_code = 55
|
|
612
606
|
|
|
@@ -615,8 +609,8 @@ class RSEOperationNotSupported(RucioException):
|
|
|
615
609
|
"""
|
|
616
610
|
RucioException
|
|
617
611
|
"""
|
|
618
|
-
def __init__(self, *args
|
|
619
|
-
super(RSEOperationNotSupported, self).__init__(*args
|
|
612
|
+
def __init__(self, *args):
|
|
613
|
+
super(RSEOperationNotSupported, self).__init__(*args)
|
|
620
614
|
self._message = "RSE does not support requested operation."
|
|
621
615
|
self.error_code = 56
|
|
622
616
|
|
|
@@ -625,8 +619,8 @@ class RSEFileNameNotSupported(RucioException):
|
|
|
625
619
|
"""
|
|
626
620
|
RucioException
|
|
627
621
|
"""
|
|
628
|
-
def __init__(self, *args
|
|
629
|
-
super(RSEFileNameNotSupported, self).__init__(*args
|
|
622
|
+
def __init__(self, *args):
|
|
623
|
+
super(RSEFileNameNotSupported, self).__init__(*args)
|
|
630
624
|
self._message = "RSE does not support provided filename."
|
|
631
625
|
self.error_code = 57
|
|
632
626
|
|
|
@@ -635,8 +629,8 @@ class RSEOverQuota(RucioException):
|
|
|
635
629
|
"""
|
|
636
630
|
RucioException
|
|
637
631
|
"""
|
|
638
|
-
def __init__(self, *args
|
|
639
|
-
super(RSEOverQuota, self).__init__(*args
|
|
632
|
+
def __init__(self, *args):
|
|
633
|
+
super(RSEOverQuota, self).__init__(*args)
|
|
640
634
|
self._message = "Quota of Referenced RSE is exceeded."
|
|
641
635
|
self.error_code = 58
|
|
642
636
|
|
|
@@ -645,8 +639,8 @@ class ResourceTemporaryUnavailable(RucioException):
|
|
|
645
639
|
"""
|
|
646
640
|
RucioException
|
|
647
641
|
"""
|
|
648
|
-
def __init__(self, *args
|
|
649
|
-
super(ResourceTemporaryUnavailable, self).__init__(*args
|
|
642
|
+
def __init__(self, *args):
|
|
643
|
+
super(ResourceTemporaryUnavailable, self).__init__(*args)
|
|
650
644
|
self._message = "The resource is temporary not available."
|
|
651
645
|
self.error_code = 59
|
|
652
646
|
|
|
@@ -655,8 +649,8 @@ class RuleNotFound(RucioException):
|
|
|
655
649
|
"""
|
|
656
650
|
RucioException
|
|
657
651
|
"""
|
|
658
|
-
def __init__(self, *args
|
|
659
|
-
super(RuleNotFound, self).__init__(*args
|
|
652
|
+
def __init__(self, *args):
|
|
653
|
+
super(RuleNotFound, self).__init__(*args)
|
|
660
654
|
self._message = "No replication rule found."
|
|
661
655
|
self.error_code = 60
|
|
662
656
|
|
|
@@ -665,8 +659,8 @@ class RuleReplaceFailed(RucioException):
|
|
|
665
659
|
"""
|
|
666
660
|
RucioException
|
|
667
661
|
"""
|
|
668
|
-
def __init__(self, *args
|
|
669
|
-
super(RuleReplaceFailed, self).__init__(*args
|
|
662
|
+
def __init__(self, *args):
|
|
663
|
+
super(RuleReplaceFailed, self).__init__(*args)
|
|
670
664
|
self._message = "The replace operation for the rule failed."
|
|
671
665
|
self.error_code = 61
|
|
672
666
|
|
|
@@ -675,8 +669,8 @@ class ScratchDiskLifetimeConflict(RucioException):
|
|
|
675
669
|
"""
|
|
676
670
|
RucioException
|
|
677
671
|
"""
|
|
678
|
-
def __init__(self, *args
|
|
679
|
-
super(ScratchDiskLifetimeConflict, self).__init__(*args
|
|
672
|
+
def __init__(self, *args):
|
|
673
|
+
super(ScratchDiskLifetimeConflict, self).__init__(*args)
|
|
680
674
|
self._message = "The requested replication rule exceeds the maximum SCRATCHDISK lifetime of 15 days."
|
|
681
675
|
self.error_code = 62
|
|
682
676
|
|
|
@@ -685,8 +679,8 @@ class ServiceUnavailable(RucioException):
|
|
|
685
679
|
"""
|
|
686
680
|
RucioException
|
|
687
681
|
"""
|
|
688
|
-
def __init__(self, *args
|
|
689
|
-
super(ServiceUnavailable, self).__init__(*args
|
|
682
|
+
def __init__(self, *args):
|
|
683
|
+
super(ServiceUnavailable, self).__init__(*args)
|
|
690
684
|
self._message = "The requested service is not available at the moment."
|
|
691
685
|
self.error_code = 63
|
|
692
686
|
|
|
@@ -695,8 +689,8 @@ class ScopeAccessDenied(RucioException):
|
|
|
695
689
|
"""
|
|
696
690
|
RucioException
|
|
697
691
|
"""
|
|
698
|
-
def __init__(self, *args
|
|
699
|
-
super(ScopeAccessDenied, self).__init__(*args
|
|
692
|
+
def __init__(self, *args):
|
|
693
|
+
super(ScopeAccessDenied, self).__init__(*args)
|
|
700
694
|
self._message = "Access to Referenced scope denied."
|
|
701
695
|
self.error_code = 64
|
|
702
696
|
|
|
@@ -705,8 +699,8 @@ class ScopeNotFound(RucioException):
|
|
|
705
699
|
"""
|
|
706
700
|
RucioException
|
|
707
701
|
"""
|
|
708
|
-
def __init__(self, *args
|
|
709
|
-
super(ScopeNotFound, self).__init__(*args
|
|
702
|
+
def __init__(self, *args):
|
|
703
|
+
super(ScopeNotFound, self).__init__(*args)
|
|
710
704
|
self._message = "Scope does not exist."
|
|
711
705
|
self.error_code = 65
|
|
712
706
|
|
|
@@ -715,8 +709,8 @@ class SourceAccessDenied(RucioException):
|
|
|
715
709
|
"""
|
|
716
710
|
RucioException
|
|
717
711
|
"""
|
|
718
|
-
def __init__(self, *args
|
|
719
|
-
super(SourceAccessDenied, self).__init__(*args
|
|
712
|
+
def __init__(self, *args):
|
|
713
|
+
super(SourceAccessDenied, self).__init__(*args)
|
|
720
714
|
self._message = "Access to local source file denied."
|
|
721
715
|
self.error_code = 66
|
|
722
716
|
|
|
@@ -725,8 +719,8 @@ class SourceNotFound(RucioException):
|
|
|
725
719
|
"""
|
|
726
720
|
RucioException
|
|
727
721
|
"""
|
|
728
|
-
def __init__(self, *args
|
|
729
|
-
super(SourceNotFound, self).__init__(*args
|
|
722
|
+
def __init__(self, *args):
|
|
723
|
+
super(SourceNotFound, self).__init__(*args)
|
|
730
724
|
self._message = "Source file not found."
|
|
731
725
|
self.error_code = 67
|
|
732
726
|
|
|
@@ -735,8 +729,8 @@ class StagingAreaRuleRequiresLifetime(RucioException):
|
|
|
735
729
|
"""
|
|
736
730
|
RucioException
|
|
737
731
|
"""
|
|
738
|
-
def __init__(self, *args
|
|
739
|
-
super(StagingAreaRuleRequiresLifetime, self).__init__(*args
|
|
732
|
+
def __init__(self, *args):
|
|
733
|
+
super(StagingAreaRuleRequiresLifetime, self).__init__(*args)
|
|
740
734
|
self._message = "A rule involving a staging area requires a lifetime!"
|
|
741
735
|
self.error_code = 68
|
|
742
736
|
|
|
@@ -745,8 +739,8 @@ class SubscriptionDuplicate(RucioException):
|
|
|
745
739
|
"""
|
|
746
740
|
RucioException
|
|
747
741
|
"""
|
|
748
|
-
def __init__(self, *args
|
|
749
|
-
super(SubscriptionDuplicate, self).__init__(*args
|
|
742
|
+
def __init__(self, *args):
|
|
743
|
+
super(SubscriptionDuplicate, self).__init__(*args)
|
|
750
744
|
self._message = "A subscription with the same identifier already exists."
|
|
751
745
|
self.error_code = 69
|
|
752
746
|
|
|
@@ -755,8 +749,8 @@ class SubscriptionNotFound(RucioException):
|
|
|
755
749
|
"""
|
|
756
750
|
RucioException
|
|
757
751
|
"""
|
|
758
|
-
def __init__(self, *args
|
|
759
|
-
super(SubscriptionNotFound, self).__init__(*args
|
|
752
|
+
def __init__(self, *args):
|
|
753
|
+
super(SubscriptionNotFound, self).__init__(*args)
|
|
760
754
|
self._message = "Subscription not found."
|
|
761
755
|
self.error_code = 70
|
|
762
756
|
|
|
@@ -765,8 +759,8 @@ class UnsupportedDIDType(RucioException):
|
|
|
765
759
|
"""
|
|
766
760
|
RucioException
|
|
767
761
|
"""
|
|
768
|
-
def __init__(self, *args
|
|
769
|
-
super(UnsupportedDIDType, self).__init__(*args
|
|
762
|
+
def __init__(self, *args):
|
|
763
|
+
super(UnsupportedDIDType, self).__init__(*args)
|
|
770
764
|
self._message = "Unsupported DID type for this operation. Only DATASET or FILE is allowed."
|
|
771
765
|
self.error_code = 71
|
|
772
766
|
|
|
@@ -775,8 +769,8 @@ class UnsupportedOperation(RucioException):
|
|
|
775
769
|
"""
|
|
776
770
|
RucioException
|
|
777
771
|
"""
|
|
778
|
-
def __init__(self, *args
|
|
779
|
-
super(UnsupportedOperation, self).__init__(*args
|
|
772
|
+
def __init__(self, *args):
|
|
773
|
+
super(UnsupportedOperation, self).__init__(*args)
|
|
780
774
|
self._message = "The resource doesn't support the requested operation."
|
|
781
775
|
self.error_code = 72
|
|
782
776
|
|
|
@@ -785,8 +779,8 @@ class UnsupportedStatus(RucioException):
|
|
|
785
779
|
"""
|
|
786
780
|
RucioException
|
|
787
781
|
"""
|
|
788
|
-
def __init__(self, *args
|
|
789
|
-
super(UnsupportedStatus, self).__init__(*args
|
|
782
|
+
def __init__(self, *args):
|
|
783
|
+
super(UnsupportedStatus, self).__init__(*args)
|
|
790
784
|
self._message = "Unsupported data identifier status."
|
|
791
785
|
self.error_code = 73
|
|
792
786
|
|
|
@@ -795,8 +789,8 @@ class UnsupportedValueType(RucioException):
|
|
|
795
789
|
"""
|
|
796
790
|
RucioException
|
|
797
791
|
"""
|
|
798
|
-
def __init__(self, *args
|
|
799
|
-
super(UnsupportedValueType, self).__init__(*args
|
|
792
|
+
def __init__(self, *args):
|
|
793
|
+
super(UnsupportedValueType, self).__init__(*args)
|
|
800
794
|
self._message = "Unsupported type for the value. List of supported types: %s." % str(AUTHORIZED_VALUE_TYPES)
|
|
801
795
|
self.error_code = 74
|
|
802
796
|
|
|
@@ -805,8 +799,8 @@ class MissingModuleException(RucioException):
|
|
|
805
799
|
"""
|
|
806
800
|
RucioException
|
|
807
801
|
"""
|
|
808
|
-
def __init__(self, *args
|
|
809
|
-
super(MissingModuleException, self).__init__(*args
|
|
802
|
+
def __init__(self, *args):
|
|
803
|
+
super(MissingModuleException, self).__init__(*args)
|
|
810
804
|
self._message = "The module is not installed."
|
|
811
805
|
self.error_code = 77
|
|
812
806
|
|
|
@@ -815,8 +809,8 @@ class ServerConnectionException(RucioException):
|
|
|
815
809
|
"""
|
|
816
810
|
RucioException
|
|
817
811
|
"""
|
|
818
|
-
def __init__(self, *args
|
|
819
|
-
super(ServerConnectionException, self).__init__(*args
|
|
812
|
+
def __init__(self, *args):
|
|
813
|
+
super(ServerConnectionException, self).__init__(*args)
|
|
820
814
|
self._message = "Cannot connect to the Rucio server."
|
|
821
815
|
self.error_code = 78
|
|
822
816
|
|
|
@@ -825,8 +819,8 @@ class NoFilesUploaded(RucioException):
|
|
|
825
819
|
"""
|
|
826
820
|
RucioException
|
|
827
821
|
"""
|
|
828
|
-
def __init__(self, *args
|
|
829
|
-
super(NoFilesUploaded, self).__init__(*args
|
|
822
|
+
def __init__(self, *args):
|
|
823
|
+
super(NoFilesUploaded, self).__init__(*args)
|
|
830
824
|
self._message = "None of the given files have been uploaded."
|
|
831
825
|
self.error_code = 79
|
|
832
826
|
|
|
@@ -835,8 +829,8 @@ class NotAllFilesUploaded(RucioException):
|
|
|
835
829
|
"""
|
|
836
830
|
RucioException
|
|
837
831
|
"""
|
|
838
|
-
def __init__(self, *args
|
|
839
|
-
super(NotAllFilesUploaded, self).__init__(*args
|
|
832
|
+
def __init__(self, *args):
|
|
833
|
+
super(NotAllFilesUploaded, self).__init__(*args)
|
|
840
834
|
self._message = "Not all of the given files have been uploaded."
|
|
841
835
|
self.error_code = 80
|
|
842
836
|
|
|
@@ -845,8 +839,8 @@ class RSEChecksumUnavailable(RucioException):
|
|
|
845
839
|
"""
|
|
846
840
|
Cannot retrieve checksum from RSE
|
|
847
841
|
"""
|
|
848
|
-
def __init__(self, *args
|
|
849
|
-
super(RSEChecksumUnavailable, self).__init__(*args
|
|
842
|
+
def __init__(self, *args):
|
|
843
|
+
super(RSEChecksumUnavailable, self).__init__(*args)
|
|
850
844
|
self._message = "RSE checksum unavailable."
|
|
851
845
|
self.error_code = 81
|
|
852
846
|
|
|
@@ -855,8 +849,8 @@ class UndefinedPolicy(RucioException):
|
|
|
855
849
|
"""
|
|
856
850
|
Cannot find a defined policy in the Rucio config
|
|
857
851
|
"""
|
|
858
|
-
def __init__(self, *args
|
|
859
|
-
super(UndefinedPolicy, self).__init__(*args
|
|
852
|
+
def __init__(self, *args):
|
|
853
|
+
super(UndefinedPolicy, self).__init__(*args)
|
|
860
854
|
self._message = "No policy is defined."
|
|
861
855
|
self.error_code = 82
|
|
862
856
|
|
|
@@ -865,8 +859,8 @@ class TransferToolTimeout(RucioException):
|
|
|
865
859
|
"""
|
|
866
860
|
Timeout from the transfer tool
|
|
867
861
|
"""
|
|
868
|
-
def __init__(self, *args
|
|
869
|
-
super(TransferToolTimeout, self).__init__(*args
|
|
862
|
+
def __init__(self, *args):
|
|
863
|
+
super(TransferToolTimeout, self).__init__(*args)
|
|
870
864
|
self._message = "Timeout from the transfer tool."
|
|
871
865
|
self.error_code = 83
|
|
872
866
|
|
|
@@ -875,8 +869,8 @@ class TransferToolWrongAnswer(RucioException):
|
|
|
875
869
|
"""
|
|
876
870
|
Wrong answer returned by the transfer tool
|
|
877
871
|
"""
|
|
878
|
-
def __init__(self, *args
|
|
879
|
-
super(TransferToolWrongAnswer, self).__init__(*args
|
|
872
|
+
def __init__(self, *args):
|
|
873
|
+
super(TransferToolWrongAnswer, self).__init__(*args)
|
|
880
874
|
self._message = "Wrong answer returned by the transfer tool."
|
|
881
875
|
self.error_code = 84
|
|
882
876
|
|
|
@@ -885,8 +879,8 @@ class RSEAttributeNotFound(RucioException):
|
|
|
885
879
|
"""
|
|
886
880
|
RSE attribute not found.
|
|
887
881
|
"""
|
|
888
|
-
def __init__(self, *args
|
|
889
|
-
super(RSEAttributeNotFound, self).__init__(*args
|
|
882
|
+
def __init__(self, *args):
|
|
883
|
+
super(RSEAttributeNotFound, self).__init__(*args)
|
|
890
884
|
self._message = "RSE attribute not found."
|
|
891
885
|
self.error_code = 85
|
|
892
886
|
|
|
@@ -895,8 +889,8 @@ class UnsupportedKeyType(RucioException):
|
|
|
895
889
|
"""
|
|
896
890
|
RucioException
|
|
897
891
|
"""
|
|
898
|
-
def __init__(self, *args
|
|
899
|
-
super(UnsupportedKeyType, self).__init__(*args
|
|
892
|
+
def __init__(self, *args):
|
|
893
|
+
super(UnsupportedKeyType, self).__init__(*args)
|
|
900
894
|
self._message = "Unsupported type for the key."
|
|
901
895
|
self.error_code = 86
|
|
902
896
|
|
|
@@ -905,8 +899,8 @@ class MetalinkJsonParsingError(RucioException):
|
|
|
905
899
|
"""
|
|
906
900
|
Failed to parse input with metalink and json
|
|
907
901
|
"""
|
|
908
|
-
def __init__(self, data, metalink_err, json_err, *args
|
|
909
|
-
super(MetalinkJsonParsingError, self).__init__(*args
|
|
902
|
+
def __init__(self, data, metalink_err, json_err, *args):
|
|
903
|
+
super(MetalinkJsonParsingError, self).__init__(*args)
|
|
910
904
|
self._message = 'Failed parsing of %s. MetalinkError: %s. JsonError: %s' % (data, metalink_err, json_err)
|
|
911
905
|
self.error_code = 87
|
|
912
906
|
|
|
@@ -915,8 +909,8 @@ class ReplicaIsLocked(RucioException):
|
|
|
915
909
|
"""
|
|
916
910
|
Replica has one or more locks.
|
|
917
911
|
"""
|
|
918
|
-
def __init__(self, *args
|
|
919
|
-
super(ReplicaIsLocked, self).__init__(*args
|
|
912
|
+
def __init__(self, *args):
|
|
913
|
+
super(ReplicaIsLocked, self).__init__(*args)
|
|
920
914
|
self._message = 'Replica is locked'
|
|
921
915
|
self.error_code = 88
|
|
922
916
|
|
|
@@ -925,8 +919,8 @@ class UnsupportedRequestedContentType(RucioException):
|
|
|
925
919
|
"""
|
|
926
920
|
The requested content type is not supported by the API endpoint.
|
|
927
921
|
"""
|
|
928
|
-
def __init__(self, *args
|
|
929
|
-
super(UnsupportedRequestedContentType, self).__init__(*args
|
|
922
|
+
def __init__(self, *args):
|
|
923
|
+
super(UnsupportedRequestedContentType, self).__init__(*args)
|
|
930
924
|
self._message = 'The requested content type is not supported.'
|
|
931
925
|
self.error_code = 89
|
|
932
926
|
|
|
@@ -935,8 +929,8 @@ class DuplicateFileTransferSubmission(RucioException):
|
|
|
935
929
|
"""
|
|
936
930
|
A transfer for the same file is already submitted to the Transfer Tool.
|
|
937
931
|
"""
|
|
938
|
-
def __init__(self, *args
|
|
939
|
-
super(DuplicateFileTransferSubmission, self).__init__(*args
|
|
932
|
+
def __init__(self, *args):
|
|
933
|
+
super(DuplicateFileTransferSubmission, self).__init__(*args)
|
|
940
934
|
self._message = 'One or more files are already submitted to the transfer tool'
|
|
941
935
|
self.error_code = 90
|
|
942
936
|
|
|
@@ -945,8 +939,8 @@ class DIDError(RucioException):
|
|
|
945
939
|
"""
|
|
946
940
|
An operation related to DID type went wrong
|
|
947
941
|
"""
|
|
948
|
-
def __init__(self, *args
|
|
949
|
-
super(DIDError, self).__init__(*args
|
|
942
|
+
def __init__(self, *args):
|
|
943
|
+
super(DIDError, self).__init__(*args)
|
|
950
944
|
self._message = 'Error using DID type'
|
|
951
945
|
self.error_code = 91
|
|
952
946
|
|
|
@@ -955,19 +949,28 @@ class NoDistance(RucioException):
|
|
|
955
949
|
"""
|
|
956
950
|
No distance can be found between 2 RSEs
|
|
957
951
|
"""
|
|
958
|
-
def __init__(self, *args
|
|
959
|
-
super(NoDistance, self).__init__(*args
|
|
952
|
+
def __init__(self, *args):
|
|
953
|
+
super(NoDistance, self).__init__(*args)
|
|
960
954
|
self._message = 'Cannot found a distance between 2 RSEs'
|
|
961
955
|
self.error_code = 92
|
|
962
956
|
|
|
963
957
|
|
|
964
|
-
class
|
|
958
|
+
class PolicyPackageBaseException(RucioException):
|
|
965
959
|
"""
|
|
966
|
-
|
|
960
|
+
Base exception for policy package errors.
|
|
967
961
|
"""
|
|
968
|
-
def __init__(self, *args
|
|
969
|
-
super(
|
|
970
|
-
self.
|
|
962
|
+
def __init__(self, package: str, *args):
|
|
963
|
+
super(PolicyPackageBaseException, self).__init__(*args)
|
|
964
|
+
self.package = package
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
class PolicyPackageNotFound(PolicyPackageBaseException):
|
|
968
|
+
"""
|
|
969
|
+
The policy package specified in the config file was not found
|
|
970
|
+
"""
|
|
971
|
+
def __init__(self, package: str, *args):
|
|
972
|
+
super(PolicyPackageNotFound, self).__init__(package, *args)
|
|
973
|
+
self._message = 'The specified policy package %s was not found' % self.package
|
|
971
974
|
self.error_code = 93
|
|
972
975
|
|
|
973
976
|
|
|
@@ -975,8 +978,8 @@ class CannotAuthorize(RucioException):
|
|
|
975
978
|
"""
|
|
976
979
|
Failed to authorize an operation.
|
|
977
980
|
"""
|
|
978
|
-
def __init__(self, *args
|
|
979
|
-
super(CannotAuthorize, self).__init__(*args
|
|
981
|
+
def __init__(self, *args):
|
|
982
|
+
super(CannotAuthorize, self).__init__(*args)
|
|
980
983
|
self._message = 'Can not authorize operation.'
|
|
981
984
|
self.error_code = 94
|
|
982
985
|
|
|
@@ -985,8 +988,8 @@ class SubscriptionWrongParameter(RucioException):
|
|
|
985
988
|
"""
|
|
986
989
|
RucioException
|
|
987
990
|
"""
|
|
988
|
-
def __init__(self, *args
|
|
989
|
-
super(SubscriptionWrongParameter, self).__init__(*args
|
|
991
|
+
def __init__(self, *args):
|
|
992
|
+
super(SubscriptionWrongParameter, self).__init__(*args)
|
|
990
993
|
self._message = "Subscription wrong parameters"
|
|
991
994
|
self.error_code = 95
|
|
992
995
|
|
|
@@ -995,8 +998,8 @@ class VONotFound(RucioException):
|
|
|
995
998
|
"""
|
|
996
999
|
Requested VO does not exist.
|
|
997
1000
|
"""
|
|
998
|
-
def __init__(self, *args
|
|
999
|
-
super(VONotFound, self).__init__(*args
|
|
1001
|
+
def __init__(self, *args):
|
|
1002
|
+
super(VONotFound, self).__init__(*args)
|
|
1000
1003
|
self._message = 'The requested VO does not exist'
|
|
1001
1004
|
self.error_code = 96
|
|
1002
1005
|
|
|
@@ -1005,8 +1008,8 @@ class UnsupportedAccountName(RucioException):
|
|
|
1005
1008
|
"""
|
|
1006
1009
|
Requested account name is not supported for users.
|
|
1007
1010
|
"""
|
|
1008
|
-
def __init__(self, *args
|
|
1009
|
-
super(UnsupportedAccountName, self).__init__(*args
|
|
1011
|
+
def __init__(self, *args):
|
|
1012
|
+
super(UnsupportedAccountName, self).__init__(*args)
|
|
1010
1013
|
self._message = 'The requested account name cannot be used'
|
|
1011
1014
|
self.error_code = 97
|
|
1012
1015
|
|
|
@@ -1015,8 +1018,8 @@ class DuplicateCriteriaInDIDFilter(RucioException):
|
|
|
1015
1018
|
"""
|
|
1016
1019
|
Duplicate criteria found in DID filter.
|
|
1017
1020
|
"""
|
|
1018
|
-
def __init__(self, *args
|
|
1019
|
-
super(DuplicateCriteriaInDIDFilter, self).__init__(*args
|
|
1021
|
+
def __init__(self, *args):
|
|
1022
|
+
super(DuplicateCriteriaInDIDFilter, self).__init__(*args)
|
|
1020
1023
|
self._message = 'Duplicate criteria for key/operator in filter expression: {}'.format(args[0])
|
|
1021
1024
|
self.error_code = 98
|
|
1022
1025
|
|
|
@@ -1025,8 +1028,8 @@ class DIDFilterSyntaxError(RucioException):
|
|
|
1025
1028
|
"""
|
|
1026
1029
|
DID filter is not parsable.
|
|
1027
1030
|
"""
|
|
1028
|
-
def __init__(self, *args
|
|
1029
|
-
super(DIDFilterSyntaxError, self).__init__(*args
|
|
1031
|
+
def __init__(self, *args):
|
|
1032
|
+
super(DIDFilterSyntaxError, self).__init__(*args)
|
|
1030
1033
|
self._message = 'Syntax error in filter expression.'
|
|
1031
1034
|
self.error_code = 99
|
|
1032
1035
|
|
|
@@ -1035,8 +1038,8 @@ class InvalidAlgorithmName(RucioException):
|
|
|
1035
1038
|
"""
|
|
1036
1039
|
The given algorithm name is not valid for the VO.
|
|
1037
1040
|
"""
|
|
1038
|
-
def __init__(self, algorithm, vo, *args
|
|
1039
|
-
super(InvalidAlgorithmName, self).__init__(*args
|
|
1041
|
+
def __init__(self, algorithm, vo, *args):
|
|
1042
|
+
super(InvalidAlgorithmName, self).__init__(*args)
|
|
1040
1043
|
self.message = 'Algorithm name %s is not valid for VO %s' % (algorithm, vo)
|
|
1041
1044
|
self.error_code = 100
|
|
1042
1045
|
|
|
@@ -1045,8 +1048,8 @@ class FilterEngineGenericError(RucioException):
|
|
|
1045
1048
|
"""
|
|
1046
1049
|
Generic Filter Engine error.
|
|
1047
1050
|
"""
|
|
1048
|
-
def __init__(self, *args
|
|
1049
|
-
super(FilterEngineGenericError, self).__init__(*args
|
|
1051
|
+
def __init__(self, *args):
|
|
1052
|
+
super(FilterEngineGenericError, self).__init__(*args)
|
|
1050
1053
|
self._message = 'Generic filter engine error.'
|
|
1051
1054
|
self.error_code = 101
|
|
1052
1055
|
|
|
@@ -1055,19 +1058,25 @@ class MetadataSchemaMismatchError(RucioException):
|
|
|
1055
1058
|
"""
|
|
1056
1059
|
External table does not match expected table schema.
|
|
1057
1060
|
"""
|
|
1058
|
-
def __init__(self, *args
|
|
1059
|
-
super(MetadataSchemaMismatchError, self).__init__(*args
|
|
1061
|
+
def __init__(self, *args):
|
|
1062
|
+
super(MetadataSchemaMismatchError, self).__init__(*args)
|
|
1060
1063
|
self._message = 'The external table does not match the expected table schema.'
|
|
1061
1064
|
self.error_code = 102
|
|
1062
1065
|
|
|
1063
1066
|
|
|
1064
|
-
class PolicyPackageVersionError(
|
|
1067
|
+
class PolicyPackageVersionError(PolicyPackageBaseException):
|
|
1065
1068
|
"""
|
|
1066
1069
|
Policy package is not compatible with this version of Rucio.
|
|
1067
1070
|
"""
|
|
1068
|
-
def __init__(self, package, *args
|
|
1069
|
-
super(PolicyPackageVersionError, self).__init__(*args
|
|
1070
|
-
self.
|
|
1071
|
+
def __init__(self, package: str, rucio_version: str, supported_versions: list[str], *args):
|
|
1072
|
+
super(PolicyPackageVersionError, self).__init__(package, *args)
|
|
1073
|
+
self.rucio_version = rucio_version
|
|
1074
|
+
self.supported_versions = supported_versions
|
|
1075
|
+
self._message = 'Policy package %s is not compatible with this Rucio version.\nRucio version: %s\nVersions supported by the package: %s' % (
|
|
1076
|
+
self.package,
|
|
1077
|
+
self.rucio_version,
|
|
1078
|
+
self.supported_versions
|
|
1079
|
+
)
|
|
1071
1080
|
self.error_code = 103
|
|
1072
1081
|
|
|
1073
1082
|
|
|
@@ -1076,8 +1085,8 @@ class InvalidSourceReplicaExpression(RucioException):
|
|
|
1076
1085
|
Source Replica Expression Considered Invalid
|
|
1077
1086
|
"""
|
|
1078
1087
|
|
|
1079
|
-
def __init__(self, *args
|
|
1080
|
-
super(InvalidSourceReplicaExpression, self).__init__(*args
|
|
1088
|
+
def __init__(self, *args):
|
|
1089
|
+
super(InvalidSourceReplicaExpression, self).__init__(*args)
|
|
1081
1090
|
self._message = 'Provided Source Replica expression is considered invalid.'
|
|
1082
1091
|
self.error_code = 104
|
|
1083
1092
|
|
|
@@ -1086,7 +1095,57 @@ class DeprecationError(RucioException):
|
|
|
1086
1095
|
"""
|
|
1087
1096
|
Function has been deprecated.
|
|
1088
1097
|
"""
|
|
1089
|
-
def __init__(self, *args
|
|
1090
|
-
super(DeprecationError, self).__init__(*args
|
|
1098
|
+
def __init__(self, *args):
|
|
1099
|
+
super(DeprecationError, self).__init__(*args)
|
|
1091
1100
|
self._message = 'Command or function has been deprecated.'
|
|
1092
1101
|
self.error_code = 105
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
class SortingAlgorithmNotSupported(RucioException):
|
|
1105
|
+
"""
|
|
1106
|
+
Sorting algorithm is not supported.
|
|
1107
|
+
"""
|
|
1108
|
+
def __init__(self, *args):
|
|
1109
|
+
super(SortingAlgorithmNotSupported, self).__init__(*args)
|
|
1110
|
+
self._message = 'Sorting algorithm is not supported.'
|
|
1111
|
+
self.error_code = 106
|
|
1112
|
+
|
|
1113
|
+
|
|
1114
|
+
class ErrorLoadingPolicyPackage(PolicyPackageBaseException):
|
|
1115
|
+
"""
|
|
1116
|
+
An error occurred while loading the policy package.
|
|
1117
|
+
"""
|
|
1118
|
+
def __init__(self, package: str, *args):
|
|
1119
|
+
super(ErrorLoadingPolicyPackage, self).__init__(package, *args)
|
|
1120
|
+
self._message = 'An error occurred while loading the policy package %s' % self.package
|
|
1121
|
+
self.error_code = 107
|
|
1122
|
+
|
|
1123
|
+
|
|
1124
|
+
class TraceValidationSchemaNotFound(RucioException):
|
|
1125
|
+
"""
|
|
1126
|
+
Trace validation schema not found.
|
|
1127
|
+
"""
|
|
1128
|
+
def __init__(self, *args, **kwargs):
|
|
1129
|
+
super(TraceValidationSchemaNotFound, self).__init__(*args, **kwargs)
|
|
1130
|
+
self._message = 'Trace validation schema not found.'
|
|
1131
|
+
self.error_code = 108
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
class PolicyPackageIsNotVersioned(PolicyPackageBaseException):
|
|
1135
|
+
"""
|
|
1136
|
+
Policy package does not contain version information.
|
|
1137
|
+
"""
|
|
1138
|
+
def __init__(self, package: str, *args):
|
|
1139
|
+
super(PolicyPackageIsNotVersioned, self).__init__(package, *args)
|
|
1140
|
+
self._message = 'Policy package %s does not include information about which Rucio versions it supports.' % self.package
|
|
1141
|
+
self.error_code = 109
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
class UnsupportedMetadataPlugin(RucioException):
|
|
1145
|
+
"""
|
|
1146
|
+
Raised when attempting to use a metadata plugin that is not enabled on the server.
|
|
1147
|
+
"""
|
|
1148
|
+
def __init__(self, *args):
|
|
1149
|
+
super(UnsupportedMetadataPlugin, self).__init__(*args)
|
|
1150
|
+
self._message = "The requested metadata plugin is not enabled on the server."
|
|
1151
|
+
self.error_code = 110
|