rucio 38.0.0rc1__py3-none-any.whl → 38.0.0rc3__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 (68) hide show
  1. rucio/common/exception.py +5 -5
  2. rucio/common/utils.py +1 -1
  3. rucio/db/sqla/models.py +2 -0
  4. rucio/db/sqla/session.py +8 -1
  5. rucio/tests/common.py +64 -12
  6. rucio/vcsversion.py +3 -3
  7. rucio/web/rest/flaskapi/v1/main.py +1 -0
  8. {rucio-38.0.0rc1.dist-info → rucio-38.0.0rc3.dist-info}/METADATA +2 -1
  9. {rucio-38.0.0rc1.dist-info → rucio-38.0.0rc3.dist-info}/RECORD +68 -68
  10. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/alembic.ini.template +0 -0
  11. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/alembic_offline.ini.template +0 -0
  12. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/globus-config.yml.template +0 -0
  13. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/ldap.cfg.template +0 -0
  14. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_approval_request.tmpl +0 -0
  15. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_approved_admin.tmpl +0 -0
  16. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_approved_user.tmpl +0 -0
  17. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_denied_admin.tmpl +0 -0
  18. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_denied_user.tmpl +0 -0
  19. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_ok_notification.tmpl +0 -0
  20. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/rse-accounts.cfg.template +0 -0
  21. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/rucio.cfg.atlas.client.template +0 -0
  22. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/rucio.cfg.template +0 -0
  23. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/etc/rucio_multi_vo.cfg.template +0 -0
  24. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/requirements.server.txt +0 -0
  25. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/tools/bootstrap.py +0 -0
  26. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/tools/merge_rucio_configs.py +0 -0
  27. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/data/rucio/tools/reset_database.py +0 -0
  28. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio +0 -0
  29. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-abacus-account +0 -0
  30. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-abacus-collection-replica +0 -0
  31. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-abacus-rse +0 -0
  32. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-admin +0 -0
  33. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-atropos +0 -0
  34. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-auditor +0 -0
  35. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-automatix +0 -0
  36. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-bb8 +0 -0
  37. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-cache-client +0 -0
  38. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-cache-consumer +0 -0
  39. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-finisher +0 -0
  40. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-poller +0 -0
  41. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-preparer +0 -0
  42. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-receiver +0 -0
  43. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-stager +0 -0
  44. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-submitter +0 -0
  45. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-throttler +0 -0
  46. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-dark-reaper +0 -0
  47. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-dumper +0 -0
  48. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-follower +0 -0
  49. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-hermes +0 -0
  50. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-judge-cleaner +0 -0
  51. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-judge-evaluator +0 -0
  52. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-judge-injector +0 -0
  53. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-judge-repairer +0 -0
  54. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-kronos +0 -0
  55. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-minos +0 -0
  56. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-minos-temporary-expiration +0 -0
  57. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-necromancer +0 -0
  58. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-oauth-manager +0 -0
  59. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-reaper +0 -0
  60. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-replica-recoverer +0 -0
  61. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-rse-decommissioner +0 -0
  62. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-storage-consistency-actions +0 -0
  63. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-transmogrifier +0 -0
  64. {rucio-38.0.0rc1.data → rucio-38.0.0rc3.data}/scripts/rucio-undertaker +0 -0
  65. {rucio-38.0.0rc1.dist-info → rucio-38.0.0rc3.dist-info}/WHEEL +0 -0
  66. {rucio-38.0.0rc1.dist-info → rucio-38.0.0rc3.dist-info}/licenses/AUTHORS.rst +0 -0
  67. {rucio-38.0.0rc1.dist-info → rucio-38.0.0rc3.dist-info}/licenses/LICENSE +0 -0
  68. {rucio-38.0.0rc1.dist-info → rucio-38.0.0rc3.dist-info}/top_level.txt +0 -0
rucio/common/exception.py CHANGED
@@ -1215,7 +1215,7 @@ class OpenDataError(RucioException):
1215
1215
 
1216
1216
  def __init__(self, *args):
1217
1217
  super(OpenDataError, self).__init__(*args)
1218
- self._message = f"Error related to open data."
1218
+ self._message = "Error related to open data."
1219
1219
  self.error_code = 115
1220
1220
 
1221
1221
 
@@ -1226,7 +1226,7 @@ class OpenDataDataIdentifierNotFound(OpenDataError):
1226
1226
 
1227
1227
  def __init__(self, *args):
1228
1228
  super(OpenDataDataIdentifierNotFound, self).__init__(*args)
1229
- self._message = f"Data identifier not found in the open data catalog."
1229
+ self._message = "Data identifier not found in the open data catalog."
1230
1230
  self.error_code = 116
1231
1231
 
1232
1232
 
@@ -1237,7 +1237,7 @@ class OpenDataDataIdentifierAlreadyExists(OpenDataError):
1237
1237
 
1238
1238
  def __init__(self, *args):
1239
1239
  super(OpenDataDataIdentifierAlreadyExists, self).__init__(*args)
1240
- self._message = f"Data identifier already exists in the open data catalog."
1240
+ self._message = "Data identifier already exists in the open data catalog."
1241
1241
  self.error_code = 117
1242
1242
 
1243
1243
 
@@ -1248,7 +1248,7 @@ class OpenDataInvalidState(OpenDataError):
1248
1248
 
1249
1249
  def __init__(self, *args):
1250
1250
  super(OpenDataInvalidState, self).__init__(*args)
1251
- self._message = f"Open data entry is in an invalid state."
1251
+ self._message = "Open data entry is in an invalid state."
1252
1252
  self.error_code = 118
1253
1253
 
1254
1254
 
@@ -1259,5 +1259,5 @@ class OpenDataInvalidStateUpdate(OpenDataError):
1259
1259
 
1260
1260
  def __init__(self, *args):
1261
1261
  super(OpenDataInvalidStateUpdate, self).__init__(*args)
1262
- self._message = f"Invalid state update attempted on open data entry."
1262
+ self._message = "Invalid state update attempted on open data entry."
1263
1263
  self.error_code = 119
rucio/common/utils.py CHANGED
@@ -399,7 +399,7 @@ class NonDeterministicPFNAlgorithms(PolicyPackageAlgorithms):
399
399
  Initialises a non-deterministic PFN construction object
