rucio 38.0.0rc2__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.
- rucio/common/exception.py +5 -5
- rucio/common/utils.py +1 -1
- rucio/db/sqla/models.py +2 -0
- rucio/db/sqla/session.py +8 -1
- rucio/tests/common.py +64 -12
- rucio/vcsversion.py +3 -3
- rucio/web/rest/flaskapi/v1/main.py +1 -0
- {rucio-38.0.0rc2.dist-info → rucio-38.0.0rc3.dist-info}/METADATA +1 -1
- {rucio-38.0.0rc2.dist-info → rucio-38.0.0rc3.dist-info}/RECORD +68 -68
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/alembic.ini.template +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/alembic_offline.ini.template +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/globus-config.yml.template +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/ldap.cfg.template +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_approval_request.tmpl +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_approved_admin.tmpl +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_approved_user.tmpl +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_denied_admin.tmpl +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_denied_user.tmpl +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_ok_notification.tmpl +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/rse-accounts.cfg.template +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/rucio.cfg.template +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/rucio_multi_vo.cfg.template +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/requirements.server.txt +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/tools/bootstrap.py +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/tools/merge_rucio_configs.py +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/tools/reset_database.py +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-abacus-account +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-abacus-collection-replica +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-abacus-rse +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-admin +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-atropos +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-auditor +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-automatix +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-bb8 +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-cache-client +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-cache-consumer +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-finisher +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-poller +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-preparer +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-receiver +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-stager +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-submitter +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-conveyor-throttler +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-dark-reaper +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-dumper +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-follower +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-hermes +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-judge-cleaner +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-judge-evaluator +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-judge-injector +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-judge-repairer +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-kronos +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-minos +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-minos-temporary-expiration +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-necromancer +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-oauth-manager +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-reaper +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-replica-recoverer +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-rse-decommissioner +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-storage-consistency-actions +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-transmogrifier +0 -0
- {rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/scripts/rucio-undertaker +0 -0
- {rucio-38.0.0rc2.dist-info → rucio-38.0.0rc3.dist-info}/WHEEL +0 -0
- {rucio-38.0.0rc2.dist-info → rucio-38.0.0rc3.dist-info}/licenses/AUTHORS.rst +0 -0
- {rucio-38.0.0rc2.dist-info → rucio-38.0.0rc3.dist-info}/licenses/LICENSE +0 -0
- {rucio-38.0.0rc2.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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
54
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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(
|
|
64
|
-
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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.
|
|
7
|
+
'version': '38.0.0rc3',
|
|
8
8
|
'branch_nick': 'master',
|
|
9
|
-
'revision_id': '
|
|
10
|
-
'revno':
|
|
9
|
+
'revision_id': 'c4df1306d192b518b38e023e783ea998c6c0dfb5',
|
|
10
|
+
'revno': 13917
|
|
11
11
|
}
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
435
|
-
rucio-38.0.
|
|
436
|
-
rucio-38.0.
|
|
437
|
-
rucio-38.0.
|
|
438
|
-
rucio-38.0.
|
|
439
|
-
rucio-38.0.
|
|
440
|
-
rucio-38.0.
|
|
441
|
-
rucio-38.0.
|
|
442
|
-
rucio-38.0.
|
|
443
|
-
rucio-38.0.
|
|
444
|
-
rucio-38.0.
|
|
445
|
-
rucio-38.0.
|
|
446
|
-
rucio-38.0.
|
|
447
|
-
rucio-38.0.
|
|
448
|
-
rucio-38.0.
|
|
449
|
-
rucio-38.0.
|
|
450
|
-
rucio-38.0.
|
|
451
|
-
rucio-38.0.
|
|
452
|
-
rucio-38.0.
|
|
453
|
-
rucio-38.0.
|
|
454
|
-
rucio-38.0.
|
|
455
|
-
rucio-38.0.
|
|
456
|
-
rucio-38.0.
|
|
457
|
-
rucio-38.0.
|
|
458
|
-
rucio-38.0.
|
|
459
|
-
rucio-38.0.
|
|
460
|
-
rucio-38.0.
|
|
461
|
-
rucio-38.0.
|
|
462
|
-
rucio-38.0.
|
|
463
|
-
rucio-38.0.
|
|
464
|
-
rucio-38.0.
|
|
465
|
-
rucio-38.0.
|
|
466
|
-
rucio-38.0.
|
|
467
|
-
rucio-38.0.
|
|
468
|
-
rucio-38.0.
|
|
469
|
-
rucio-38.0.
|
|
470
|
-
rucio-38.0.
|
|
471
|
-
rucio-38.0.
|
|
472
|
-
rucio-38.0.
|
|
473
|
-
rucio-38.0.
|
|
474
|
-
rucio-38.0.
|
|
475
|
-
rucio-38.0.
|
|
476
|
-
rucio-38.0.
|
|
477
|
-
rucio-38.0.
|
|
478
|
-
rucio-38.0.
|
|
479
|
-
rucio-38.0.
|
|
480
|
-
rucio-38.0.
|
|
481
|
-
rucio-38.0.
|
|
482
|
-
rucio-38.0.
|
|
483
|
-
rucio-38.0.
|
|
484
|
-
rucio-38.0.
|
|
485
|
-
rucio-38.0.
|
|
486
|
-
rucio-38.0.
|
|
487
|
-
rucio-38.0.
|
|
488
|
-
rucio-38.0.
|
|
489
|
-
rucio-38.0.
|
|
490
|
-
rucio-38.0.
|
|
491
|
-
rucio-38.0.
|
|
492
|
-
rucio-38.0.
|
|
493
|
-
rucio-38.0.
|
|
494
|
-
rucio-38.0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_approved_admin.tmpl
RENAMED
|
File without changes
|
{rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_approved_user.tmpl
RENAMED
|
File without changes
|
{rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_denied_admin.tmpl
RENAMED
|
File without changes
|
{rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/mail_templates/rule_denied_user.tmpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rucio-38.0.0rc2.data → rucio-38.0.0rc3.data}/data/rucio/etc/rucio.cfg.atlas.client.template
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|