rucio 37.3.0__py3-none-any.whl → 37.5.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 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 +124 -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/constants.py +14 -17
- rucio/common/utils.py +18 -2
- rucio/core/permission/generic.py +40 -1
- rucio/core/replica.py +6 -6
- rucio/core/request.py +2 -2
- rucio/core/rule.py +5 -3
- rucio/core/transfer.py +4 -5
- rucio/daemons/conveyor/throttler.py +2 -1
- rucio/daemons/judge/evaluator.py +1 -1
- rucio/db/sqla/constants.py +3 -3
- rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +1 -1
- rucio/db/sqla/models.py +1 -1
- rucio/gateway/replica.py +129 -41
- rucio/gateway/request.py +177 -103
- rucio/gateway/subscription.py +90 -108
- rucio/rse/rsemanager.py +2 -2
- rucio/vcsversion.py +3 -3
- rucio/web/rest/flaskapi/v1/accountlimits.py +22 -22
- rucio/web/rest/flaskapi/v1/accounts.py +157 -157
- rucio/web/rest/flaskapi/v1/archives.py +10 -10
- rucio/web/rest/flaskapi/v1/auth.py +106 -106
- rucio/web/rest/flaskapi/v1/config.py +37 -37
- rucio/web/rest/flaskapi/v1/credentials.py +25 -25
- rucio/web/rest/flaskapi/v1/dids.py +381 -381
- rucio/web/rest/flaskapi/v1/dirac.py +8 -8
- rucio/web/rest/flaskapi/v1/export.py +6 -6
- rucio/web/rest/flaskapi/v1/heartbeats.py +14 -14
- rucio/web/rest/flaskapi/v1/identities.py +25 -25
- rucio/web/rest/flaskapi/v1/import.py +19 -19
- rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +54 -54
- rucio/web/rest/flaskapi/v1/locks.py +60 -60
- rucio/web/rest/flaskapi/v1/meta_conventions.py +29 -29
- rucio/web/rest/flaskapi/v1/nongrid_traces.py +4 -4
- rucio/web/rest/flaskapi/v1/ping.py +4 -4
- rucio/web/rest/flaskapi/v1/redirect.py +17 -17
- rucio/web/rest/flaskapi/v1/replicas.py +282 -282
- rucio/web/rest/flaskapi/v1/requests.py +424 -229
- rucio/web/rest/flaskapi/v1/rses.py +427 -427
- rucio/web/rest/flaskapi/v1/rules.py +129 -129
- rucio/web/rest/flaskapi/v1/scopes.py +21 -21
- rucio/web/rest/flaskapi/v1/subscriptions.py +122 -122
- rucio/web/rest/flaskapi/v1/traces.py +18 -18
- rucio/web/rest/flaskapi/v1/vos.py +32 -32
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio.cfg.template +0 -1
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio_multi_vo.cfg.template +0 -1
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/requirements.server.txt +1 -1
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/METADATA +1 -1
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/RECORD +128 -128
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/WHEEL +1 -1
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/alembic.ini.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/alembic_offline.ini.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/globus-config.yml.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/ldap.cfg.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approval_request.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approved_admin.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approved_user.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_denied_admin.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_denied_user.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_ok_notification.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rse-accounts.cfg.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/bootstrap.py +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/merge_rucio_configs.py +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/reset_database.py +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-account +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-collection-replica +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-rse +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-admin +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-atropos +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-auditor +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-automatix +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-bb8 +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-cache-client +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-cache-consumer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-finisher +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-poller +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-preparer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-receiver +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-stager +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-submitter +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-throttler +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-dark-reaper +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-dumper +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-follower +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-hermes +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-cleaner +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-evaluator +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-injector +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-repairer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-kronos +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-minos +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-minos-temporary-expiration +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-necromancer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-oauth-manager +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-reaper +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-replica-recoverer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-rse-decommissioner +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-storage-consistency-actions +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-transmogrifier +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-undertaker +0 -0
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/licenses/AUTHORS.rst +0 -0
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/licenses/LICENSE +0 -0
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/top_level.txt +0 -0
|
@@ -42,7 +42,7 @@ class Trace(ErrorHandlingMethodView):
|
|
|
42
42
|
"""
|
|
43
43
|
---
|
|
44
44
|
summary: Trace
|
|
45
|
-
description: Trace endpoint used by the pilot and CLI clients to post data access information.
|
|
45
|
+
description: "Trace endpoint used by the pilot and CLI clients to post data access information."
|
|
46
46
|
tags:
|
|
47
47
|
- Trace
|
|
48
48
|
parameters:
|
|
@@ -59,49 +59,49 @@ class Trace(ErrorHandlingMethodView):
|
|
|
59
59
|
oneOf:
|
|
60
60
|
ObjectSchema:
|
|
61
61
|
- requires: [eventType, clientState, account]
|
|
62
|
-
- description:
|
|
62
|
+
- description: "Touch one or more DIDs"
|
|
63
63
|
UploadSchema:
|
|
64
64
|
- requires: [eventType, hostname, account, eventVersion, uuid, scope, dataset, remoteSite, filesize, protocol, transferStart]
|
|
65
|
-
- description:
|
|
65
|
+
- description: "Upload method"
|
|
66
66
|
DownloadSchema:
|
|
67
67
|
- requires: [eventType, hostname, localSite, account, eventVersion, uuid, scope, filename, dataset, filesize, clientState, stateReason]
|
|
68
|
-
- description:
|
|
68
|
+
- description: "Download method"
|
|
69
69
|
GetSchema:
|
|
70
70
|
- requires: [eventType, localSite, eventVersion, uuid, scope, filename, dataset]
|
|
71
|
-
- description:
|
|
71
|
+
- description: "Get method, mainly sent by pilots"
|
|
72
72
|
PutSchema:
|
|
73
73
|
- requires: [eventType, localSite, eventVersion, uuid, scope, filename, dataset]
|
|
74
|
-
- description:
|
|
74
|
+
- description: "Put method, mainly sent by pilots"
|
|
75
75
|
SpecialSchema:
|
|
76
76
|
- requires: [eventType, clientState, account]
|
|
77
|
-
- description: A special schema to capture most unsupported eventTypes
|
|
77
|
+
- description: "A special schema to capture most unsupported eventTypes"
|
|
78
78
|
- type: array
|
|
79
79
|
items:
|
|
80
80
|
type: object
|
|
81
81
|
oneOf:
|
|
82
82
|
ObjectSchema:
|
|
83
83
|
- requires: [eventType, clientState, account]
|
|
84
|
-
- description:
|
|
84
|
+
- description: "Touch one or more DIDs"
|
|
85
85
|
UploadSchema:
|
|
86
86
|
- requires: [eventType, hostname, account, eventVersion, uuid, scope, dataset, remoteSite, filesize, protocol, transferStart]
|
|
87
|
-
- description:
|
|
87
|
+
- description: "Upload method"
|
|
88
88
|
DownloadSchema:
|
|
89
89
|
- requires: [eventType, hostname, localSite, account, eventVersion, uuid, scope, filename, dataset, filesize, clientState, stateReason]
|
|
90
|
-
- description:
|
|
90
|
+
- description: "Download method"
|
|
91
91
|
GetSchema:
|
|
92
92
|
- requires: [eventType, localSite, eventVersion, uuid, scope, filename, dataset]
|
|
93
|
-
- description:
|
|
93
|
+
- description: "Get method, mainly sent by pilots"
|
|
94
94
|
PutSchema:
|
|
95
95
|
- requires: [eventType, localSite, eventVersion, uuid, scope, filename, dataset]
|
|
96
|
-
- description:
|
|
96
|
+
- description: "Put method, mainly sent by pilots"
|
|
97
97
|
SpecialSchema:
|
|
98
98
|
- requires: [eventType, clientState, account]
|
|
99
|
-
- description: A special schema to capture most unsupported eventTypes
|
|
99
|
+
- description: "A special schema to capture most unsupported eventTypes"
|
|
100
100
|
responses:
|
|
101
101
|
201:
|
|
102
|
-
description: OK
|
|
102
|
+
description: "OK"
|
|
103
103
|
400:
|
|
104
|
-
description: Cannot decode json data.
|
|
104
|
+
description: "Cannot decode json data."
|
|
105
105
|
"""
|
|
106
106
|
headers = self.get_headers()
|
|
107
107
|
parameters = request.data
|
|
@@ -112,10 +112,10 @@ class Trace(ErrorHandlingMethodView):
|
|
|
112
112
|
# Trace gateway handles all errors and sends them to a log - no need for any error checking
|
|
113
113
|
trace_ip = request.headers.get("X-Forwarded-For", default=request.remote_addr)
|
|
114
114
|
try:
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
trace(request=parameters, trace_ip=trace_ip)
|
|
116
|
+
return Response("Created", 201, headers)
|
|
117
117
|
except JSONDecodeError as err:
|
|
118
|
-
|
|
118
|
+
return generate_http_error_flask(400, err)
|
|
119
119
|
|
|
120
120
|
|
|
121
121
|
def blueprint():
|
|
@@ -33,7 +33,7 @@ class VOs(ErrorHandlingMethodView):
|
|
|
33
33
|
- VO
|
|
34
34
|
responses:
|
|
35
35
|
200:
|
|
36
|
-
description: OK
|
|
36
|
+
description: "OK"
|
|
37
37
|
content:
|
|
38
38
|
application/json:
|
|
39
39
|
schema:
|
|
@@ -42,29 +42,29 @@ class VOs(ErrorHandlingMethodView):
|
|
|
42
42
|
type: object
|
|
43
43
|
properties:
|
|
44
44
|
vo:
|
|
45
|
-
description: The vo.
|
|
45
|
+
description: "The vo."
|
|
46
46
|
type: string
|
|
47
47
|
description:
|
|
48
|
-
description: The description of the vo.
|
|
48
|
+
description: "The description of the vo."
|
|
49
49
|
type: string
|
|
50
50
|
email:
|
|
51
|
-
description: The email for the vo.
|
|
51
|
+
description: "The email for the vo."
|
|
52
52
|
type: string
|
|
53
53
|
created_at:
|
|
54
|
-
description: The date the vo was created.
|
|
54
|
+
description: "The date the vo was created."
|
|
55
55
|
type: string
|
|
56
56
|
format: date-time
|
|
57
57
|
updated_at:
|
|
58
|
-
description: The date the vo was updated.
|
|
58
|
+
description: "The date the vo was updated."
|
|
59
59
|
type: string
|
|
60
60
|
format: date-time
|
|
61
61
|
|
|
62
62
|
406:
|
|
63
|
-
description: Not Acceptable
|
|
63
|
+
description: "Not Acceptable"
|
|
64
64
|
401:
|
|
65
|
-
description: Invalid Auth Token
|
|
65
|
+
description: "Invalid Auth Token"
|
|
66
66
|
409:
|
|
67
|
-
description: Unsupported operation.
|
|
67
|
+
description: "Unsupported operation."
|
|
68
68
|
"""
|
|
69
69
|
try:
|
|
70
70
|
def generate(issuer, vo):
|
|
@@ -90,7 +90,7 @@ class VO(ErrorHandlingMethodView):
|
|
|
90
90
|
parameters:
|
|
91
91
|
- name: vo
|
|
92
92
|
in: path
|
|
93
|
-
description: The vo to add.
|
|
93
|
+
description: "The vo to add."
|
|
94
94
|
schema:
|
|
95
95
|
type: string
|
|
96
96
|
style: simple
|
|
@@ -101,18 +101,18 @@ class VO(ErrorHandlingMethodView):
|
|
|
101
101
|
type: object
|
|
102
102
|
properties:
|
|
103
103
|
description:
|
|
104
|
-
description: The description of the VO.
|
|
104
|
+
description: "The description of the VO."
|
|
105
105
|
type: string
|
|
106
106
|
email:
|
|
107
|
-
description: The admin email associated with the VO.
|
|
107
|
+
description: "The admin email associated with the VO."
|
|
108
108
|
type: string
|
|
109
109
|
responses:
|
|
110
110
|
201:
|
|
111
|
-
description: OK
|
|
111
|
+
description: "OK"
|
|
112
112
|
401:
|
|
113
|
-
description: Invalid Auth Token
|
|
113
|
+
description: "Invalid Auth Token"
|
|
114
114
|
409:
|
|
115
|
-
description: Unsupported operation.
|
|
115
|
+
description: "Unsupported operation."
|
|
116
116
|
"""
|
|
117
117
|
parameters = json_parameters(optional=True)
|
|
118
118
|
kwargs = {'description': None, 'email': None}
|
|
@@ -137,7 +137,7 @@ class VO(ErrorHandlingMethodView):
|
|
|
137
137
|
parameters:
|
|
138
138
|
- name: vo
|
|
139
139
|
in: path
|
|
140
|
-
description: The vo to add.
|
|
140
|
+
description: "The vo to add."
|
|
141
141
|
schema:
|
|
142
142
|
type: string
|
|
143
143
|
style: simple
|
|
@@ -148,20 +148,20 @@ class VO(ErrorHandlingMethodView):
|
|
|
148
148
|
type: object
|
|
149
149
|
properties:
|
|
150
150
|
description:
|
|
151
|
-
description: The description of the VO.
|
|
151
|
+
description: "The description of the VO."
|
|
152
152
|
type: string
|
|
153
153
|
email:
|
|
154
|
-
description: The admin email associated with the VO.
|
|
154
|
+
description: "The admin email associated with the VO."
|
|
155
155
|
type: string
|
|
156
156
|
responses:
|
|
157
157
|
200:
|
|
158
|
-
description: OK
|
|
158
|
+
description: "OK"
|
|
159
159
|
401:
|
|
160
|
-
description: Invalid Auth Token
|
|
160
|
+
description: "Invalid Auth Token"
|
|
161
161
|
404:
|
|
162
|
-
description: VO not found.
|
|
162
|
+
description: "VO not found."
|
|
163
163
|
409:
|
|
164
|
-
description: Unsupported operation.
|
|
164
|
+
description: "Unsupported operation."
|
|
165
165
|
"""
|
|
166
166
|
parameters = json_parameters()
|
|
167
167
|
try:
|
|
@@ -188,7 +188,7 @@ class RecoverVO(ErrorHandlingMethodView):
|
|
|
188
188
|
parameters:
|
|
189
189
|
- name: vo
|
|
190
190
|
in: path
|
|
191
|
-
description: The vo to add.
|
|
191
|
+
description: "The vo to add."
|
|
192
192
|
schema:
|
|
193
193
|
type: string
|
|
194
194
|
style: simple
|
|
@@ -203,29 +203,29 @@ class RecoverVO(ErrorHandlingMethodView):
|
|
|
203
203
|
- email
|
|
204
204
|
properties:
|
|
205
205
|
identity:
|
|
206
|
-
description: Identity key to use.
|
|
206
|
+
description: "Identity key to use."
|
|
207
207
|
type: string
|
|
208
208
|
authtype:
|
|
209
|
-
description: The authtype of the account.
|
|
209
|
+
description: "The authtype of the account."
|
|
210
210
|
type: string
|
|
211
211
|
email:
|
|
212
|
-
description: The admin email for the vo.
|
|
212
|
+
description: "The admin email for the vo."
|
|
213
213
|
type: string
|
|
214
214
|
password:
|
|
215
|
-
description: Password for identity.
|
|
215
|
+
description: "Password for identity."
|
|
216
216
|
type: string
|
|
217
217
|
default:
|
|
218
|
-
description: Whether to use identity as account default.
|
|
218
|
+
description: "Whether to use identity as account default."
|
|
219
219
|
type: boolean
|
|
220
220
|
responses:
|
|
221
221
|
201:
|
|
222
|
-
description: OK
|
|
222
|
+
description: "OK"
|
|
223
223
|
401:
|
|
224
|
-
description: Invalid Auth Token
|
|
224
|
+
description: "Invalid Auth Token"
|
|
225
225
|
404:
|
|
226
|
-
description: Account not found.
|
|
226
|
+
description: "Account not found."
|
|
227
227
|
409:
|
|
228
|
-
description: Unsupported operation.
|
|
228
|
+
description: "Unsupported operation."
|
|
229
229
|
"""
|
|
230
230
|
parameters = json_parameters()
|
|
231
231
|
identity = param_get(parameters, 'identity')
|
|
@@ -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
|
|