400
400
  """
401
401
  super().__init__()
402
-
402
+
403
403
  self.vo = vo
404
404
 
405
405
  def construct_non_deterministic_pfn(self, dsn: str, scope: Optional[str], filename: str, naming_convention: str) -> str:
rucio/db/sqla/models.py CHANGED
@@ -517,6 +517,7 @@ class OpenDataDOI(BASE, ModelBase):
517
517
  Index('OPENDATA_DOI_CREATED_AT_IDX', 'created_at'),
518
518
  )
519
519
 
520
+
520
521
  class OpenDataMeta(BASE, ModelBase):
521
522
  """Mapping between OpenData DIDs and DOIs"""
522
523
  __tablename__ = 'dids_opendata_meta'
@@ -535,6 +536,7 @@ class OpenDataMeta(BASE, ModelBase):
535
536
  ),
536
537
  )
537
538
 
539
+
538
540
  class VirtualPlacements(BASE, ModelBase):
539
541
  """Represents virtual placements"""
540
542
  __tablename__ = 'virtual_placements'
rucio/db/sqla/session.py CHANGED
@@ -38,6 +38,8 @@ from rucio.db.sqla.constants import DatabaseOperationType
38
38
 
39
39
  EXTRA_MODULES = import_extras(['MySQLdb', 'pymysql'])
40
40
 
41
+ LOG = logging.getLogger(__name__)
42
+
41
43
  if TYPE_CHECKING:
42
44
  from collections.abc import Callable, Iterator
43
45
  from typing import Optional, ParamSpec, TypeVar
@@ -71,7 +73,6 @@ DEFAULT_SCHEMA_NAME = config_get(DATABASE_SECTION, 'schema',
71
73
  _METADATA = MetaData(schema=DEFAULT_SCHEMA_NAME)
72
74
  _MAKER, _ENGINE, _LOCK = None, None, Lock()
73
75
 
74
-
75
76
  SQLA_CONFIG_POOLCLASS_MAPPING = {
76
77
  'queuepool': QueuePool,
77
78
  'singletonthreadpool': SingletonThreadPool,
@@ -218,6 +219,12 @@ def get_engine() -> 'Engine':
218
219
  if 'mysql' in sql_connection:
219
220
  conv = mysql_convert_decimal_to_float(pymysql=sql_connection.startswith('mysql+pymysql'))
220
221
  params['connect_args'] = {'conv': conv}
222
+ elif 'oracle' in sql_connection:
223
+ try:
224
+ import oracledb # pylint: disable=import-error
225
+ oracledb.init_oracle_client()
226
+ except Exception as err:
227
+ LOG.warning('Could not start Oracle thick mode; falling back to thin: %s', err)
221
228
  for param, param_type in config_params:
222
229
  try:
223
230
  params[param] = param_type(config_get(DATABASE_SECTION, param, check_config_table=False))
rucio/tests/common.py CHANGED
@@ -50,23 +50,75 @@ skip_outside_gh_actions = pytest.mark.skipif(os.getenv("GITHUB_ACTIONS") != "tru
50
50
  reason="Skipping tests outside GitHub Actions")
51
51
 
52
52
 
53
- def is_influxdb_available() -> bool:
54
- """Return True if influxdb is available, else return False."""
53
+ def is_influxdb_available(
54
+ url: str = "http://influxdb:8086",
55
+ timeout: float = 2.0
56
+ ) -> bool:
57
+ """
58
+ Return True when InfluxDB is up and ready for queries, otherwise False.
59
+
60
+ Strategy:
61
+ 1. Try /health → 200 + JSON["status"] == "pass"
62
+ 2. Fallback to /ping → 204
63
+ """
64
+ print(f"Checking InfluxDB availability at {url}")
65
+ try:
66
+ r = requests.get(f"{url}/health", timeout=timeout)
67
+ print(f"InfluxDB /health responded with {r.status_code} and body: {r.text}", r.status_code, r.text)
68
+ if r.status_code == 200 and r.json().get("status") == "pass":
69
+ return True
70
+ print(f"InfluxDB is not running healthy at {url}.")
71
+ return False
72
+ except requests.RequestException as e:
73
+ # /health failed or is not available (pre‑1.8)
74
+ print(f"Failed to query InfluxDB /health at {url}: {e}")
75
+
55
76
  try:
56
- response = requests.get('http://localhost:8086/ping')
57
- return response.status_code == 204
58
- except requests.exceptions.ConnectionError:
59
- print('InfluxDB is not running at localhost:8086')
77
+ print(f"Falling back to /ping for InfluxDB at {url}")
78
+ r = requests.get(f"{url}/ping", timeout=timeout)
79
+ print(f"InfluxDB /ping responded with {r.status_code}")
80
+ return r.status_code == 204
81
+ except requests.RequestException as e:
82
+ print(f"InfluxDB is not reachable at {url}: {e}")
60
83
  return False
61
84
 
62
85
 
63
- def is_elasticsearch_available() -> bool:
64
- """Return True if elasticsearch is available, else return False."""
86
+ def is_elasticsearch_available(
87
+ url: str = "http://elasticsearch:9200",
88
+ timeout: float = 2.0,
89
+ min_status: str = 'green',
90
+ ) -> bool:
91
+ """
92
+ Return True when the Elasticsearch node is reachable **and**
93
+ cluster health is at least `min_status` ('red'<'yellow'<'green').
94
+
95
+ 1. GET /_cluster/health → 200 + JSON["status"] meets threshold
96
+ 2. Fallback: HEAD / → 200 (port open but health unknown)
97
+ """
98
+ _status_level = {"red": 1, "yellow": 2, "green": 3}
99
+
100
+ print(f"Checking Elasticsearch availability at {url}")
101
+ try:
102
+ r = requests.get(f"{url}/_cluster/health", timeout=timeout)
103
+ print(f"Elasticsearch /_cluster/health responded with {r.status_code} and body: {r.text}")
104
+ if r.status_code == 200:
105
+ status = r.json().get("status")
106
+ if status and _status_level[status] >= _status_level[min_status]:
107
+ return True
108
+ print(f"Elasticsearch health is {status!r}, below threshold {min_status!r}.")
109
+ return False
110
+ except requests.RequestException as e:
111
+ # Either not reachable or /_cluster/health not yet available
112
+ print(f"Failed to query Elasticsearch /_cluster/health at {url}: {e}")
113
+
114
+ # Very old nodes or boot‑strapping clusters: fall back to a simple HEAD /
65
115
  try:
66
- response = requests.get('http://localhost:9200/')
67
- return response.status_code == 200
68
- except requests.exceptions.ConnectionError:
69
- print('Elasticsearch is not running at localhost:9200')
116
+ print(f"Falling back to HEAD request for Elasticsearch at {url}")
117
+ r = requests.head(url, timeout=timeout)
118
+ print(f"Elasticsearch HEAD / responded with {r.status_code}")
119
+ return r.status_code == 200
120
+ except requests.RequestException as e:
121
+ print(f"Elasticsearch is not reachable at {url}: {e}")
70
122
  return False
71
123
 
72
124
 
rucio/vcsversion.py CHANGED
@@ -4,8 +4,8 @@ This file is automatically generated; Do not edit it. :)
4
4
  '''
5
5
  VERSION_INFO = {
6
6
  'final': True,
7
- 'version': '38.0.0rc1',
7
+ 'version': '38.0.0rc3',
8
8
  'branch_nick': 'master',
9
- 'revision_id': '7f986b67665c21ac40a2b32732b2f263bafd2f6c',
10
- 'revno': 13890
9
+ 'revision_id': 'c4df1306d192b518b38e023e783ea998c6c0dfb5',
10
+ 'revno': 13917
11
11
  }
@@ -53,6 +53,7 @@ DEFAULT_ENDPOINTS = {
53
53
  'opendata_public',
54
54
  }
55
55
 
56
+
56
57
  def apply_endpoints(app: Flask, modules: "Iterable[str]") -> None:
57
58
  for blueprint_module in modules:
58
59
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rucio
3
- Version: 38.0.0rc1
3
+ Version: 38.0.0rc3
4
4
  Summary: Rucio Package
5
5
  Home-page: https://rucio.cern.ch/
6
6
  Author: Rucio
@@ -52,6 +52,7 @@ Requires-Dist: pymongo<=4.11.2; extra == "mongo"
52
52
  Provides-Extra: elastic
53
53
  Requires-Dist: elasticsearch<=8.15.1; extra == "elastic"
54
54
  Provides-Extra: postgresql
55
+ Requires-Dist: psycopg<=3.2.3; extra == "postgresql"
55
56
  Requires-Dist: psycopg-binary<=3.2.3; extra == "postgresql"
56
57
  Requires-Dist: psycopg-pool<=3.2.3; extra == "postgresql"
57
58
  Provides-Extra: mysql
@@ -1,6 +1,6 @@
1
1
  rucio/__init__.py,sha256=Y7cPPlHVQPFyN8bSPFC0W3WViEdONr5g_qwBub5rufE,660
2
2
  rucio/alembicrevision.py,sha256=9tnjQLFkTpUEcZqcw-ojWpt4Wbg-5OtMJ0CfjPc0wX8,690
3
- rucio/vcsversion.py,sha256=BllNYoGH_l-KvMjzfuzQlpdKrigN7WKfxQz65tmjfbI,243
3
+ rucio/vcsversion.py,sha256=WgL70niCgwh9J3Ao0R2KZWwe8TZ1oXyomfCvcQ-NjW4,243
4
4
  rucio/version.py,sha256=IwsNb1QQk0D092QQbR2K9wBPF2Akny1RGs-ZZziUohE,1519
5
5
  rucio/cli/__init__.py,sha256=GIkHmxgE3xdvWSf-7ZnvVaJmbs7NokaSjbFzsrXOG9o,662
6
6
  rucio/cli/account.py,sha256=7YWLfmiplhCjaaHNSYBzd7d_4yYzxUSRrsT0xGcNr2w,9452
@@ -55,7 +55,7 @@ rucio/common/config.py,sha256=69AhxgP9SXXrlaTqlOCQiaiqGqHLhSfhRFasroGfDdc,24402
55
55
  rucio/common/constants.py,sha256=5MhQHY24NODmvp71MqHS8BzSird2K1ICmC94clD-JlY,7751
56
56
  rucio/common/constraints.py,sha256=MrdiAwKyoaZGfspUWX_53XS2790nXMSMg1JYmTO_ciQ,726
57
57
  rucio/common/didtype.py,sha256=nXoyK740yrwsiGX9e9vOc8UX0PXRvKry67C0Sd8SpmM,8010
58
- rucio/common/exception.py,sha256=xGwTXPyC7IwfXqE8ZVfUW7EbStP5NIaeSxzhyBjYdrk,36193
58
+ rucio/common/exception.py,sha256=q_vSqaJ_SdPorkyo247-l9HqBDpZSGZ1pf2-ZR4uaUY,36188
59
59
  rucio/common/extra.py,sha256=IE01275vTJobyNiYbptU9NmsUl2Ga_92FSoOODV8Qfk,1054
60
60
  rucio/common/logging.py,sha256=_G1QDFpPLghz2VXOjdhC7j-TtZBxmPJsyJtztW7mf68,15874
61
61
  rucio/common/pcache.py,sha256=V2OnO4h4v5yaxWT9T9DMJpm-2rLalBzzaqlUWUq5x4c,47097
@@ -65,7 +65,7 @@ rucio/common/stomp_utils.py,sha256=3GTiRTJ0roe5OX_wgkVwOJYAIhGgYbhiROHc2M8LQT8,5
65
65
  rucio/common/stopwatch.py,sha256=_9zxoLjr8A0wUDJsljK4vZNDCI-dIOgpcxXiCNVJcHU,1641
66
66
  rucio/common/test_rucio_server.py,sha256=2teFpN5Pthp-zQt1_aErOURDTgOhFP9GKdEr1NMmc4o,5085
67
67
  rucio/common/types.py,sha256=joi_upIQsi3U3HMmyfVOVQem3404kGI6OixyFzrqavk,11941
68
- rucio/common/utils.py,sha256=HfWtrQIfQ6-vxQMSrK6RaCSqVlBEAszNHqd5lMRKEec,67306
68
+ rucio/common/utils.py,sha256=FauL76qhhSm2IZxKrZT7cSnURPCytWAZP5awHdTAXNY,67298
69
69
  rucio/common/dumper/__init__.py,sha256=FHhVrOmAJ6-bfHFxgUkPIiejQ0nbGojrW26hfRBHvhg,10940
70
70
  rucio/common/dumper/consistency.py,sha256=k1MLD9RAVBR7uBZxjuuQsD8PzbXzOSd6vdWytDweUx4,17962
71
71
  rucio/common/dumper/data_models.py,sha256=ckjUy7R9ftmsSCjC1kF0Ccpjq53Eba4EWWlpHzGKI8M,11184
@@ -192,9 +192,9 @@ rucio/daemons/undertaker/undertaker.py,sha256=b8HiFkk7YY4fxORQ7MgmDVADZvvHlHiKrc
192
192
  rucio/db/__init__.py,sha256=Q91iipvMQ0VzNMuYcYQfDujZ0vL-hrB4Kmd0YrgtHGQ,618
193
193
  rucio/db/sqla/__init__.py,sha256=nVXdqNgRs6AXgN7cVM3MAdHZZDX1l0FdVEabWEtMbbw,2506
194
194
  rucio/db/sqla/constants.py,sha256=F0MhQNm7-vgDzXXF7SzVLIRu_JhyfLUdTixXqUX-Seo,4396
195
- rucio/db/sqla/models.py,sha256=9WTeXTmnyBAOWzIUahZXIJsll4bk9Y-7iZULEL8znYc,114781
195
+ rucio/db/sqla/models.py,sha256=0Zy_VUPNTo_Huu_mdGPdO46a0QfdDyAffMKsfvtqLbc,114783
196
196
  rucio/db/sqla/sautils.py,sha256=X4gHWCkqvDlJEEHmhO2txV94__kvS8M9Hb1aJvbLaUg,2000
197
- rucio/db/sqla/session.py,sha256=q4E9ufRjv_GWd_QgsYpI9a2vEeSXat5IdSylfsIUSE8,19251
197
+ rucio/db/sqla/session.py,sha256=iu00PirtSQYQe1671lAZTqq8xv_J4CTPHPi8sKa_86A,19586
198
198
  rucio/db/sqla/types.py,sha256=VBCDsSozh2mUNwmmBNbA5xZHkgU0FMXwRBmsc33YUtE,6090
199
199
  rucio/db/sqla/util.py,sha256=-CRPH_wkvYFjMpFYYlIs6Vux6F_oDyKSlRjb8HNy_XI,22689
200
200
  rucio/db/sqla/migrate_repo/__init__.py,sha256=Q91iipvMQ0VzNMuYcYQfDujZ0vL-hrB4Kmd0YrgtHGQ,618
@@ -377,7 +377,7 @@ rucio/rse/protocols/storm.py,sha256=Z4fzklxG-x70A0Lugg1jE1RicwCSeF27iz0MXO-4to0,
377
377
  rucio/rse/protocols/webdav.py,sha256=8UzmBA8vF_-exoUvpIHRQLfhvAvExQsfu-P4WbXGOXI,24810
378
378
  rucio/rse/protocols/xrootd.py,sha256=oJHueVR44dcW5nkg8jCbr9PetV9UIti3C0tka_m7yIk,12604
379
379
  rucio/tests/__init__.py,sha256=Q91iipvMQ0VzNMuYcYQfDujZ0vL-hrB4Kmd0YrgtHGQ,618
380
- rucio/tests/common.py,sha256=dba3eBy4A1eBC0QiLg8hoIMFjFpnYIoHD64_Q0l_-As,9717
380
+ rucio/tests/common.py,sha256=oPffRftoWH3Pxv27XscwLl2_o7I4AHNTpKjsSyb9-RE,11925
381
381
  rucio/tests/common_server.py,sha256=hRuD7IZZjlNtahvkIssRvNPK68dS7Cs00aUuO4BQsWs,5667
382
382
  rucio/transfertool/__init__.py,sha256=Q91iipvMQ0VzNMuYcYQfDujZ0vL-hrB4Kmd0YrgtHGQ,618
383
383
  rucio/transfertool/bittorrent.py,sha256=2gPRmopyav8IXAtHcsC5oUcjZtmNQ8prUMKzFcCPUaE,8378
@@ -412,7 +412,7 @@ rucio/web/rest/flaskapi/v1/identities.py,sha256=A9pkEUfeFdCx0Ux2uzCsH47XDygqH36w
412
412
  rucio/web/rest/flaskapi/v1/import.py,sha256=YtMBJkwtwdZ75GFY-da8K2rQgZd4Y37bJo7IFmSOJ98,5293
413
413
  rucio/web/rest/flaskapi/v1/lifetime_exceptions.py,sha256=j_PxdALWJ6semHyzezFgaN6B1gYzHyRJSOlvky0APf0,12123
414
414
  rucio/web/rest/flaskapi/v1/locks.py,sha256=46DQnKxivraxHmAl3jV2aQVVSnaum1yUhR0BJrK7sQM,13123
415
- rucio/web/rest/flaskapi/v1/main.py,sha256=Czstw9a9vw-KjWjW69sgN1MB4OCNqbg7O90A9q0uHEk,3142
415
+ rucio/web/rest/flaskapi/v1/main.py,sha256=PIU3vZP_yYfnYALZOtBkX3uNZj6ylJB1Jm_m_Ag7XgI,3143
416
416
  rucio/web/rest/flaskapi/v1/meta_conventions.py,sha256=f69e-aF7tDpM9oaxH8sX2NVWd9eJk6yhFAyCLj2acmM,7322
417
417
  rucio/web/rest/flaskapi/v1/metrics.py,sha256=-tCHboUu_5hI87G_pZswhpY6koTwu6WudgW4RixOnIg,1250
418
418
  rucio/web/rest/flaskapi/v1/nongrid_traces.py,sha256=yP2T0bT5SrXVVHNMElYPU2sCMQKaxI5Y-s-H_xvN-h0,3151
@@ -431,64 +431,64 @@ rucio/web/rest/flaskapi/v1/types.py,sha256=kY-nml_En9zwkKu9TEYwEZGaF2NJ09gN2IUY7
431
431
  rucio/web/rest/flaskapi/v1/vos.py,sha256=qt0PKhXqXfJDFN0b15gvHYNArWFDRI1PDmlyP93D4WY,9178
432
432
  rucio/web/rest/flaskapi/v1/templates/auth_crash.html,sha256=enhyVliQHlblgCEHvBzAlLxymFySlc42tk87vfWdBo0,2254
433
433
  rucio/web/rest/flaskapi/v1/templates/auth_granted.html,sha256=SDsrTCQhwklLu3mDtSTUATnK16QG1T-eWDTDjmv8bn4,2139
434
- rucio-38.0.0rc1.data/data/rucio/requirements.server.txt,sha256=0tq4Oa50x-KzrCU5s2P8074foEcGzSNxaSsrQr_os8k,6011
435
- rucio-38.0.0rc1.data/data/rucio/etc/alembic.ini.template,sha256=4eZJWGyy_-lzZoIhQNRDVGqkALTe0i7Em4wkI4ocVvw,1781
436
- rucio-38.0.0rc1.data/data/rucio/etc/alembic_offline.ini.template,sha256=NLswPNzUFLVm2l4V4gzWcUpbLNLMnYFRttyVIGXsDaM,1939
437
- rucio-38.0.0rc1.data/data/rucio/etc/globus-config.yml.template,sha256=ADOplXW10bO5KZVYRavwKgNaDR0VmdJ3gVbINeqoSIA,96
438
- rucio-38.0.0rc1.data/data/rucio/etc/ldap.cfg.template,sha256=2n-Exv81toCDZ6OzuNfMa71OoiLTdCSjWhkzCfSN3eM,806
439
- rucio-38.0.0rc1.data/data/rucio/etc/rse-accounts.cfg.template,sha256=IfDnXVxBPUrMnTMbJnd3P7eYHgY1C4Kfz7xKskJs-FI,543
440
- rucio-38.0.0rc1.data/data/rucio/etc/rucio.cfg.atlas.client.template,sha256=aHP1oX9m5yA8xVTTT2Hz6AyOYu92-Bcd5LF0i3AZRQw,1350
441
- rucio-38.0.0rc1.data/data/rucio/etc/rucio.cfg.template,sha256=hKnGDIm7oIFWBhj6vr5L6bE4TDRHT-7eZh9IsqOHbpo,8023
442
- rucio-38.0.0rc1.data/data/rucio/etc/rucio_multi_vo.cfg.template,sha256=OOl_XA1lx0h9RUu9ogdjPySzUEbABGPYNiAIRM0LPcQ,6946
443
- rucio-38.0.0rc1.data/data/rucio/etc/mail_templates/rule_approval_request.tmpl,sha256=MTrB-IQEFE6TJnkwXjLxlUIc4afHmmrdQDC1S5og_dM,1210
444
- rucio-38.0.0rc1.data/data/rucio/etc/mail_templates/rule_approved_admin.tmpl,sha256=HxYNm7EKG9cMNkwUNPgZUC7o0Q9-DTINh1JtGtHOYUg,105
445
- rucio-38.0.0rc1.data/data/rucio/etc/mail_templates/rule_approved_user.tmpl,sha256=R4rssZ2hE8wcYPmAyc-UDpO5SPhMLZGNuYz6pvLjPVc,499
446
- rucio-38.0.0rc1.data/data/rucio/etc/mail_templates/rule_denied_admin.tmpl,sha256=feXJ3pZynlESBuPoe_y8amB84UQnLaP6SHtRk3cn7ZA,120
447
- rucio-38.0.0rc1.data/data/rucio/etc/mail_templates/rule_denied_user.tmpl,sha256=O054th_sVqZTFUeC3Gg_Qe8CrXQb-bxJhMaO48VMzzU,493
448
- rucio-38.0.0rc1.data/data/rucio/etc/mail_templates/rule_ok_notification.tmpl,sha256=EiT0KucfIKYnIN5XO9XawzZAJSVRYlza5sn8VloyBy4,546
449
- rucio-38.0.0rc1.data/data/rucio/tools/bootstrap.py,sha256=iI0Ue2mrRJdjFITm93DLHUBxDb_yfEoMUDpgO5Bqkhw,1259
450
- rucio-38.0.0rc1.data/data/rucio/tools/merge_rucio_configs.py,sha256=u62K1EcCGydM5nZA30zhlqWo4EX5N87b_MDkx5YfzVI,6163
451
- rucio-38.0.0rc1.data/data/rucio/tools/reset_database.py,sha256=ZDXVWhIck_QeIi6F7X2qlPK9kgaCo1DsG4lOj3HA8fo,3449
452
- rucio-38.0.0rc1.data/scripts/rucio,sha256=MfHQzU-lmFsKWORw_aJ632TaKE9Oq_AqrFAEIbA0Drs,5167
453
- rucio-38.0.0rc1.data/scripts/rucio-abacus-account,sha256=rT7tgYxl5TMhPlg8gCvUA8NSxbgHdjilV8NJ_QMC5GA,2886
454
- rucio-38.0.0rc1.data/scripts/rucio-abacus-collection-replica,sha256=HD2acGu8xBDAsKGCA7oLQvcY5SdT1mIQhSrREDV2n_M,1809
455
- rucio-38.0.0rc1.data/scripts/rucio-abacus-rse,sha256=DoRsYnMzzkH7z6YvWjl40mIgXmq_3-osTPdDAqPjHgA,2633
456
- rucio-38.0.0rc1.data/scripts/rucio-admin,sha256=AhPO6-fAPviHObhB_Yi7GJXKfjpaH6m0RqxwctBeFlE,4229
457
- rucio-38.0.0rc1.data/scripts/rucio-atropos,sha256=o6KsmbjxbFgtKWl7gZbmBxBc3gYWax6FkkyfhUDmKbY,3171
458
- rucio-38.0.0rc1.data/scripts/rucio-auditor,sha256=4ktnrxKXkJTyMKysPc-AE7dDGbsa1e_o8bRDRkiJpT4,6124
459
- rucio-38.0.0rc1.data/scripts/rucio-automatix,sha256=Lgud3OXVqUcBrPMtTAgSgPE5ZWSr74FBfBh0EoA9-E8,1996
460
- rucio-38.0.0rc1.data/scripts/rucio-bb8,sha256=TD8P3cMiDB_knZKZcGTQsy8aA7nPQXMC1TNPCyXrsSg,3089
461
- rucio-38.0.0rc1.data/scripts/rucio-cache-client,sha256=71-xm4MyxEDBlwnlviHsOgF0tx5EbADsPoVpj_DJDkA,5276
462
- rucio-38.0.0rc1.data/scripts/rucio-cache-consumer,sha256=5mCXRQWwAww3aabTMQh-U9HgHFkCJf3VpTHdk9R-rsU,1348
463
- rucio-38.0.0rc1.data/scripts/rucio-conveyor-finisher,sha256=mAexgdlj41UOwIQDZ5POU8gTRMuKzaOqhEww6cRV2rI,2333
464
- rucio-38.0.0rc1.data/scripts/rucio-conveyor-poller,sha256=z2C17x3n_eKdDrL1w1ePJpslkbOw2UMTh5BaOw-__Es,2825
465
- rucio-38.0.0rc1.data/scripts/rucio-conveyor-preparer,sha256=jlaBQbN8f081ekInQxn3QcNvrQQqedmdjQ6PeEp9JeU,1746
466
- rucio-38.0.0rc1.data/scripts/rucio-conveyor-receiver,sha256=Tgg6oXQp1G31ZK_7OKh6fLvcO3GdGi55b7xho2I9B74,1669
467
- rucio-38.0.0rc1.data/scripts/rucio-conveyor-stager,sha256=AaFzBHTahrv5--H16lbpUlXc64hijLL_myakuJ0V-oI,3371
468
- rucio-38.0.0rc1.data/scripts/rucio-conveyor-submitter,sha256=IMENh4rK8w6KbjZaOD8UJEv5BHdiFDjhfsHmZZK-T80,6738
469
- rucio-38.0.0rc1.data/scripts/rucio-conveyor-throttler,sha256=5YIuyXE_ezko31YMuQkz-w1oGGYluoL3FP7o50KtoTI,3914
470
- rucio-38.0.0rc1.data/scripts/rucio-dark-reaper,sha256=GmQAUNmmJKJjeuY7jbQIHvrbdQWRJSlqojMF_6h8j2Y,2532
471
- rucio-38.0.0rc1.data/scripts/rucio-dumper,sha256=zGfdsamPIUxbnDFDPM6FtqR1d3FH1AdC0gtH1JeLaxU,6729
472
- rucio-38.0.0rc1.data/scripts/rucio-follower,sha256=GgZPcVlIejOX91VcgbUh7DThYTu3lDe8c1AuCIk85vM,1400
473
- rucio-38.0.0rc1.data/scripts/rucio-hermes,sha256=i238hHzuv9JNUUPHNcOjnFQSs6BpPmz88t8ZFgS2GxI,1973
474
- rucio-38.0.0rc1.data/scripts/rucio-judge-cleaner,sha256=iOucH4sil-tu5nibFOSKK3BQUhkXvzAx4E5QGbQGGCs,4726
475
- rucio-38.0.0rc1.data/scripts/rucio-judge-evaluator,sha256=JrWN2ZatnUig5iWM7Ku4nEspXBjaucOrc8Ic55_OCzc,7458
476
- rucio-38.0.0rc1.data/scripts/rucio-judge-injector,sha256=d6na_n4H7njpUmJQg2Gc4KlbgK0_xuW5vw3waLReLTQ,1657
477
- rucio-38.0.0rc1.data/scripts/rucio-judge-repairer,sha256=QHeBySAn1bYS17z5dTfq8o81uEUpqhGVUqe6KWZBVmQ,1661
478
- rucio-38.0.0rc1.data/scripts/rucio-kronos,sha256=WQQ0izYfdVvmfaaRkqSf4mejL-U86OL5mD5v1t2p6Eg,1770
479
- rucio-38.0.0rc1.data/scripts/rucio-minos,sha256=-utVl82-xd7zxp4yy1udqCm_MehRP7pU5WDdJ7EFuac,2246
480
- rucio-38.0.0rc1.data/scripts/rucio-minos-temporary-expiration,sha256=E9G_h__cJNWuEcFDoeBFjzCHqp1swW-ff67M2WpZ3eg,1983
481
- rucio-38.0.0rc1.data/scripts/rucio-necromancer,sha256=3qGsbLJqoEVyuKYLgpCRoxRexPf-_1ufR_wJYMby9gc,5681
482
- rucio-38.0.0rc1.data/scripts/rucio-oauth-manager,sha256=qqFyI_L-bHg4R6a3OSgL_RsmosuODykX7HM-u0Mr-nY,2776
483
- rucio-38.0.0rc1.data/scripts/rucio-reaper,sha256=c0aMDs0N0ubKcl5T5aHunqaBcmIIj6WmERReKTS9di4,3773
484
- rucio-38.0.0rc1.data/scripts/rucio-replica-recoverer,sha256=vE_8iW0wooL3rSejMtX5SDKZ8jVit1QC86XesGwwsIU,19446
485
- rucio-38.0.0rc1.data/scripts/rucio-rse-decommissioner,sha256=zXXTq1lPzoI5R012fGWrxXi9VcHZNIfB85EefwQN1kw,2337
486
- rucio-38.0.0rc1.data/scripts/rucio-storage-consistency-actions,sha256=Mb4GUO1kP7HdiCORhHkYfmfZIhJKp88RBr8TEC19HXo,3906
487
- rucio-38.0.0rc1.data/scripts/rucio-transmogrifier,sha256=i17F1FTrxharmCWVZpylXSH2Xow2KaxkTr2jzDFn8Rc,3350
488
- rucio-38.0.0rc1.data/scripts/rucio-undertaker,sha256=JYwGBZC_wdwOPHJKXj_VLipd7G838Eo__43JFNtBors,2775
489
- rucio-38.0.0rc1.dist-info/licenses/AUTHORS.rst,sha256=c4MEJjLcFZ5euNtPA7jGFL26javbFKpWTvxBoIs_l6w,4726
490
- rucio-38.0.0rc1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
491
- rucio-38.0.0rc1.dist-info/METADATA,sha256=w8CZZjjmr-1jVIhBlcMJ6qUMkyZcWqID8wwj3-tWXBQ,3250
492
- rucio-38.0.0rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
493
- rucio-38.0.0rc1.dist-info/top_level.txt,sha256=lJM8plwW0ePPICkwFnpYzfdqHnSv6JZr1OD4JEysPgM,6
494
- rucio-38.0.0rc1.dist-info/RECORD,,
434
+ rucio-38.0.0rc3.data/data/rucio/requirements.server.txt,sha256=0tq4Oa50x-KzrCU5s2P8074foEcGzSNxaSsrQr_os8k,6011
435
+ rucio-38.0.0rc3.data/data/rucio/etc/alembic.ini.template,sha256=4eZJWGyy_-lzZoIhQNRDVGqkALTe0i7Em4wkI4ocVvw,1781
436
+ rucio-38.0.0rc3.data/data/rucio/etc/alembic_offline.ini.template,sha256=NLswPNzUFLVm2l4V4gzWcUpbLNLMnYFRttyVIGXsDaM,1939
437
+ rucio-38.0.0rc3.data/data/rucio/etc/globus-config.yml.template,sha256=ADOplXW10bO5KZVYRavwKgNaDR0VmdJ3gVbINeqoSIA,96
438
+ rucio-38.0.0rc3.data/data/rucio/etc/ldap.cfg.template,sha256=2n-Exv81toCDZ6OzuNfMa71OoiLTdCSjWhkzCfSN3eM,806
439
+ rucio-38.0.0rc3.data/data/rucio/etc/rse-accounts.cfg.template,sha256=IfDnXVxBPUrMnTMbJnd3P7eYHgY1C4Kfz7xKskJs-FI,543
440
+ rucio-38.0.0rc3.data/data/rucio/etc/rucio.cfg.atlas.client.template,sha256=aHP1oX9m5yA8xVTTT2Hz6AyOYu92-Bcd5LF0i3AZRQw,1350
441
+ rucio-38.0.0rc3.data/data/rucio/etc/rucio.cfg.template,sha256=hKnGDIm7oIFWBhj6vr5L6bE4TDRHT-7eZh9IsqOHbpo,8023
442
+ rucio-38.0.0rc3.data/data/rucio/etc/rucio_multi_vo.cfg.template,sha256=OOl_XA1lx0h9RUu9ogdjPySzUEbABGPYNiAIRM0LPcQ,6946
443
+ rucio-38.0.0rc3.data/data/rucio/etc/mail_templates/rule_approval_request.tmpl,sha256=MTrB-IQEFE6TJnkwXjLxlUIc4afHmmrdQDC1S5og_dM,1210
444
+ rucio-38.0.0rc3.data/data/rucio/etc/mail_templates/rule_approved_admin.tmpl,sha256=HxYNm7EKG9cMNkwUNPgZUC7o0Q9-DTINh1JtGtHOYUg,105
445
+ rucio-38.0.0rc3.data/data/rucio/etc/mail_templates/rule_approved_user.tmpl,sha256=R4rssZ2hE8wcYPmAyc-UDpO5SPhMLZGNuYz6pvLjPVc,499
446
+ rucio-38.0.0rc3.data/data/rucio/etc/mail_templates/rule_denied_admin.tmpl,sha256=feXJ3pZynlESBuPoe_y8amB84UQnLaP6SHtRk3cn7ZA,120
447
+ rucio-38.0.0rc3.data/data/rucio/etc/mail_templates/rule_denied_user.tmpl,sha256=O054th_sVqZTFUeC3Gg_Qe8CrXQb-bxJhMaO48VMzzU,493
448
+ rucio-38.0.0rc3.data/data/rucio/etc/mail_templates/rule_ok_notification.tmpl,sha256=EiT0KucfIKYnIN5XO9XawzZAJSVRYlza5sn8VloyBy4,546
449
+ rucio-38.0.0rc3.data/data/rucio/tools/bootstrap.py,sha256=iI0Ue2mrRJdjFITm93DLHUBxDb_yfEoMUDpgO5Bqkhw,1259
450
+ rucio-38.0.0rc3.data/data/rucio/tools/merge_rucio_configs.py,sha256=u62K1EcCGydM5nZA30zhlqWo4EX5N87b_MDkx5YfzVI,6163
451
+ rucio-38.0.0rc3.data/data/rucio/tools/reset_database.py,sha256=ZDXVWhIck_QeIi6F7X2qlPK9kgaCo1DsG4lOj3HA8fo,3449
452
+ rucio-38.0.0rc3.data/scripts/rucio,sha256=MfHQzU-lmFsKWORw_aJ632TaKE9Oq_AqrFAEIbA0Drs,5167
453
+ rucio-38.0.0rc3.data/scripts/rucio-abacus-account,sha256=rT7tgYxl5TMhPlg8gCvUA8NSxbgHdjilV8NJ_QMC5GA,2886
454
+ rucio-38.0.0rc3.data/scripts/rucio-abacus-collection-replica,sha256=HD2acGu8xBDAsKGCA7oLQvcY5SdT1mIQhSrREDV2n_M,1809
455
+ rucio-38.0.0rc3.data/scripts/rucio-abacus-rse,sha256=DoRsYnMzzkH7z6YvWjl40mIgXmq_3-osTPdDAqPjHgA,2633
456
+ rucio-38.0.0rc3.data/scripts/rucio-admin,sha256=AhPO6-fAPviHObhB_Yi7GJXKfjpaH6m0RqxwctBeFlE,4229
457
+ rucio-38.0.0rc3.data/scripts/rucio-atropos,sha256=o6KsmbjxbFgtKWl7gZbmBxBc3gYWax6FkkyfhUDmKbY,3171
458
+ rucio-38.0.0rc3.data/scripts/rucio-auditor,sha256=4ktnrxKXkJTyMKysPc-AE7dDGbsa1e_o8bRDRkiJpT4,6124
459
+ rucio-38.0.0rc3.data/scripts/rucio-automatix,sha256=Lgud3OXVqUcBrPMtTAgSgPE5ZWSr74FBfBh0EoA9-E8,1996
460
+ rucio-38.0.0rc3.data/scripts/rucio-bb8,sha256=TD8P3cMiDB_knZKZcGTQsy8aA7nPQXMC1TNPCyXrsSg,3089
461
+ rucio-38.0.0rc3.data/scripts/rucio-cache-client,sha256=71-xm4MyxEDBlwnlviHsOgF0tx5EbADsPoVpj_DJDkA,5276
462
+ rucio-38.0.0rc3.data/scripts/rucio-cache-consumer,sha256=5mCXRQWwAww3aabTMQh-U9HgHFkCJf3VpTHdk9R-rsU,1348
463
+ rucio-38.0.0rc3.data/scripts/rucio-conveyor-finisher,sha256=mAexgdlj41UOwIQDZ5POU8gTRMuKzaOqhEww6cRV2rI,2333
464
+ rucio-38.0.0rc3.data/scripts/rucio-conveyor-poller,sha256=z2C17x3n_eKdDrL1w1ePJpslkbOw2UMTh5BaOw-__Es,2825
465
+ rucio-38.0.0rc3.data/scripts/rucio-conveyor-preparer,sha256=jlaBQbN8f081ekInQxn3QcNvrQQqedmdjQ6PeEp9JeU,1746
466
+ rucio-38.0.0rc3.data/scripts/rucio-conveyor-receiver,sha256=Tgg6oXQp1G31ZK_7OKh6fLvcO3GdGi55b7xho2I9B74,1669
467
+ rucio-38.0.0rc3.data/scripts/rucio-conveyor-stager,sha256=AaFzBHTahrv5--H16lbpUlXc64hijLL_myakuJ0V-oI,3371
468
+ rucio-38.0.0rc3.data/scripts/rucio-conveyor-submitter,sha256=IMENh4rK8w6KbjZaOD8UJEv5BHdiFDjhfsHmZZK-T80,6738
469
+ rucio-38.0.0rc3.data/scripts/rucio-conveyor-throttler,sha256=5YIuyXE_ezko31YMuQkz-w1oGGYluoL3FP7o50KtoTI,3914
470
+ rucio-38.0.0rc3.data/scripts/rucio-dark-reaper,sha256=GmQAUNmmJKJjeuY7jbQIHvrbdQWRJSlqojMF_6h8j2Y,2532
471
+ rucio-38.0.0rc3.data/scripts/rucio-dumper,sha256=zGfdsamPIUxbnDFDPM6FtqR1d3FH1AdC0gtH1JeLaxU,6729
472
+ rucio-38.0.0rc3.data/scripts/rucio-follower,sha256=GgZPcVlIejOX91VcgbUh7DThYTu3lDe8c1AuCIk85vM,1400
473
+ rucio-38.0.0rc3.data/scripts/rucio-hermes,sha256=i238hHzuv9JNUUPHNcOjnFQSs6BpPmz88t8ZFgS2GxI,1973
474
+ rucio-38.0.0rc3.data/scripts/rucio-judge-cleaner,sha256=iOucH4sil-tu5nibFOSKK3BQUhkXvzAx4E5QGbQGGCs,4726
475
+ rucio-38.0.0rc3.data/scripts/rucio-judge-evaluator,sha256=JrWN2ZatnUig5iWM7Ku4nEspXBjaucOrc8Ic55_OCzc,7458
476
+ rucio-38.0.0rc3.data/scripts/rucio-judge-injector,sha256=d6na_n4H7njpUmJQg2Gc4KlbgK0_xuW5vw3waLReLTQ,1657
477
+ rucio-38.0.0rc3.data/scripts/rucio-judge-repairer,sha256=QHeBySAn1bYS17z5dTfq8o81uEUpqhGVUqe6KWZBVmQ,1661
478
+ rucio-38.0.0rc3.data/scripts/rucio-kronos,sha256=WQQ0izYfdVvmfaaRkqSf4mejL-U86OL5mD5v1t2p6Eg,1770
479
+ rucio-38.0.0rc3.data/scripts/rucio-minos,sha256=-utVl82-xd7zxp4yy1udqCm_MehRP7pU5WDdJ7EFuac,2246
480
+ rucio-38.0.0rc3.data/scripts/rucio-minos-temporary-expiration,sha256=E9G_h__cJNWuEcFDoeBFjzCHqp1swW-ff67M2WpZ3eg,1983
481
+ rucio-38.0.0rc3.data/scripts/rucio-necromancer,sha256=3qGsbLJqoEVyuKYLgpCRoxRexPf-_1ufR_wJYMby9gc,5681
482
+ rucio-38.0.0rc3.data/scripts/rucio-oauth-manager,sha256=qqFyI_L-bHg4R6a3OSgL_RsmosuODykX7HM-u0Mr-nY,2776
483
+ rucio-38.0.0rc3.data/scripts/rucio-reaper,sha256=c0aMDs0N0ubKcl5T5aHunqaBcmIIj6WmERReKTS9di4,3773
484
+ rucio-38.0.0rc3.data/scripts/rucio-replica-recoverer,sha256=vE_8iW0wooL3rSejMtX5SDKZ8jVit1QC86XesGwwsIU,19446
485
+ rucio-38.0.0rc3.data/scripts/rucio-rse-decommissioner,sha256=zXXTq1lPzoI5R012fGWrxXi9VcHZNIfB85EefwQN1kw,2337
486
+ rucio-38.0.0rc3.data/scripts/rucio-storage-consistency-actions,sha256=Mb4GUO1kP7HdiCORhHkYfmfZIhJKp88RBr8TEC19HXo,3906
487
+ rucio-38.0.0rc3.data/scripts/rucio-transmogrifier,sha256=i17F1FTrxharmCWVZpylXSH2Xow2KaxkTr2jzDFn8Rc,3350
488
+ rucio-38.0.0rc3.data/scripts/rucio-undertaker,sha256=JYwGBZC_wdwOPHJKXj_VLipd7G838Eo__43JFNtBors,2775
489
+ rucio-38.0.0rc3.dist-info/licenses/AUTHORS.rst,sha256=c4MEJjLcFZ5euNtPA7jGFL26javbFKpWTvxBoIs_l6w,4726
490
+ rucio-38.0.0rc3.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
491
+ rucio-38.0.0rc3.dist-info/METADATA,sha256=SrJU9IBnH889OUp6cjVz2XhbOhcSSaJ3fd5k_K5KaPg,3303
492
+ rucio-38.0.0rc3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
493
+ rucio-38.0.0rc3.dist-info/top_level.txt,sha256=lJM8plwW0ePPICkwFnpYzfdqHnSv6JZr1OD4JEysPgM,6
494
+ rucio-38.0.0rc3.dist-info/RECORD,,