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.

Files changed (128) hide show
  1. rucio/cli/rule.py +1 -1
  2. rucio/client/accountclient.py +205 -60
  3. rucio/client/accountlimitclient.py +84 -25
  4. rucio/client/baseclient.py +85 -48
  5. rucio/client/client.py +49 -41
  6. rucio/client/configclient.py +36 -13
  7. rucio/client/credentialclient.py +16 -6
  8. rucio/client/didclient.py +321 -133
  9. rucio/client/diracclient.py +13 -6
  10. rucio/client/downloadclient.py +435 -165
  11. rucio/client/exportclient.py +8 -2
  12. rucio/client/fileclient.py +10 -3
  13. rucio/client/importclient.py +4 -1
  14. rucio/client/lifetimeclient.py +48 -31
  15. rucio/client/lockclient.py +22 -7
  16. rucio/client/metaconventionsclient.py +59 -21
  17. rucio/client/pingclient.py +3 -1
  18. rucio/client/replicaclient.py +213 -96
  19. rucio/client/requestclient.py +124 -16
  20. rucio/client/rseclient.py +385 -160
  21. rucio/client/ruleclient.py +147 -51
  22. rucio/client/scopeclient.py +35 -10
  23. rucio/client/subscriptionclient.py +60 -27
  24. rucio/client/touchclient.py +16 -7
  25. rucio/common/constants.py +14 -17
  26. rucio/common/utils.py +18 -2
  27. rucio/core/permission/generic.py +40 -1
  28. rucio/core/replica.py +6 -6
  29. rucio/core/request.py +2 -2
  30. rucio/core/rule.py +5 -3
  31. rucio/core/transfer.py +4 -5
  32. rucio/daemons/conveyor/throttler.py +2 -1
  33. rucio/daemons/judge/evaluator.py +1 -1
  34. rucio/db/sqla/constants.py +3 -3
  35. rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +1 -1
  36. rucio/db/sqla/models.py +1 -1
  37. rucio/gateway/replica.py +129 -41
  38. rucio/gateway/request.py +177 -103
  39. rucio/gateway/subscription.py +90 -108
  40. rucio/rse/rsemanager.py +2 -2
  41. rucio/vcsversion.py +3 -3
  42. rucio/web/rest/flaskapi/v1/accountlimits.py +22 -22
  43. rucio/web/rest/flaskapi/v1/accounts.py +157 -157
  44. rucio/web/rest/flaskapi/v1/archives.py +10 -10
  45. rucio/web/rest/flaskapi/v1/auth.py +106 -106
  46. rucio/web/rest/flaskapi/v1/config.py +37 -37
  47. rucio/web/rest/flaskapi/v1/credentials.py +25 -25
  48. rucio/web/rest/flaskapi/v1/dids.py +381 -381
  49. rucio/web/rest/flaskapi/v1/dirac.py +8 -8
  50. rucio/web/rest/flaskapi/v1/export.py +6 -6
  51. rucio/web/rest/flaskapi/v1/heartbeats.py +14 -14
  52. rucio/web/rest/flaskapi/v1/identities.py +25 -25
  53. rucio/web/rest/flaskapi/v1/import.py +19 -19
  54. rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +54 -54
  55. rucio/web/rest/flaskapi/v1/locks.py +60 -60
  56. rucio/web/rest/flaskapi/v1/meta_conventions.py +29 -29
  57. rucio/web/rest/flaskapi/v1/nongrid_traces.py +4 -4
  58. rucio/web/rest/flaskapi/v1/ping.py +4 -4
  59. rucio/web/rest/flaskapi/v1/redirect.py +17 -17
  60. rucio/web/rest/flaskapi/v1/replicas.py +282 -282
  61. rucio/web/rest/flaskapi/v1/requests.py +424 -229
  62. rucio/web/rest/flaskapi/v1/rses.py +427 -427
  63. rucio/web/rest/flaskapi/v1/rules.py +129 -129
  64. rucio/web/rest/flaskapi/v1/scopes.py +21 -21
  65. rucio/web/rest/flaskapi/v1/subscriptions.py +122 -122
  66. rucio/web/rest/flaskapi/v1/traces.py +18 -18
  67. rucio/web/rest/flaskapi/v1/vos.py +32 -32
  68. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio.cfg.template +0 -1
  69. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio_multi_vo.cfg.template +0 -1
  70. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/requirements.server.txt +1 -1
  71. {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/METADATA +1 -1
  72. {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/RECORD +128 -128
  73. {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/WHEEL +1 -1
  74. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/alembic.ini.template +0 -0
  75. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/alembic_offline.ini.template +0 -0
  76. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/globus-config.yml.template +0 -0
  77. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/ldap.cfg.template +0 -0
  78. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approval_request.tmpl +0 -0
  79. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approved_admin.tmpl +0 -0
  80. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approved_user.tmpl +0 -0
  81. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_denied_admin.tmpl +0 -0
  82. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_denied_user.tmpl +0 -0
  83. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_ok_notification.tmpl +0 -0
  84. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rse-accounts.cfg.template +0 -0
  85. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio.cfg.atlas.client.template +0 -0
  86. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/bootstrap.py +0 -0
  87. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/merge_rucio_configs.py +0 -0
  88. {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/reset_database.py +0 -0
  89. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio +0 -0
  90. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-account +0 -0
  91. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-collection-replica +0 -0
  92. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-rse +0 -0
  93. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-admin +0 -0
  94. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-atropos +0 -0
  95. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-auditor +0 -0
  96. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-automatix +0 -0
  97. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-bb8 +0 -0
  98. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-cache-client +0 -0
  99. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-cache-consumer +0 -0
  100. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-finisher +0 -0
  101. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-poller +0 -0
  102. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-preparer +0 -0
  103. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-receiver +0 -0
  104. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-stager +0 -0
  105. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-submitter +0 -0
  106. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-throttler +0 -0
  107. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-dark-reaper +0 -0
  108. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-dumper +0 -0
  109. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-follower +0 -0
  110. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-hermes +0 -0
  111. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-cleaner +0 -0
  112. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-evaluator +0 -0
  113. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-injector +0 -0
  114. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-repairer +0 -0
  115. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-kronos +0 -0
  116. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-minos +0 -0
  117. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-minos-temporary-expiration +0 -0
  118. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-necromancer +0 -0
  119. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-oauth-manager +0 -0
  120. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-reaper +0 -0
  121. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-replica-recoverer +0 -0
  122. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-rse-decommissioner +0 -0
  123. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-storage-consistency-actions +0 -0
  124. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-transmogrifier +0 -0
  125. {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-undertaker +0 -0
  126. {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/licenses/AUTHORS.rst +0 -0
  127. {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/licenses/LICENSE +0 -0
  128. {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: touch one or more DIDs
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: upload method
65
+ - description: "Upload method"
66
66
  DownloadSchema:
67
67
  - requires: [eventType, hostname, localSite, account, eventVersion, uuid, scope, filename, dataset, filesize, clientState, stateReason]
68
- - description: download method
68
+ - description: "Download method"
69
69
  GetSchema:
70
70
  - requires: [eventType, localSite, eventVersion, uuid, scope, filename, dataset]
71
- - description: get method, mainly sent by pilots
71
+ - description: "Get method, mainly sent by pilots"
72
72
  PutSchema:
73
73
  - requires: [eventType, localSite, eventVersion, uuid, scope, filename, dataset]
74
- - description: put method, mainly sent by pilots
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: touch one or more DIDs
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: upload method
87
+ - description: "Upload method"
88
88
  DownloadSchema:
89
89
  - requires: [eventType, hostname, localSite, account, eventVersion, uuid, scope, filename, dataset, filesize, clientState, stateReason]
90
- - description: download method
90
+ - description: "Download method"
91
91
  GetSchema:
92
92
  - requires: [eventType, localSite, eventVersion, uuid, scope, filename, dataset]
93
- - description: get method, mainly sent by pilots
93
+ - description: "Get method, mainly sent by pilots"
94
94
  PutSchema:
95
95
  - requires: [eventType, localSite, eventVersion, uuid, scope, filename, dataset]
96
- - description: put method, mainly sent by pilots
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
- trace(request=parameters, trace_ip=trace_ip)
116
- return Response("Created", 201, headers)
115
+ trace(request=parameters, trace_ip=trace_ip)
116
+ return Response("Created", 201, headers)
117
117
  except JSONDecodeError as err:
118
- return generate_http_error_flask(400, err)
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
 
@@ -97,7 +97,6 @@ metrics_port = 8080
97
97
  [conveyor]
98
98
  scheme = srm,gsiftp,root,http,https
99
99
  transfertool = fts3
100
- ftshosts = https://fts3-pilot.cern.ch:8446, https://fts3-pilot.cern.ch:8446
101
100
  cacert = /opt/rucio/etc/web/ca.crt
102
101
  usercert = /opt/rucio/tools/x509up
103
102
 
@@ -220,7 +220,7 @@ referencing==0.36.2
220
220
  # via
221
221
  # jsonschema
222
222
  # jsonschema-specifications
223
- requests==2.32.3
223
+ requests==2.32.4
224
224
  # via
225
225
  # -r requirements.server.in
226
226
  # geoip2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rucio
3
- Version: 37.3.0
3
+ Version: 37.5.0
4
4
  Summary: Rucio Package
5
5
  Home-page: https://rucio.cern.ch/
6
6
  Author: Rucio