rucio 37.1.0.post1__tar.gz → 38.5.1__tar.gz

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.
Files changed (858) hide show
  1. rucio-38.5.1/AUTHORS.rst +101 -0
  2. rucio-38.5.1/PKG-INFO +93 -0
  3. rucio-38.5.1/bin/rucio +137 -0
  4. rucio-38.5.1/bin/rucio-abacus-account +81 -0
  5. rucio-38.5.1/bin/rucio-abacus-rse +85 -0
  6. rucio-38.5.1/bin/rucio-auditor +206 -0
  7. rucio-38.5.1/bin/rucio-conveyor-throttler +110 -0
  8. rucio-38.5.1/bin/rucio-follower +44 -0
  9. rucio-38.5.1/bin/rucio-judge-cleaner +97 -0
  10. rucio-38.5.1/bin/rucio-necromancer +126 -0
  11. rucio-38.5.1/bin/rucio-replica-recoverer +270 -0
  12. rucio-38.5.1/bin/rucio-undertaker +82 -0
  13. rucio-38.5.1/etc/alembic.ini.template +71 -0
  14. rucio-38.5.1/etc/alembic_offline.ini.template +74 -0
  15. rucio-38.5.1/etc/rucio.cfg.template +239 -0
  16. rucio-38.5.1/etc/rucio_multi_vo.cfg.template +215 -0
  17. rucio-38.5.1/lib/rucio/alembicrevision.py +15 -0
  18. rucio-38.5.1/lib/rucio/cli/account.py +216 -0
  19. rucio-38.5.1/lib/rucio/cli/bin_legacy/rucio.py +2729 -0
  20. rucio-38.5.1/lib/rucio/cli/bin_legacy/rucio_admin.py +2500 -0
  21. rucio-38.5.1/lib/rucio/cli/command.py +283 -0
  22. rucio-38.5.1/lib/rucio/cli/config.py +87 -0
  23. rucio-38.5.1/lib/rucio/cli/did.py +188 -0
  24. rucio-38.5.1/lib/rucio/cli/download.py +128 -0
  25. rucio-38.5.1/lib/rucio/cli/opendata.py +200 -0
  26. rucio-38.5.1/lib/rucio/cli/replica.py +176 -0
  27. rucio-38.5.1/lib/rucio/cli/rse.py +292 -0
  28. rucio-38.5.1/lib/rucio/cli/rule.py +166 -0
  29. rucio-38.5.1/lib/rucio/cli/scope.py +41 -0
  30. rucio-38.5.1/lib/rucio/cli/subscription.py +73 -0
  31. rucio-38.5.1/lib/rucio/cli/utils.py +262 -0
  32. rucio-38.5.1/lib/rucio/client/accountclient.py +578 -0
  33. rucio-38.5.1/lib/rucio/client/accountlimitclient.py +243 -0
  34. rucio-38.5.1/lib/rucio/client/baseclient.py +1030 -0
  35. rucio-38.5.1/lib/rucio/client/client.py +130 -0
  36. rucio-38.5.1/lib/rucio/client/configclient.py +173 -0
  37. rucio-38.5.1/lib/rucio/client/credentialclient.py +70 -0
  38. rucio-38.5.1/lib/rucio/client/didclient.py +1057 -0
  39. rucio-38.5.1/lib/rucio/client/diracclient.py +125 -0
  40. rucio-38.5.1/lib/rucio/client/downloadclient.py +2054 -0
  41. rucio-38.5.1/lib/rucio/client/exportclient.py +92 -0
  42. rucio-38.5.1/lib/rucio/client/importclient.py +46 -0
  43. rucio-38.5.1/lib/rucio/client/lifetimeclient.py +141 -0
  44. rucio-38.5.1/lib/rucio/client/lockclient.py +125 -0
  45. rucio-38.5.1/lib/rucio/client/metaconventionsclient.py +179 -0
  46. rucio-38.5.1/lib/rucio/client/opendataclient.py +250 -0
  47. rucio-38.5.1/lib/rucio/client/pingclient.py +78 -0
  48. rucio-38.5.1/lib/rucio/client/replicaclient.py +570 -0
  49. rucio-38.5.1/lib/rucio/client/requestclient.py +233 -0
  50. rucio-38.5.1/lib/rucio/client/richclient.py +323 -0
  51. rucio-38.5.1/lib/rucio/client/rseclient.py +974 -0
  52. rucio-38.5.1/lib/rucio/client/ruleclient.py +391 -0
  53. rucio-38.5.1/lib/rucio/client/scopeclient.py +116 -0
  54. rucio-38.5.1/lib/rucio/client/subscriptionclient.py +237 -0
  55. rucio-38.5.1/lib/rucio/client/touchclient.py +92 -0
  56. rucio-38.5.1/lib/rucio/client/uploadclient.py +1511 -0
  57. rucio-38.5.1/lib/rucio/common/cache.py +110 -0
  58. rucio-38.5.1/lib/rucio/common/client.py +96 -0
  59. rucio-38.5.1/lib/rucio/common/config.py +786 -0
  60. rucio-38.5.1/lib/rucio/common/constants.py +244 -0
  61. rucio-38.5.1/lib/rucio/common/didtype.py +244 -0
  62. rucio-38.5.1/lib/rucio/common/dumper/__init__.py +342 -0
  63. rucio-38.5.1/lib/rucio/common/exception.py +1293 -0
  64. rucio-38.5.1/lib/rucio/common/pcache.py +1404 -0
  65. rucio-38.5.1/lib/rucio/common/plugins.py +233 -0
  66. rucio-38.5.1/lib/rucio/common/policy.py +94 -0
  67. rucio-38.5.1/lib/rucio/common/schema/__init__.py +187 -0
  68. rucio-38.5.1/lib/rucio/common/schema/generic.py +418 -0
  69. rucio-38.5.1/lib/rucio/common/schema/generic_multi_vo.py +397 -0
  70. rucio-38.5.1/lib/rucio/common/types.py +486 -0
  71. rucio-38.5.1/lib/rucio/common/utils.py +1873 -0
  72. rucio-38.5.1/lib/rucio/core/account.py +497 -0
  73. rucio-38.5.1/lib/rucio/core/account_counter.py +220 -0
  74. rucio-38.5.1/lib/rucio/core/account_limit.py +403 -0
  75. rucio-38.5.1/lib/rucio/core/authentication.py +620 -0
  76. rucio-38.5.1/lib/rucio/core/config.py +439 -0
  77. rucio-38.5.1/lib/rucio/core/credential.py +217 -0
  78. rucio-38.5.1/lib/rucio/core/did.py +3033 -0
  79. rucio-38.5.1/lib/rucio/core/did_meta_plugins/__init__.py +253 -0
  80. rucio-38.5.1/lib/rucio/core/did_meta_plugins/did_column_meta.py +480 -0
  81. rucio-38.5.1/lib/rucio/core/did_meta_plugins/did_meta_plugin_interface.py +179 -0
  82. rucio-38.5.1/lib/rucio/core/did_meta_plugins/elasticsearch_meta.py +399 -0
  83. rucio-38.5.1/lib/rucio/core/did_meta_plugins/json_meta.py +234 -0
  84. rucio-38.5.1/lib/rucio/core/did_meta_plugins/mongo_meta.py +220 -0
  85. rucio-38.5.1/lib/rucio/core/did_meta_plugins/postgres_meta.py +345 -0
  86. rucio-38.5.1/lib/rucio/core/dirac.py +238 -0
  87. rucio-38.5.1/lib/rucio/core/distance.py +188 -0
  88. rucio-38.5.1/lib/rucio/core/exporter.py +61 -0
  89. rucio-38.5.1/lib/rucio/core/importer.py +260 -0
  90. rucio-38.5.1/lib/rucio/core/lifetime_exception.py +377 -0
  91. rucio-38.5.1/lib/rucio/core/lock.py +578 -0
  92. rucio-38.5.1/lib/rucio/core/meta_conventions.py +203 -0
  93. rucio-38.5.1/lib/rucio/core/monitor.py +448 -0
  94. rucio-38.5.1/lib/rucio/core/naming_convention.py +185 -0
  95. rucio-38.5.1/lib/rucio/core/nongrid_trace.py +136 -0
  96. rucio-38.5.1/lib/rucio/core/oidc.py +1463 -0
  97. rucio-38.5.1/lib/rucio/core/opendata.py +886 -0
  98. rucio-38.5.1/lib/rucio/core/permission/__init__.py +170 -0
  99. rucio-38.5.1/lib/rucio/core/permission/generic.py +1162 -0
  100. rucio-38.5.1/lib/rucio/core/permission/generic_multi_vo.py +1143 -0
  101. rucio-38.5.1/lib/rucio/core/replica.py +4482 -0
  102. rucio-38.5.1/lib/rucio/core/request.py +3096 -0
  103. rucio-38.5.1/lib/rucio/core/rse.py +2083 -0
  104. rucio-38.5.1/lib/rucio/core/rse_counter.py +203 -0
  105. rucio-38.5.1/lib/rucio/core/rule.py +4547 -0
  106. rucio-38.5.1/lib/rucio/core/rule_grouping.py +1618 -0
  107. rucio-38.5.1/lib/rucio/core/scope.py +195 -0
  108. rucio-38.5.1/lib/rucio/core/trace.py +375 -0
  109. rucio-38.5.1/lib/rucio/core/transfer.py +1530 -0
  110. rucio-38.5.1/lib/rucio/core/vo.py +170 -0
  111. rucio-38.5.1/lib/rucio/core/volatile_replica.py +148 -0
  112. rucio-38.5.1/lib/rucio/daemons/abacus/account.py +130 -0
  113. rucio-38.5.1/lib/rucio/daemons/abacus/collection_replica.py +124 -0
  114. rucio-38.5.1/lib/rucio/daemons/abacus/rse.py +131 -0
  115. rucio-38.5.1/lib/rucio/daemons/atropos/atropos.py +243 -0
  116. rucio-38.5.1/lib/rucio/daemons/auditor/__init__.py +289 -0
  117. rucio-38.5.1/lib/rucio/daemons/automatix/automatix.py +307 -0
  118. rucio-38.5.1/lib/rucio/daemons/badreplicas/minos.py +329 -0
  119. rucio-38.5.1/lib/rucio/daemons/badreplicas/minos_temporary_expiration.py +174 -0
  120. rucio-38.5.1/lib/rucio/daemons/badreplicas/necromancer.py +202 -0
  121. rucio-38.5.1/lib/rucio/daemons/bb8/bb8.py +354 -0
  122. rucio-38.5.1/lib/rucio/daemons/bb8/common.py +759 -0
  123. rucio-38.5.1/lib/rucio/daemons/bb8/nuclei_background_rebalance.py +153 -0
  124. rucio-38.5.1/lib/rucio/daemons/bb8/t2_background_rebalance.py +153 -0
  125. rucio-38.5.1/lib/rucio/daemons/cache/consumer.py +200 -0
  126. rucio-38.5.1/lib/rucio/daemons/common.py +405 -0
  127. rucio-38.5.1/lib/rucio/daemons/conveyor/common.py +562 -0
  128. rucio-38.5.1/lib/rucio/daemons/conveyor/finisher.py +538 -0
  129. rucio-38.5.1/lib/rucio/daemons/conveyor/poller.py +397 -0
  130. rucio-38.5.1/lib/rucio/daemons/conveyor/preparer.py +205 -0
  131. rucio-38.5.1/lib/rucio/daemons/conveyor/receiver.py +249 -0
  132. rucio-38.5.1/lib/rucio/daemons/conveyor/submitter.py +404 -0
  133. rucio-38.5.1/lib/rucio/daemons/conveyor/throttler.py +533 -0
  134. rucio-38.5.1/lib/rucio/daemons/follower/follower.py +101 -0
  135. rucio-38.5.1/lib/rucio/daemons/hermes/hermes.py +866 -0
  136. rucio-38.5.1/lib/rucio/daemons/judge/cleaner.py +159 -0
  137. rucio-38.5.1/lib/rucio/daemons/judge/evaluator.py +185 -0
  138. rucio-38.5.1/lib/rucio/daemons/judge/injector.py +163 -0
  139. rucio-38.5.1/lib/rucio/daemons/judge/repairer.py +154 -0
  140. rucio-38.5.1/lib/rucio/daemons/reaper/dark_reaper.py +283 -0
  141. rucio-38.5.1/lib/rucio/daemons/reaper/reaper.py +739 -0
  142. rucio-38.5.1/lib/rucio/daemons/replicarecoverer/suspicious_replica_recoverer.py +626 -0
  143. rucio-38.5.1/lib/rucio/daemons/storage/consistency/actions.py +848 -0
  144. rucio-38.5.1/lib/rucio/daemons/tracer/kronos.py +537 -0
  145. rucio-38.5.1/lib/rucio/daemons/transmogrifier/transmogrifier.py +764 -0
  146. rucio-38.5.1/lib/rucio/daemons/undertaker/undertaker.py +138 -0
  147. rucio-38.5.1/lib/rucio/db/sqla/constants.py +213 -0
  148. rucio-38.5.1/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +91 -0
  149. rucio-38.5.1/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py +67 -0
  150. rucio-38.5.1/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py +55 -0
  151. rucio-38.5.1/lib/rucio/db/sqla/migrate_repo/versions/a62db546a1f1_opendata_initial_model.py +85 -0
  152. rucio-38.5.1/lib/rucio/db/sqla/migrate_repo/versions/c129ccdb2d5_add_lumiblocknr_to_dids.py +43 -0
  153. rucio-38.5.1/lib/rucio/db/sqla/models.py +1834 -0
  154. rucio-38.5.1/lib/rucio/db/sqla/session.py +536 -0
  155. rucio-38.5.1/lib/rucio/db/sqla/util.py +544 -0
  156. rucio-38.5.1/lib/rucio/gateway/account.py +322 -0
  157. rucio-38.5.1/lib/rucio/gateway/account_limit.py +301 -0
  158. rucio-38.5.1/lib/rucio/gateway/authentication.py +352 -0
  159. rucio-38.5.1/lib/rucio/gateway/config.py +181 -0
  160. rucio-38.5.1/lib/rucio/gateway/credential.py +65 -0
  161. rucio-38.5.1/lib/rucio/gateway/did.py +903 -0
  162. rucio-38.5.1/lib/rucio/gateway/dirac.py +83 -0
  163. rucio-38.5.1/lib/rucio/gateway/exporter.py +58 -0
  164. rucio-38.5.1/lib/rucio/gateway/heartbeat.py +73 -0
  165. rucio-38.5.1/lib/rucio/gateway/identity.py +190 -0
  166. rucio-38.5.1/lib/rucio/gateway/importer.py +45 -0
  167. rucio-38.5.1/lib/rucio/gateway/lifetime_exception.py +114 -0
  168. rucio-38.5.1/lib/rucio/gateway/lock.py +141 -0
  169. rucio-38.5.1/lib/rucio/gateway/meta_conventions.py +90 -0
  170. rucio-38.5.1/lib/rucio/gateway/opendata.py +190 -0
  171. rucio-38.5.1/lib/rucio/gateway/permission.py +75 -0
  172. rucio-38.5.1/lib/rucio/gateway/quarantined_replica.py +77 -0
  173. rucio-38.5.1/lib/rucio/gateway/replica.py +623 -0
  174. rucio-38.5.1/lib/rucio/gateway/request.py +289 -0
  175. rucio-38.5.1/lib/rucio/gateway/rse.py +606 -0
  176. rucio-38.5.1/lib/rucio/gateway/rule.py +407 -0
  177. rucio-38.5.1/lib/rucio/gateway/scope.py +94 -0
  178. rucio-38.5.1/lib/rucio/gateway/subscription.py +265 -0
  179. rucio-38.5.1/lib/rucio/gateway/trace.py +48 -0
  180. rucio-38.5.1/lib/rucio/gateway/vo.py +122 -0
  181. rucio-38.5.1/lib/rucio/rse/__init__.py +97 -0
  182. rucio-38.5.1/lib/rucio/rse/protocols/ngarc.py +209 -0
  183. rucio-38.5.1/lib/rucio/rse/protocols/protocol.py +365 -0
  184. rucio-38.5.1/lib/rucio/rse/protocols/srm.py +338 -0
  185. rucio-38.5.1/lib/rucio/rse/protocols/webdav.py +604 -0
  186. rucio-38.5.1/lib/rucio/rse/rsemanager.py +882 -0
  187. rucio-38.5.1/lib/rucio/rse/translation.py +271 -0
  188. rucio-38.5.1/lib/rucio/tests/common.py +333 -0
  189. rucio-38.5.1/lib/rucio/transfertool/fts3.py +1582 -0
  190. rucio-38.5.1/lib/rucio/transfertool/fts3_plugins.py +157 -0
  191. rucio-38.5.1/lib/rucio/vcsversion.py +11 -0
  192. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/accountlimits.py +237 -0
  193. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/accounts.py +1098 -0
  194. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/archives.py +103 -0
  195. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/auth.py +1669 -0
  196. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/common.py +473 -0
  197. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/config.py +344 -0
  198. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/credentials.py +220 -0
  199. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/dids.py +2679 -0
  200. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/dirac.py +117 -0
  201. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/export.py +77 -0
  202. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/heartbeats.py +128 -0
  203. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/identities.py +286 -0
  204. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/import.py +133 -0
  205. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +313 -0
  206. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/locks.py +359 -0
  207. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/main.py +95 -0
  208. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/meta_conventions.py +227 -0
  209. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/metrics.py +37 -0
  210. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/nongrid_traces.py +98 -0
  211. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/opendata.py +392 -0
  212. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/opendata_public.py +147 -0
  213. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/ping.py +89 -0
  214. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/redirect.py +367 -0
  215. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/replicas.py +1895 -0
  216. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/requests.py +1193 -0
  217. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/rses.py +2257 -0
  218. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/rules.py +855 -0
  219. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/scopes.py +160 -0
  220. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/subscriptions.py +648 -0
  221. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/traces.py +136 -0
  222. rucio-38.5.1/lib/rucio/web/rest/flaskapi/v1/vos.py +277 -0
  223. rucio-38.5.1/lib/rucio.egg-info/SOURCES.txt +589 -0
  224. rucio-38.5.1/pyproject.toml +190 -0
  225. rucio-38.5.1/requirements/requirements.server.txt +300 -0
  226. rucio-38.5.1/setuputil.py +138 -0
  227. rucio-38.5.1/tests/test_abacus_account.py +78 -0
  228. rucio-38.5.1/tests/test_abacus_collection_replica.py +179 -0
  229. rucio-38.5.1/tests/test_abacus_rse.py +69 -0
  230. rucio-38.5.1/tests/test_account.py +348 -0
  231. rucio-38.5.1/tests/test_account_limits.py +199 -0
  232. rucio-38.5.1/tests/test_archive.py +250 -0
  233. rucio-38.5.1/tests/test_automatix.py +94 -0
  234. rucio-38.5.1/tests/test_bb8.py +270 -0
  235. rucio-38.5.1/tests/test_belleii.py +130 -0
  236. rucio-38.5.1/tests/test_bin_rucio.py +1376 -0
  237. rucio-38.5.1/tests/test_cli_client_structure.py +904 -0
  238. rucio-38.5.1/tests/test_clients.py +255 -0
  239. rucio-38.5.1/tests/test_config.py +171 -0
  240. rucio-38.5.1/tests/test_conveyor.py +1811 -0
  241. rucio-38.5.1/tests/test_conveyor_submitter.py +488 -0
  242. rucio-38.5.1/tests/test_counter.py +200 -0
  243. rucio-38.5.1/tests/test_curl.py +151 -0
  244. rucio-38.5.1/tests/test_dataset_replicas.py +558 -0
  245. rucio-38.5.1/tests/test_did.py +1301 -0
  246. rucio-38.5.1/tests/test_did_meta_plugins.py +851 -0
  247. rucio-38.5.1/tests/test_download.py +829 -0
  248. rucio-38.5.1/tests/test_gateway_external_representation.py +483 -0
  249. rucio-38.5.1/tests/test_heartbeat.py +194 -0
  250. rucio-38.5.1/tests/test_hermes.py +302 -0
  251. rucio-38.5.1/tests/test_import_export.py +1298 -0
  252. rucio-38.5.1/tests/test_judge_evaluator.py +525 -0
  253. rucio-38.5.1/tests/test_judge_injector.py +232 -0
  254. rucio-38.5.1/tests/test_multi_vo.py +1106 -0
  255. rucio-38.5.1/tests/test_naming_convention.py +82 -0
  256. rucio-38.5.1/tests/test_oidc.py +1991 -0
  257. rucio-38.5.1/tests/test_opendata.py +674 -0
  258. rucio-38.5.1/tests/test_permission.py +79 -0
  259. rucio-38.5.1/tests/test_policy_package.py +174 -0
  260. rucio-38.5.1/tests/test_reaper.py +515 -0
  261. rucio-38.5.1/tests/test_replica.py +1224 -0
  262. rucio-38.5.1/tests/test_replica_recoverer.py +595 -0
  263. rucio-38.5.1/tests/test_replica_sorting.py +531 -0
  264. rucio-38.5.1/tests/test_rse.py +1610 -0
  265. rucio-38.5.1/tests/test_rse_selector.py +162 -0
  266. rucio-38.5.1/tests/test_rule.py +1642 -0
  267. rucio-38.5.1/tests/test_scope.py +176 -0
  268. rucio-38.5.1/tests/test_subscription.py +925 -0
  269. rucio-38.5.1/tests/test_throttler.py +1020 -0
  270. rucio-38.5.1/tests/test_trace.py +160 -0
  271. rucio-38.5.1/tests/test_transfer_plugins.py +395 -0
  272. rucio-38.5.1/tests/test_undertaker.py +188 -0
  273. rucio-38.5.1/tests/test_upload.py +751 -0
  274. rucio-38.5.1/tests/test_utils.py +260 -0
  275. rucio-38.5.1/tools/reset_database.py +87 -0
  276. rucio-37.1.0.post1/AUTHORS.rst +0 -100
  277. rucio-37.1.0.post1/PKG-INFO +0 -93
  278. rucio-37.1.0.post1/bin/rucio +0 -133
  279. rucio-37.1.0.post1/bin/rucio-abacus-account +0 -74
  280. rucio-37.1.0.post1/bin/rucio-abacus-rse +0 -78
  281. rucio-37.1.0.post1/bin/rucio-auditor +0 -206
  282. rucio-37.1.0.post1/bin/rucio-conveyor-throttler +0 -104
  283. rucio-37.1.0.post1/bin/rucio-follower +0 -44
  284. rucio-37.1.0.post1/bin/rucio-judge-cleaner +0 -89
  285. rucio-37.1.0.post1/bin/rucio-necromancer +0 -120
  286. rucio-37.1.0.post1/bin/rucio-replica-recoverer +0 -248
  287. rucio-37.1.0.post1/bin/rucio-undertaker +0 -76
  288. rucio-37.1.0.post1/etc/alembic.ini.template +0 -71
  289. rucio-37.1.0.post1/etc/alembic_offline.ini.template +0 -74
  290. rucio-37.1.0.post1/etc/rucio.cfg.template +0 -241
  291. rucio-37.1.0.post1/etc/rucio_multi_vo.cfg.template +0 -217
  292. rucio-37.1.0.post1/lib/rucio/alembicrevision.py +0 -15
  293. rucio-37.1.0.post1/lib/rucio/cli/account.py +0 -216
  294. rucio-37.1.0.post1/lib/rucio/cli/bin_legacy/rucio.py +0 -2825
  295. rucio-37.1.0.post1/lib/rucio/cli/bin_legacy/rucio_admin.py +0 -2500
  296. rucio-37.1.0.post1/lib/rucio/cli/command.py +0 -272
  297. rucio-37.1.0.post1/lib/rucio/cli/config.py +0 -72
  298. rucio-37.1.0.post1/lib/rucio/cli/did.py +0 -191
  299. rucio-37.1.0.post1/lib/rucio/cli/download.py +0 -128
  300. rucio-37.1.0.post1/lib/rucio/cli/replica.py +0 -162
  301. rucio-37.1.0.post1/lib/rucio/cli/rse.py +0 -293
  302. rucio-37.1.0.post1/lib/rucio/cli/rule.py +0 -158
  303. rucio-37.1.0.post1/lib/rucio/cli/scope.py +0 -40
  304. rucio-37.1.0.post1/lib/rucio/cli/subscription.py +0 -73
  305. rucio-37.1.0.post1/lib/rucio/cli/utils.py +0 -226
  306. rucio-37.1.0.post1/lib/rucio/client/accountclient.py +0 -432
  307. rucio-37.1.0.post1/lib/rucio/client/accountlimitclient.py +0 -183
  308. rucio-37.1.0.post1/lib/rucio/client/baseclient.py +0 -980
  309. rucio-37.1.0.post1/lib/rucio/client/client.py +0 -120
  310. rucio-37.1.0.post1/lib/rucio/client/configclient.py +0 -126
  311. rucio-37.1.0.post1/lib/rucio/client/credentialclient.py +0 -59
  312. rucio-37.1.0.post1/lib/rucio/client/didclient.py +0 -868
  313. rucio-37.1.0.post1/lib/rucio/client/diracclient.py +0 -56
  314. rucio-37.1.0.post1/lib/rucio/client/downloadclient.py +0 -1783
  315. rucio-37.1.0.post1/lib/rucio/client/exportclient.py +0 -44
  316. rucio-37.1.0.post1/lib/rucio/client/fileclient.py +0 -50
  317. rucio-37.1.0.post1/lib/rucio/client/importclient.py +0 -42
  318. rucio-37.1.0.post1/lib/rucio/client/lifetimeclient.py +0 -123
  319. rucio-37.1.0.post1/lib/rucio/client/lockclient.py +0 -109
  320. rucio-37.1.0.post1/lib/rucio/client/metaconventionsclient.py +0 -140
  321. rucio-37.1.0.post1/lib/rucio/client/pingclient.py +0 -44
  322. rucio-37.1.0.post1/lib/rucio/client/replicaclient.py +0 -452
  323. rucio-37.1.0.post1/lib/rucio/client/requestclient.py +0 -125
  324. rucio-37.1.0.post1/lib/rucio/client/richclient.py +0 -317
  325. rucio-37.1.0.post1/lib/rucio/client/rseclient.py +0 -746
  326. rucio-37.1.0.post1/lib/rucio/client/ruleclient.py +0 -294
  327. rucio-37.1.0.post1/lib/rucio/client/scopeclient.py +0 -90
  328. rucio-37.1.0.post1/lib/rucio/client/subscriptionclient.py +0 -173
  329. rucio-37.1.0.post1/lib/rucio/client/touchclient.py +0 -82
  330. rucio-37.1.0.post1/lib/rucio/client/uploadclient.py +0 -969
  331. rucio-37.1.0.post1/lib/rucio/common/cache.py +0 -111
  332. rucio-37.1.0.post1/lib/rucio/common/client.py +0 -122
  333. rucio-37.1.0.post1/lib/rucio/common/config.py +0 -762
  334. rucio-37.1.0.post1/lib/rucio/common/constants.py +0 -217
  335. rucio-37.1.0.post1/lib/rucio/common/didtype.py +0 -237
  336. rucio-37.1.0.post1/lib/rucio/common/dumper/__init__.py +0 -342
  337. rucio-37.1.0.post1/lib/rucio/common/exception.py +0 -1208
  338. rucio-37.1.0.post1/lib/rucio/common/pcache.py +0 -1409
  339. rucio-37.1.0.post1/lib/rucio/common/plugins.py +0 -185
  340. rucio-37.1.0.post1/lib/rucio/common/policy.py +0 -93
  341. rucio-37.1.0.post1/lib/rucio/common/schema/__init__.py +0 -200
  342. rucio-37.1.0.post1/lib/rucio/common/schema/generic.py +0 -416
  343. rucio-37.1.0.post1/lib/rucio/common/schema/generic_multi_vo.py +0 -395
  344. rucio-37.1.0.post1/lib/rucio/common/types.py +0 -483
  345. rucio-37.1.0.post1/lib/rucio/common/utils.py +0 -1685
  346. rucio-37.1.0.post1/lib/rucio/core/account.py +0 -496
  347. rucio-37.1.0.post1/lib/rucio/core/account_counter.py +0 -236
  348. rucio-37.1.0.post1/lib/rucio/core/account_limit.py +0 -402
  349. rucio-37.1.0.post1/lib/rucio/core/authentication.py +0 -620
  350. rucio-37.1.0.post1/lib/rucio/core/config.py +0 -437
  351. rucio-37.1.0.post1/lib/rucio/core/credential.py +0 -224
  352. rucio-37.1.0.post1/lib/rucio/core/did.py +0 -3004
  353. rucio-37.1.0.post1/lib/rucio/core/did_meta_plugins/__init__.py +0 -252
  354. rucio-37.1.0.post1/lib/rucio/core/did_meta_plugins/did_column_meta.py +0 -331
  355. rucio-37.1.0.post1/lib/rucio/core/did_meta_plugins/did_meta_plugin_interface.py +0 -165
  356. rucio-37.1.0.post1/lib/rucio/core/did_meta_plugins/elasticsearch_meta.py +0 -407
  357. rucio-37.1.0.post1/lib/rucio/core/did_meta_plugins/json_meta.py +0 -240
  358. rucio-37.1.0.post1/lib/rucio/core/did_meta_plugins/mongo_meta.py +0 -229
  359. rucio-37.1.0.post1/lib/rucio/core/did_meta_plugins/postgres_meta.py +0 -352
  360. rucio-37.1.0.post1/lib/rucio/core/dirac.py +0 -237
  361. rucio-37.1.0.post1/lib/rucio/core/distance.py +0 -187
  362. rucio-37.1.0.post1/lib/rucio/core/exporter.py +0 -59
  363. rucio-37.1.0.post1/lib/rucio/core/importer.py +0 -260
  364. rucio-37.1.0.post1/lib/rucio/core/lifetime_exception.py +0 -377
  365. rucio-37.1.0.post1/lib/rucio/core/lock.py +0 -577
  366. rucio-37.1.0.post1/lib/rucio/core/meta_conventions.py +0 -203
  367. rucio-37.1.0.post1/lib/rucio/core/monitor.py +0 -448
  368. rucio-37.1.0.post1/lib/rucio/core/naming_convention.py +0 -195
  369. rucio-37.1.0.post1/lib/rucio/core/nongrid_trace.py +0 -136
  370. rucio-37.1.0.post1/lib/rucio/core/oidc.py +0 -1463
  371. rucio-37.1.0.post1/lib/rucio/core/permission/__init__.py +0 -161
  372. rucio-37.1.0.post1/lib/rucio/core/permission/generic.py +0 -1124
  373. rucio-37.1.0.post1/lib/rucio/core/permission/generic_multi_vo.py +0 -1144
  374. rucio-37.1.0.post1/lib/rucio/core/replica.py +0 -4483
  375. rucio-37.1.0.post1/lib/rucio/core/request.py +0 -3091
  376. rucio-37.1.0.post1/lib/rucio/core/rse.py +0 -2079
  377. rucio-37.1.0.post1/lib/rucio/core/rse_counter.py +0 -185
  378. rucio-37.1.0.post1/lib/rucio/core/rule.py +0 -4484
  379. rucio-37.1.0.post1/lib/rucio/core/rule_grouping.py +0 -1619
  380. rucio-37.1.0.post1/lib/rucio/core/scope.py +0 -181
  381. rucio-37.1.0.post1/lib/rucio/core/trace.py +0 -375
  382. rucio-37.1.0.post1/lib/rucio/core/transfer.py +0 -1531
  383. rucio-37.1.0.post1/lib/rucio/core/vo.py +0 -169
  384. rucio-37.1.0.post1/lib/rucio/core/volatile_replica.py +0 -151
  385. rucio-37.1.0.post1/lib/rucio/daemons/abacus/account.py +0 -116
  386. rucio-37.1.0.post1/lib/rucio/daemons/abacus/collection_replica.py +0 -124
  387. rucio-37.1.0.post1/lib/rucio/daemons/abacus/rse.py +0 -117
  388. rucio-37.1.0.post1/lib/rucio/daemons/atropos/atropos.py +0 -242
  389. rucio-37.1.0.post1/lib/rucio/daemons/auditor/__init__.py +0 -289
  390. rucio-37.1.0.post1/lib/rucio/daemons/automatix/automatix.py +0 -304
  391. rucio-37.1.0.post1/lib/rucio/daemons/badreplicas/minos.py +0 -322
  392. rucio-37.1.0.post1/lib/rucio/daemons/badreplicas/minos_temporary_expiration.py +0 -171
  393. rucio-37.1.0.post1/lib/rucio/daemons/badreplicas/necromancer.py +0 -196
  394. rucio-37.1.0.post1/lib/rucio/daemons/bb8/bb8.py +0 -353
  395. rucio-37.1.0.post1/lib/rucio/daemons/bb8/common.py +0 -759
  396. rucio-37.1.0.post1/lib/rucio/daemons/bb8/nuclei_background_rebalance.py +0 -153
  397. rucio-37.1.0.post1/lib/rucio/daemons/bb8/t2_background_rebalance.py +0 -153
  398. rucio-37.1.0.post1/lib/rucio/daemons/cache/consumer.py +0 -197
  399. rucio-37.1.0.post1/lib/rucio/daemons/common.py +0 -405
  400. rucio-37.1.0.post1/lib/rucio/daemons/conveyor/common.py +0 -562
  401. rucio-37.1.0.post1/lib/rucio/daemons/conveyor/finisher.py +0 -529
  402. rucio-37.1.0.post1/lib/rucio/daemons/conveyor/poller.py +0 -394
  403. rucio-37.1.0.post1/lib/rucio/daemons/conveyor/preparer.py +0 -205
  404. rucio-37.1.0.post1/lib/rucio/daemons/conveyor/receiver.py +0 -249
  405. rucio-37.1.0.post1/lib/rucio/daemons/conveyor/submitter.py +0 -403
  406. rucio-37.1.0.post1/lib/rucio/daemons/conveyor/throttler.py +0 -532
  407. rucio-37.1.0.post1/lib/rucio/daemons/follower/follower.py +0 -101
  408. rucio-37.1.0.post1/lib/rucio/daemons/hermes/hermes.py +0 -835
  409. rucio-37.1.0.post1/lib/rucio/daemons/judge/cleaner.py +0 -159
  410. rucio-37.1.0.post1/lib/rucio/daemons/judge/evaluator.py +0 -185
  411. rucio-37.1.0.post1/lib/rucio/daemons/judge/injector.py +0 -162
  412. rucio-37.1.0.post1/lib/rucio/daemons/judge/repairer.py +0 -154
  413. rucio-37.1.0.post1/lib/rucio/daemons/reaper/dark_reaper.py +0 -282
  414. rucio-37.1.0.post1/lib/rucio/daemons/reaper/reaper.py +0 -739
  415. rucio-37.1.0.post1/lib/rucio/daemons/replicarecoverer/suspicious_replica_recoverer.py +0 -626
  416. rucio-37.1.0.post1/lib/rucio/daemons/storage/consistency/actions.py +0 -848
  417. rucio-37.1.0.post1/lib/rucio/daemons/tracer/kronos.py +0 -536
  418. rucio-37.1.0.post1/lib/rucio/daemons/transmogrifier/transmogrifier.py +0 -762
  419. rucio-37.1.0.post1/lib/rucio/daemons/undertaker/undertaker.py +0 -137
  420. rucio-37.1.0.post1/lib/rucio/db/sqla/constants.py +0 -206
  421. rucio-37.1.0.post1/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +0 -91
  422. rucio-37.1.0.post1/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py +0 -67
  423. rucio-37.1.0.post1/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py +0 -55
  424. rucio-37.1.0.post1/lib/rucio/db/sqla/migrate_repo/versions/c129ccdb2d5_add_lumiblocknr_to_dids.py +0 -43
  425. rucio-37.1.0.post1/lib/rucio/db/sqla/models.py +0 -1743
  426. rucio-37.1.0.post1/lib/rucio/db/sqla/session.py +0 -529
  427. rucio-37.1.0.post1/lib/rucio/db/sqla/util.py +0 -543
  428. rucio-37.1.0.post1/lib/rucio/gateway/account.py +0 -345
  429. rucio-37.1.0.post1/lib/rucio/gateway/account_limit.py +0 -327
  430. rucio-37.1.0.post1/lib/rucio/gateway/authentication.py +0 -381
  431. rucio-37.1.0.post1/lib/rucio/gateway/config.py +0 -227
  432. rucio-37.1.0.post1/lib/rucio/gateway/credential.py +0 -70
  433. rucio-37.1.0.post1/lib/rucio/gateway/did.py +0 -987
  434. rucio-37.1.0.post1/lib/rucio/gateway/dirac.py +0 -83
  435. rucio-37.1.0.post1/lib/rucio/gateway/exporter.py +0 -60
  436. rucio-37.1.0.post1/lib/rucio/gateway/heartbeat.py +0 -76
  437. rucio-37.1.0.post1/lib/rucio/gateway/identity.py +0 -189
  438. rucio-37.1.0.post1/lib/rucio/gateway/importer.py +0 -46
  439. rucio-37.1.0.post1/lib/rucio/gateway/lifetime_exception.py +0 -121
  440. rucio-37.1.0.post1/lib/rucio/gateway/lock.py +0 -153
  441. rucio-37.1.0.post1/lib/rucio/gateway/meta_conventions.py +0 -98
  442. rucio-37.1.0.post1/lib/rucio/gateway/permission.py +0 -74
  443. rucio-37.1.0.post1/lib/rucio/gateway/quarantined_replica.py +0 -79
  444. rucio-37.1.0.post1/lib/rucio/gateway/replica.py +0 -538
  445. rucio-37.1.0.post1/lib/rucio/gateway/request.py +0 -330
  446. rucio-37.1.0.post1/lib/rucio/gateway/rse.py +0 -632
  447. rucio-37.1.0.post1/lib/rucio/gateway/rule.py +0 -437
  448. rucio-37.1.0.post1/lib/rucio/gateway/scope.py +0 -100
  449. rucio-37.1.0.post1/lib/rucio/gateway/subscription.py +0 -280
  450. rucio-37.1.0.post1/lib/rucio/gateway/vo.py +0 -126
  451. rucio-37.1.0.post1/lib/rucio/rse/__init__.py +0 -96
  452. rucio-37.1.0.post1/lib/rucio/rse/protocols/ngarc.py +0 -209
  453. rucio-37.1.0.post1/lib/rucio/rse/protocols/protocol.py +0 -361
  454. rucio-37.1.0.post1/lib/rucio/rse/protocols/srm.py +0 -338
  455. rucio-37.1.0.post1/lib/rucio/rse/protocols/webdav.py +0 -594
  456. rucio-37.1.0.post1/lib/rucio/rse/rsemanager.py +0 -881
  457. rucio-37.1.0.post1/lib/rucio/rse/translation.py +0 -260
  458. rucio-37.1.0.post1/lib/rucio/tests/common.py +0 -280
  459. rucio-37.1.0.post1/lib/rucio/transfertool/fts3.py +0 -1600
  460. rucio-37.1.0.post1/lib/rucio/transfertool/fts3_plugins.py +0 -152
  461. rucio-37.1.0.post1/lib/rucio/vcsversion.py +0 -11
  462. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/accountlimits.py +0 -236
  463. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/accounts.py +0 -1097
  464. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/archives.py +0 -102
  465. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/auth.py +0 -1644
  466. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/common.py +0 -432
  467. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/config.py +0 -304
  468. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/credentials.py +0 -213
  469. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/dids.py +0 -2340
  470. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/dirac.py +0 -116
  471. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/export.py +0 -75
  472. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/heartbeats.py +0 -127
  473. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/identities.py +0 -285
  474. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/import.py +0 -132
  475. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +0 -312
  476. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/locks.py +0 -358
  477. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/main.py +0 -91
  478. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/meta_conventions.py +0 -241
  479. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/metrics.py +0 -36
  480. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/nongrid_traces.py +0 -97
  481. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/ping.py +0 -88
  482. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/redirect.py +0 -366
  483. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/replicas.py +0 -1894
  484. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/requests.py +0 -998
  485. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/rses.py +0 -2250
  486. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/rules.py +0 -854
  487. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/scopes.py +0 -159
  488. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/subscriptions.py +0 -650
  489. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/traces.py +0 -137
  490. rucio-37.1.0.post1/lib/rucio/web/rest/flaskapi/v1/vos.py +0 -278
  491. rucio-37.1.0.post1/lib/rucio.egg-info/SOURCES.txt +0 -581
  492. rucio-37.1.0.post1/pyproject.toml +0 -187
  493. rucio-37.1.0.post1/requirements/requirements.server.txt +0 -297
  494. rucio-37.1.0.post1/setuputil.py +0 -127
  495. rucio-37.1.0.post1/tests/test_abacus_account.py +0 -77
  496. rucio-37.1.0.post1/tests/test_abacus_collection_replica.py +0 -180
  497. rucio-37.1.0.post1/tests/test_abacus_rse.py +0 -70
  498. rucio-37.1.0.post1/tests/test_account.py +0 -334
  499. rucio-37.1.0.post1/tests/test_account_limits.py +0 -199
  500. rucio-37.1.0.post1/tests/test_archive.py +0 -250
  501. rucio-37.1.0.post1/tests/test_automatix.py +0 -91
  502. rucio-37.1.0.post1/tests/test_bb8.py +0 -270
  503. rucio-37.1.0.post1/tests/test_belleii.py +0 -128
  504. rucio-37.1.0.post1/tests/test_bin_rucio.py +0 -2433
  505. rucio-37.1.0.post1/tests/test_cli_client_structure.py +0 -759
  506. rucio-37.1.0.post1/tests/test_clients.py +0 -253
  507. rucio-37.1.0.post1/tests/test_config.py +0 -151
  508. rucio-37.1.0.post1/tests/test_conveyor.py +0 -1794
  509. rucio-37.1.0.post1/tests/test_conveyor_submitter.py +0 -487
  510. rucio-37.1.0.post1/tests/test_counter.py +0 -173
  511. rucio-37.1.0.post1/tests/test_curl.py +0 -143
  512. rucio-37.1.0.post1/tests/test_dataset_replicas.py +0 -543
  513. rucio-37.1.0.post1/tests/test_did.py +0 -1269
  514. rucio-37.1.0.post1/tests/test_did_meta_plugins.py +0 -831
  515. rucio-37.1.0.post1/tests/test_download.py +0 -750
  516. rucio-37.1.0.post1/tests/test_gateway_external_representation.py +0 -475
  517. rucio-37.1.0.post1/tests/test_heartbeat.py +0 -192
  518. rucio-37.1.0.post1/tests/test_hermes.py +0 -278
  519. rucio-37.1.0.post1/tests/test_import_export.py +0 -1295
  520. rucio-37.1.0.post1/tests/test_judge_evaluator.py +0 -524
  521. rucio-37.1.0.post1/tests/test_judge_injector.py +0 -231
  522. rucio-37.1.0.post1/tests/test_multi_vo.py +0 -1073
  523. rucio-37.1.0.post1/tests/test_naming_convention.py +0 -64
  524. rucio-37.1.0.post1/tests/test_oidc.py +0 -1991
  525. rucio-37.1.0.post1/tests/test_permission.py +0 -76
  526. rucio-37.1.0.post1/tests/test_policy_package.py +0 -66
  527. rucio-37.1.0.post1/tests/test_reaper.py +0 -514
  528. rucio-37.1.0.post1/tests/test_replica.py +0 -1225
  529. rucio-37.1.0.post1/tests/test_replica_recoverer.py +0 -595
  530. rucio-37.1.0.post1/tests/test_replica_sorting.py +0 -531
  531. rucio-37.1.0.post1/tests/test_rse.py +0 -1597
  532. rucio-37.1.0.post1/tests/test_rse_selector.py +0 -156
  533. rucio-37.1.0.post1/tests/test_rule.py +0 -1636
  534. rucio-37.1.0.post1/tests/test_scope.py +0 -172
  535. rucio-37.1.0.post1/tests/test_subscription.py +0 -843
  536. rucio-37.1.0.post1/tests/test_throttler.py +0 -1018
  537. rucio-37.1.0.post1/tests/test_trace.py +0 -131
  538. rucio-37.1.0.post1/tests/test_transfer_plugins.py +0 -395
  539. rucio-37.1.0.post1/tests/test_undertaker.py +0 -188
  540. rucio-37.1.0.post1/tests/test_upload.py +0 -446
  541. rucio-37.1.0.post1/tests/test_utils.py +0 -184
  542. rucio-37.1.0.post1/tools/reset_database.py +0 -40
  543. {rucio-37.1.0.post1 → rucio-38.5.1}/ChangeLog +0 -0
  544. {rucio-37.1.0.post1 → rucio-38.5.1}/LICENSE +0 -0
  545. {rucio-37.1.0.post1 → rucio-38.5.1}/MANIFEST.in +0 -0
  546. {rucio-37.1.0.post1 → rucio-38.5.1}/README.md +0 -0
  547. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-abacus-collection-replica +0 -0
  548. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-admin +0 -0
  549. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-atropos +0 -0
  550. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-automatix +0 -0
  551. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-bb8 +0 -0
  552. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-cache-client +0 -0
  553. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-cache-consumer +0 -0
  554. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-conveyor-finisher +0 -0
  555. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-conveyor-poller +0 -0
  556. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-conveyor-preparer +0 -0
  557. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-conveyor-receiver +0 -0
  558. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-conveyor-stager +0 -0
  559. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-conveyor-submitter +0 -0
  560. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-dark-reaper +0 -0
  561. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-dumper +0 -0
  562. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-hermes +0 -0
  563. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-judge-evaluator +0 -0
  564. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-judge-injector +0 -0
  565. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-judge-repairer +0 -0
  566. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-kronos +0 -0
  567. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-minos +0 -0
  568. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-minos-temporary-expiration +0 -0
  569. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-oauth-manager +0 -0
  570. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-reaper +0 -0
  571. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-rse-decommissioner +0 -0
  572. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-storage-consistency-actions +0 -0
  573. {rucio-37.1.0.post1 → rucio-38.5.1}/bin/rucio-transmogrifier +0 -0
  574. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/globus-config.yml.template +0 -0
  575. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/ldap.cfg.template +0 -0
  576. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/mail_templates/rule_approval_request.tmpl +0 -0
  577. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/mail_templates/rule_approved_admin.tmpl +0 -0
  578. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/mail_templates/rule_approved_user.tmpl +0 -0
  579. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/mail_templates/rule_denied_admin.tmpl +0 -0
  580. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/mail_templates/rule_denied_user.tmpl +0 -0
  581. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/mail_templates/rule_ok_notification.tmpl +0 -0
  582. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/rse-accounts.cfg.template +0 -0
  583. {rucio-37.1.0.post1 → rucio-38.5.1}/etc/rucio.cfg.atlas.client.template +0 -0
  584. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/__init__.py +0 -0
  585. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/cli/__init__.py +0 -0
  586. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/cli/bin_legacy/__init__.py +0 -0
  587. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/cli/lifetime_exception.py +0 -0
  588. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/cli/upload.py +0 -0
  589. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/client/__init__.py +0 -0
  590. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/__init__.py +0 -0
  591. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/bittorrent.py +0 -0
  592. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/checksum.py +0 -0
  593. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/constraints.py +0 -0
  594. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/dumper/consistency.py +0 -0
  595. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/dumper/data_models.py +0 -0
  596. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/dumper/path_parsing.py +0 -0
  597. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/extra.py +0 -0
  598. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/logging.py +0 -0
  599. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/stomp_utils.py +0 -0
  600. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/stopwatch.py +0 -0
  601. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/common/test_rucio_server.py +0 -0
  602. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/__init__.py +0 -0
  603. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/did_meta_plugins/filter_engine.py +0 -0
  604. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/heartbeat.py +0 -0
  605. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/identity.py +0 -0
  606. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/message.py +0 -0
  607. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/quarantined_replica.py +0 -0
  608. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/replica_sorter.py +0 -0
  609. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/rse_expression_parser.py +0 -0
  610. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/rse_selector.py +0 -0
  611. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/subscription.py +0 -0
  612. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/core/topology.py +0 -0
  613. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/__init__.py +0 -0
  614. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/abacus/__init__.py +0 -0
  615. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/atropos/__init__.py +0 -0
  616. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/auditor/hdfs.py +0 -0
  617. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/auditor/srmdumps.py +0 -0
  618. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/automatix/__init__.py +0 -0
  619. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/badreplicas/__init__.py +0 -0
  620. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/bb8/__init__.py +0 -0
  621. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/cache/__init__.py +0 -0
  622. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/conveyor/__init__.py +0 -0
  623. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/conveyor/stager.py +0 -0
  624. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/follower/__init__.py +0 -0
  625. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/hermes/__init__.py +0 -0
  626. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/judge/__init__.py +0 -0
  627. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/oauthmanager/__init__.py +0 -0
  628. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/oauthmanager/oauthmanager.py +0 -0
  629. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/reaper/__init__.py +0 -0
  630. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/replicarecoverer/__init__.py +0 -0
  631. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/rsedecommissioner/__init__.py +0 -0
  632. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/rsedecommissioner/config.py +0 -0
  633. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/rsedecommissioner/profiles/__init__.py +0 -0
  634. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/rsedecommissioner/profiles/atlas.py +0 -0
  635. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/rsedecommissioner/profiles/generic.py +0 -0
  636. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/rsedecommissioner/profiles/types.py +0 -0
  637. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/rsedecommissioner/rse_decommissioner.py +0 -0
  638. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/storage/__init__.py +0 -0
  639. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/storage/consistency/__init__.py +0 -0
  640. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/tracer/__init__.py +0 -0
  641. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/transmogrifier/__init__.py +0 -0
  642. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/daemons/undertaker/__init__.py +0 -0
  643. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/__init__.py +0 -0
  644. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/__init__.py +0 -0
  645. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/__init__.py +0 -0
  646. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/env.py +0 -0
  647. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py +0 -0
  648. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/0437a40dbfd1_add_eol_at_in_rules.py +0 -0
  649. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py +0 -0
  650. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/102efcf145f4_added_stuck_at_column_to_rules.py +0 -0
  651. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/140fef722e91_cleanup_distances_table.py +0 -0
  652. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/14ec5aeb64cf_add_request_external_host.py +0 -0
  653. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/156fb5b5a14_add_request_type_to_requests_idx.py +0 -0
  654. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py +0 -0
  655. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/16a0aca82e12_create_index_on_table_replicas_path.py +0 -0
  656. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1803333ac20f_adding_provenance_and_phys_group.py +0 -0
  657. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py +0 -0
  658. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1a80adff031a_create_index_on_rules_hist_recent.py +0 -0
  659. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py +0 -0
  660. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py +0 -0
  661. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py +0 -0
  662. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1f46c5f240ac_add_bytes_column_to_bad_replicas.py +0 -0
  663. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py +0 -0
  664. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py +0 -0
  665. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py +0 -0
  666. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/22cf51430c78_add_availability_column_to_table_rses.py +0 -0
  667. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py +0 -0
  668. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/25821a8a45a3_remove_unique_constraint_on_requests.py +0 -0
  669. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/25fc855625cf_added_unique_constraint_to_rules.py +0 -0
  670. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/269fee20dee9_add_repair_cnt_to_locks.py +0 -0
  671. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/271a46ea6244_add_ignore_availability_column_to_rules.py +0 -0
  672. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py +0 -0
  673. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/27e3a68927fb_remove_replicas_tombstone_and_replicas_.py +0 -0
  674. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py +0 -0
  675. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/295289b5a800_processed_by_and__at_in_requests.py +0 -0
  676. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2962ece31cf4_add_nbaccesses_column_in_the_did_table.py +0 -0
  677. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py +0 -0
  678. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2b69addda658_add_columns_for_third_party_copy_read_.py +0 -0
  679. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2b8e7bcb4783_add_config_table.py +0 -0
  680. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2ba5229cb54c_add_submitted_at_to_requests_table.py +0 -0
  681. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2cbee484dcf9_added_column_volume_to_rse_transfer_.py +0 -0
  682. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py +0 -0
  683. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2eef46be23d4_change_tokens_pk.py +0 -0
  684. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/2f648fc909f3_index_in_rule_history_on_scope_name.py +0 -0
  685. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/30d5206e9cad_increase_oauthrequest_redirect_msg_.py +0 -0
  686. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/30fa38b6434e_add_index_on_service_column_in_the_message_table.py +0 -0
  687. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py +0 -0
  688. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py +0 -0
  689. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/3345511706b8_replicas_table_pk_definition_is_in_.py +0 -0
  690. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/35ef10d1e11b_change_index_on_table_requests.py +0 -0
  691. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py +0 -0
  692. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py +0 -0
  693. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/3ac1660a1a72_extend_distance_table.py +0 -0
  694. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py +0 -0
  695. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py +0 -0
  696. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py +0 -0
  697. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/40ad39ce3160_add_transferred_at_to_requests_table.py +0 -0
  698. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py +0 -0
  699. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/42db2617c364_create_index_on_requests_external_id.py +0 -0
  700. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/436827b13f82_added_column_activity_to_table_requests.py +0 -0
  701. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/44278720f774_update_requests_typ_sta_upd_idx_index.py +0 -0
  702. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py +0 -0
  703. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/469d262be19_removing_created_at_index.py +0 -0
  704. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py +0 -0
  705. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/49a21b4d4357_create_index_on_table_tokens.py +0 -0
  706. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/4a2cbedda8b9_add_source_replica_expression_column_to_.py +0 -0
  707. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/4a7182d9578b_added_bytes_length_accessed_at_columns.py +0 -0
  708. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/4bab9edd01fc_create_index_on_requests_rule_id.py +0 -0
  709. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/4c3a4acfe006_new_attr_account_table.py +0 -0
  710. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/4cf0a2e127d4_adding_transient_metadata.py +0 -0
  711. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/50280c53117c_add_qos_class_to_rse.py +0 -0
  712. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/52153819589c_add_rse_id_to_replicas_table.py +0 -0
  713. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/52fd9f4916fa_added_activity_to_rules.py +0 -0
  714. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/53b479c3cb0f_fix_did_meta_table_missing_updated_at_.py +0 -0
  715. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/5673b4b6e843_add_wfms_metadata_to_rule_tables.py +0 -0
  716. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py +0 -0
  717. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/58bff7008037_add_started_at_to_requests.py +0 -0
  718. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py +0 -0
  719. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py +0 -0
  720. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py +0 -0
  721. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/6e572a9bfbf3_add_new_split_container_column_to_rules.py +0 -0
  722. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/70587619328_add_comment_column_for_subscriptions.py +0 -0
  723. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/739064d31565_remove_history_table_pks.py +0 -0
  724. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py +0 -0
  725. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py +0 -0
  726. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/810a41685bc1_added_columns_rse_transfer_limits.py +0 -0
  727. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/83f991c63a93_correct_rse_expression_length.py +0 -0
  728. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/8523998e2e76_increase_size_of_extended_attributes_.py +0 -0
  729. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/8ea9122275b1_adding_missing_function_based_indices.py +0 -0
  730. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/90f47792bb76_add_clob_payload_to_messages.py +0 -0
  731. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py +0 -0
  732. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/94a5961ddbf2_add_estimator_columns.py +0 -0
  733. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py +0 -0
  734. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py +0 -0
  735. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/9eb936a81eb1_true_is_true.py +0 -0
  736. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py +0 -0
  737. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/a118956323f8_added_vo_table_and_vo_col_to_rse.py +0 -0
  738. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/a193a275255c_add_status_column_in_messages.py +0 -0
  739. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/a5f6f6e928a7_1_7_0.py +0 -0
  740. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py +0 -0
  741. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/a6eb23955c28_state_idx_non_functional.py +0 -0
  742. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/a74275a1ad30_added_global_quota_table.py +0 -0
  743. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/a93e4e47bda_heartbeats.py +0 -0
  744. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py +0 -0
  745. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/b0070f3695c8_add_deletedidmeta_table.py +0 -0
  746. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/b4293a99f344_added_column_identity_to_table_tokens.py +0 -0
  747. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/b5493606bbf5_fix_primary_key_for_subscription_history.py +0 -0
  748. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py +0 -0
  749. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/b818052fa670_add_index_to_quarantined_replicas.py +0 -0
  750. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/b8caac94d7f0_add_comments_column_for_subscriptions_.py +0 -0
  751. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py +0 -0
  752. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py +0 -0
  753. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/bc68e9946deb_add_staging_timestamps_to_request.py +0 -0
  754. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py +0 -0
  755. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py +0 -0
  756. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py +0 -0
  757. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py +0 -0
  758. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py +0 -0
  759. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py +0 -0
  760. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/d6dceb1de2d_added_purge_column_to_rules.py +0 -0
  761. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/d6e2c3b2cf26_remove_third_party_copy_column_from_rse.py +0 -0
  762. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py +0 -0
  763. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/e138c364ebd0_extending_columns_for_filter_and_.py +0 -0
  764. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py +0 -0
  765. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/f1b14a8c2ac1_postgres_use_check_constraints.py +0 -0
  766. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py +0 -0
  767. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/f85a2962b021_adding_transfertool_column_to_requests_.py +0 -0
  768. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/fa7a7d78b602_increase_refresh_token_size.py +0 -0
  769. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/fb28a95fe288_add_replicas_rse_id_tombstone_idx.py +0 -0
  770. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/fe1a65b176c9_set_third_party_copy_read_and_write_.py +0 -0
  771. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/migrate_repo/versions/fe8ea2fa9788_added_third_party_copy_column_to_rse_.py +0 -0
  772. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/sautils.py +0 -0
  773. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/db/sqla/types.py +0 -0
  774. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/gateway/__init__.py +0 -0
  775. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/__init__.py +0 -0
  776. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/bittorrent.py +0 -0
  777. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/cache.py +0 -0
  778. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/dummy.py +0 -0
  779. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/gfal.py +0 -0
  780. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/globus.py +0 -0
  781. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/http_cache.py +0 -0
  782. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/mock.py +0 -0
  783. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/posix.py +0 -0
  784. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/rclone.py +0 -0
  785. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/rfio.py +0 -0
  786. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/ssh.py +0 -0
  787. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/storm.py +0 -0
  788. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/rse/protocols/xrootd.py +0 -0
  789. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/tests/__init__.py +0 -0
  790. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/tests/common_server.py +0 -0
  791. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/transfertool/__init__.py +0 -0
  792. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/transfertool/bittorrent.py +0 -0
  793. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/transfertool/bittorrent_driver.py +0 -0
  794. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/transfertool/bittorrent_driver_qbittorrent.py +0 -0
  795. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/transfertool/globus.py +0 -0
  796. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/transfertool/globus_library.py +0 -0
  797. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/transfertool/mock.py +0 -0
  798. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/transfertool/transfertool.py +0 -0
  799. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/version.py +0 -0
  800. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/__init__.py +0 -0
  801. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/__init__.py +0 -0
  802. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/flaskapi/__init__.py +0 -0
  803. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/flaskapi/authenticated_bp.py +0 -0
  804. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/flaskapi/v1/__init__.py +0 -0
  805. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/flaskapi/v1/templates/auth_crash.html +0 -0
  806. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/flaskapi/v1/templates/auth_granted.html +0 -0
  807. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/flaskapi/v1/types.py +0 -0
  808. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/main.py +0 -0
  809. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/metrics.py +0 -0
  810. {rucio-37.1.0.post1 → rucio-38.5.1}/lib/rucio/web/rest/ping.py +0 -0
  811. {rucio-37.1.0.post1 → rucio-38.5.1}/setup.cfg +0 -0
  812. {rucio-37.1.0.post1 → rucio-38.5.1}/setup.py +0 -0
  813. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_auditor.py +0 -0
  814. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_auditor_hdfs.py +0 -0
  815. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_auditor_srmdumps.py +0 -0
  816. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_authentication.py +0 -0
  817. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_bad_replica.py +0 -0
  818. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_boolean.py +0 -0
  819. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_credential.py +0 -0
  820. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_daemons.py +0 -0
  821. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_db.py +0 -0
  822. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_dumper.py +0 -0
  823. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_filter_engine.py +0 -0
  824. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_identity.py +0 -0
  825. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_impl_upload_download.py +0 -0
  826. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_judge_cleaner.py +0 -0
  827. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_judge_repairer.py +0 -0
  828. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_lifetime.py +0 -0
  829. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_message.py +0 -0
  830. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_meta_conventions.py +0 -0
  831. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_meta_did.py +0 -0
  832. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_module_import.py +0 -0
  833. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_monitor.py +0 -0
  834. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_oauthmanager.py +0 -0
  835. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_pfns.py +0 -0
  836. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_ping.py +0 -0
  837. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_preparer.py +0 -0
  838. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_qos.py +0 -0
  839. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_quarantined_replica.py +0 -0
  840. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_redirect.py +0 -0
  841. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_request.py +0 -0
  842. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_root_proxy.py +0 -0
  843. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_expression_parser.py +0 -0
  844. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_lfn2path.py +0 -0
  845. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_gfal2.py +0 -0
  846. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_gfal2_impl.py +0 -0
  847. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_posix.py +0 -0
  848. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_rclone.py +0 -0
  849. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_rsync.py +0 -0
  850. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_srm.py +0 -0
  851. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_ssh.py +0 -0
  852. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_webdav.py +0 -0
  853. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rse_protocol_xrootd.py +0 -0
  854. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_rucio_server.py +0 -0
  855. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_tpc.py +0 -0
  856. {rucio-37.1.0.post1 → rucio-38.5.1}/tests/test_transfer.py +0 -0
  857. {rucio-37.1.0.post1 → rucio-38.5.1}/tools/bootstrap.py +0 -0
  858. {rucio-37.1.0.post1 → rucio-38.5.1}/tools/merge_rucio_configs.py +0 -0
@@ -0,0 +1,101 @@
1
+ Individual contributors to the source code
2
+ ------------------------------------------
3
+ - Mario Lassnig <mario.lassnig@cern.ch>, 2012-2019
4
+ - Vincent Garonne <vgaronne@gmail.com>, 2012-2019
5
+ - Angelos Molfetas <Angelos.Molfetas@cern.ch>, 2012
6
+ - Martin Barisits <martin.barisits@cern.ch>, 2012-2019
7
+ - Thomas Beermann <thomas.beermann@cern.ch>, 2012-2019
8
+ - Ralph Vigne <ralph.vigne@cern.ch>, 2012-2016
9
+ - Graeme Stewart <graeme.andrew.stewart@cern.ch>, 2012
10
+ - Yun-Pin Sun <winter0128@gmail.com>, 2012-2013
11
+ - Cedric Serfon <cedric.serfon@cern.ch>, 2012-2020
12
+ - Luis Rodrigues <lfrodrigues@gmail.com>, 2013
13
+ - WeiJen Chang <e4523744@gmail.com>, 2013-2014
14
+ - Gancho Dimitrov <gancho.dimitrov@cern.ch>, 2013
15
+ - Wen Guan <wguan.icedew@gmail.com>, 2014-2017
16
+ - David Cameron <d.g.cameron@gmail.com>, 2014-2016
17
+ - Tomáš Kouba <tomas.kouba@cern.ch>, 2014-2015
18
+ - Cheng-Hsi Chao <cheng-hsi.chao@cern.ch>, 2014
19
+ - Evangelia Liotiri <evangelia.liotiri@cern.ch>, 2014-2015
20
+ - Joaquín Bogado <jbogado@linti.unlp.edu.ar>, 2014-2018
21
+ - Fernando López <fernando.e.lopez@gmail.com>, 2015-2016
22
+ - Sylvain Blunier <sylvain.blunier@cern.ch>, 2016
23
+ - Tomas Javurek <tomas.javurek@cern.ch>, 2016-2019
24
+ - Brian Bockelman <bbockelm@cse.unl.edu>, 2016-2018
25
+ - Tobias Wegner <twegner@cern.ch>, 2017-2019
26
+ - Frank Berghaus <frank.berghaus@cern.ch>, 2017
27
+ - Vitjan Zavrtanik <vitjan.zavrtanik@cern.ch>, 2017
28
+ - Stefan Prenner <stefan.prenner@cern.ch>, 2017-2018
29
+ - Nicolo Magini <Nicolo.Magini@cern.ch>, 2017-2018
30
+ - Oliver Freyermuth <o.freyermuth@googlemail.com>, 2017
31
+ - Eric Vaandering <ericvaandering@gmail.com>, 2018
32
+ - Dimitrios Christidis <dimitrios.christidis@cern.ch>, 2018-2019
33
+ - Igor Mandrichenko <ivm@fnal.gov>, 2018
34
+ - Shreyansh Khajanchi <shreyansh_k@live.com>, 2018
35
+ - Robert Illingworth <illingwo@fnal.gov>, 2018
36
+ - Hannes Hansen <hannes.jakob.hansen@cern.ch>, 2018-2019
37
+ - Gabriele Gaetano Fronzé <gabriele.fronze@to.infn.it>, 2018-2021
38
+ - James Perry <j.perry@epcc.ed.ac.uk>, 2019
39
+ - Vivek Nigam <viveknigam.nigam3@gmail.com>, 2019 - 2020
40
+ - Kaustubh Hiware <hiwarekaustubh@gmail.com>, 2019
41
+ - Florido Paganelli <florido.paganelli@hep.lu.se>, 2019
42
+ - Boris Bauermeister <Boris.Bauermeister@gmail.com> 2019
43
+ - Ruturaj Gujar <ruturaj.gujar23@gmail.com> 2019
44
+ - Andrew Lister <andrew.lister@stfc.ac.uk>, 2019
45
+ - Aristeidis Fkiaras <aristeidis.fkiaras@cern.ch>, 2019
46
+ - Matt Snyder <msnyder@bnl.gov>, 2019
47
+ - Brandon White <bjwhite@fnal.gov> 2019-2023
48
+ - Benedikt Ziemons <benedikt.ziemons@cern.ch>, 2020
49
+ - Muhammad Aditya Hilmy <mhilmy@hey.com>, 2020
50
+ - Eli Chadwick <eli.chadwick@stfc.ac.uk>, 2020
51
+ - Patrick Austin <patrick.austin@stfc.ac.uk>, 2020
52
+ - Rob Barnsley <R.Barnsley@skatelescope.org>, 2020
53
+ - Alan Malta Rodrigues <alan.malta@cern.ch>, 2020
54
+ - Mayank Sharma <mayank.sharma@cern.ch>, 2020
55
+ - Ian Johnson, <ian.johnson@stfc.ac.uk>, 2021
56
+ - Radu Carpa <radu.carpa@cern.ch>, 2021
57
+ - Dhruv Sondhi <dhruvsondhi05@gmail.com>, 2021
58
+ - Simon Fayer <simon.fayer05@imperial.ac.uk>, 2021
59
+ - Ilija Vukotic <ivukotic@uchicago.edu>, 2020-2021
60
+ - David Población Criado <david.poblacion.criado@cern.ch>, 2021
61
+ - Nick Smith <nick.smith@cern.ch>, 2021
62
+ - Rizart Dona <rizart.dona@cern.ch>, 2021
63
+ - Rakshita Varadarajan <rakshitajps@gmail.com>, 2021
64
+ - Fabio Luchetti <fabio.luchetti@cern.ch>, 2021
65
+ - Stefan Piperov <stefan.piperov@cern.ch>, 2021
66
+ - Jensen Zhang <hack@jensen-zhang.site>, 2022
67
+ - Aksel Lunde Aase <aksel.lunde.aase@gmail.com>, 2022
68
+ - Elena Gazzarrini <gazzarrini.elena@gmail.com>, 2022-2023
69
+ - Maximilian Linhoff, <maximilian.linhoff@tu-dortmund.de>, 2024
70
+ - Eric Banzuzi, <eric.banzuzi@gmail.com>, 2024
71
+ - Paul Millar, <paul.millar@desy.de>, 2025
72
+ - Vimalan S <vimalan.github@gmail.com>, 2025
73
+
74
+ Organisations employing contributors
75
+ ------------------------------------
76
+ - European Organisation for Nuclear Research (Switzerland)
77
+ - University of Oslo (Norway)
78
+ - University of Wisconsin Madison (USA)
79
+ - National University of La Plata (Argentina)
80
+ - Albert Ludwigs Universität Freiburg (Germany)
81
+ - University of Nebraska Lincoln (USA)
82
+ - Bergische Universität Wuppertal (Germany)
83
+ - University of Victoria (Canada)
84
+ - INFN e Universita Genova (Italy)
85
+ - University of Bonn (Germany)
86
+ - Fermi National Accelerator Laboratory (USA)
87
+ - Leopold-Franzens Universität Innsbruck (Austria)
88
+ - Academia Sinica (Taiwan)
89
+ - University of Edinburgh (UK)
90
+ - Birla Institute of Technology, Mesra (India)
91
+ - Indian Institute of Technology, Kharagpur (India)
92
+ - Stockholm University, Stockholm (Sweden)
93
+ - Dwarkadas J. Sanghvi College of Engineering (India)
94
+ - Science and Technology Facilities Council (UK)
95
+ - Brookhaven National Laboratory (USA)
96
+ - Institut Teknologi Bandung (Indonesia)
97
+ - Imperial College London (UK)
98
+ - University of Chicago (USA)
99
+ - Purdue University (USA)
100
+ - TU Dortmund University (Germany)
101
+ - Deutsches Elektronen-Synchrotron DESY (Germany)
rucio-38.5.1/PKG-INFO ADDED
@@ -0,0 +1,93 @@
1
+ Metadata-Version: 2.4
2
+ Name: rucio
3
+ Version: 38.5.1
4
+ Summary: Rucio Package
5
+ Home-page: https://rucio.cern.ch/
6
+ Author: Rucio
7
+ Author-email: rucio-dev@cern.ch
8
+ License: Apache License, Version 2.0
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Intended Audience :: Information Technology
12
+ Classifier: Intended Audience :: System Administrators
13
+ Classifier: Operating System :: POSIX :: Linux
14
+ Classifier: Natural Language :: English
15
+ Classifier: Programming Language :: Python
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Environment :: No Input/Output (Daemon)
20
+ Requires-Python: >=3.9, <4
21
+ License-File: LICENSE
22
+ License-File: AUTHORS.rst
23
+ Requires-Dist: requests<=2.32.3
24
+ Requires-Dist: urllib3<=1.26.19
25
+ Requires-Dist: dogpile-cache<=1.2.2
26
+ Requires-Dist: packaging<=24.1
27
+ Requires-Dist: tabulate<=0.9.0
28
+ Requires-Dist: jsonschema<=4.23.0
29
+ Requires-Dist: rich<=13.9.4
30
+ Requires-Dist: typing_extensions<=4.12.2
31
+ Requires-Dist: argcomplete<=3.5.3
32
+ Requires-Dist: boto
33
+ Requires-Dist: python-magic<=0.4.27
34
+ Requires-Dist: paramiko<=3.5.1
35
+ Requires-Dist: boto3<=1.37.5
36
+ Requires-Dist: sqlalchemy<=2.0.38
37
+ Requires-Dist: alembic<=1.14.1
38
+ Requires-Dist: pymemcache<=4.0.0
39
+ Requires-Dist: python-dateutil<=2.9.0.post0
40
+ Requires-Dist: stomp-py<=8.2.0
41
+ Requires-Dist: statsd<=4.0.1
42
+ Requires-Dist: geoip2<=5.0.1
43
+ Requires-Dist: google-auth<=2.38.0
44
+ Requires-Dist: redis<=5.2.1
45
+ Requires-Dist: flask<=3.1.0
46
+ Requires-Dist: oic<=1.7.0
47
+ Requires-Dist: prometheus_client<=0.21.1
48
+ Provides-Extra: oracle
49
+ Requires-Dist: oracledb<=3.1.1; extra == "oracle"
50
+ Provides-Extra: mongo
51
+ Requires-Dist: pymongo<=4.11.2; extra == "mongo"
52
+ Provides-Extra: elastic
53
+ Requires-Dist: elasticsearch<=8.15.1; extra == "elastic"
54
+ Provides-Extra: postgresql
55
+ Requires-Dist: psycopg<=3.2.3; extra == "postgresql"
56
+ Requires-Dist: psycopg-binary<=3.2.3; extra == "postgresql"
57
+ Requires-Dist: psycopg-pool<=3.2.3; extra == "postgresql"
58
+ Provides-Extra: mysql
59
+ Requires-Dist: PyMySQL<=1.1.1; extra == "mysql"
60
+ Provides-Extra: kerberos
61
+ Requires-Dist: kerberos<=1.3.1; extra == "kerberos"
62
+ Requires-Dist: pykerberos<=1.2.4; extra == "kerberos"
63
+ Requires-Dist: requests-kerberos<=0.15.0; extra == "kerberos"
64
+ Provides-Extra: globus
65
+ Requires-Dist: PyYAML<=6.0.2; extra == "globus"
66
+ Requires-Dist: globus-sdk<=3.41.0; extra == "globus"
67
+ Provides-Extra: saml
68
+ Requires-Dist: python3-saml<=1.16.0; extra == "saml"
69
+ Provides-Extra: dev
70
+ Requires-Dist: pytest; extra == "dev"
71
+ Requires-Dist: pytest-xdist; extra == "dev"
72
+ Requires-Dist: pytest-cov; extra == "dev"
73
+ Requires-Dist: pyflakes; extra == "dev"
74
+ Requires-Dist: flake8; extra == "dev"
75
+ Requires-Dist: pylint; extra == "dev"
76
+ Requires-Dist: isort; extra == "dev"
77
+ Requires-Dist: xmltodict; extra == "dev"
78
+ Requires-Dist: pytz; extra == "dev"
79
+ Requires-Dist: pycodestyle; extra == "dev"
80
+ Requires-Dist: pydoc-markdown; extra == "dev"
81
+ Requires-Dist: docspec_python; extra == "dev"
82
+ Requires-Dist: sh; extra == "dev"
83
+ Requires-Dist: PyYAML; extra == "dev"
84
+ Dynamic: author
85
+ Dynamic: author-email
86
+ Dynamic: classifier
87
+ Dynamic: home-page
88
+ Dynamic: license
89
+ Dynamic: license-file
90
+ Dynamic: provides-extra
91
+ Dynamic: requires-dist
92
+ Dynamic: requires-python
93
+ Dynamic: summary
rucio-38.5.1/bin/rucio ADDED
@@ -0,0 +1,137 @@
1
+ #!/usr/bin/env python
2
+ # Copyright European Organization for Nuclear Research (CERN) since 2012
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ import argparse
17
+ import sys
18
+ from typing import TYPE_CHECKING, Optional
19
+
20
+ from rucio.cli.bin_legacy.rucio import get_parser
21
+ from rucio.cli.bin_legacy.rucio import main as main_legacy
22
+ from rucio.cli.command import main
23
+ from rucio.common.utils import setup_logger
24
+
25
+ if TYPE_CHECKING:
26
+ from logging import Logger
27
+
28
+
29
+ def _get_first_command(args: list[str]) -> Optional[str]:
30
+ return next(
31
+ (
32
+ arg for arg in args
33
+ if arg != 'rucio' and (arg[0] != "-" or arg in ("-h", "--help", "--version"))
34
+ ),
35
+ None
36
+ )
37
+
38
+
39
+ def make_warning(logger: "Logger") -> None:
40
+ base_warning = "This method is being deprecated."
41
+ new_command = map_legacy_command()
42
+ if new_command is not None:
43
+ warning = f"{base_warning} Please replace your command with `rucio {' '.join(new_command)}`"
44
+ else:
45
+ warning = base_warning + " Please view rucio -h for an updated help menu."
46
+
47
+ logger.warning(warning)
48
+
49
+
50
+ def map_legacy_command() -> Optional[list[str]]:
51
+ command = _get_first_command(sys.argv[1:])
52
+
53
+ new_command = None
54
+ if command not in ("-h", "--version", None):
55
+ command_map = {
56
+ "list-file-replicas": ["replica", "list", "file"],
57
+ "list-dataset-replicas": ["replica", "list", "dataset"],
58
+ "list-datasets-rse": ["replica", "list", "dataset", "--rse"],
59
+ "add-dataset": ["did", "add", "--type dataset"],
60
+ "add-container": ["did", "add", "--type container"],
61
+ "attach": ["did", "content", "add"],
62
+ "detach": ["did", "content", "remove"],
63
+ "ls": ["did", "list"],
64
+ "list-dids": ["did", "list"],
65
+ "list-parent-dids": ["did", "list", "--parent"],
66
+ "list-scopes": ["scope", "list"],
67
+ "close": ["did", "update", "--close"],
68
+ "reopen": ["did", "update", "--open"],
69
+ "stat": ["did", "show"],
70
+ "erase": ["did", "remove"],
71
+ "list-content": ["did", "content", "list"],
72
+ "list-content-history": ["did", "content", "history"],
73
+ "upload": ["upload"],
74
+ "get": ["download"],
75
+ "download": ["download"],
76
+ "get-metadata": ["did", "metadata", "list"],
77
+ "set-metadata": ["did", "metadata", "add"],
78
+ "delete-metadata": ["did", "metadata", "remove"],
79
+ "list-rse-usage": ["rse", "show"],
80
+ "list-account-usage": ["account", "limit", "list"],
81
+ "list-account-limits": ["account", "limit", "list"],
82
+ "add-rule": ["rule", "add"],
83
+ "delete-rule": ["rule", "remove"],
84
+ "rule-info": ["rule", "show"],
85
+ "list-rules": ["rule", "list"],
86
+ "list-rules-history": ["rule", "history"],
87
+ "update-rule": ["rule", "update"],
88
+ "move-rule": ["rule", "move"],
89
+ "list-rses": ["rse", "list"],
90
+ "list-suspicious-replicas": ["replica", "state", "suspicious"],
91
+ "list-rse-attributes": ["rse", "attribute", "list"],
92
+ "touch": ["did", "update", "--touch"],
93
+ "add-lifetime-exception": ["lifetime-exception", "add"],
94
+ }
95
+ new_command = command_map.get(command)
96
+
97
+ return new_command
98
+
99
+
100
+ if __name__ == "__main__":
101
+ commands = ("account", "config", "did", "replica", "rse", "rule", "scope", "subscription", "ping", "whoami", "test-server", "lifetime-exception", "upload", "download", "opendata")
102
+
103
+ parser = argparse.ArgumentParser(add_help=False)
104
+ # Check for legacy flag
105
+ parser.add_argument("--legacy", action="store_true")
106
+ # Check for commands in the new command list
107
+ parser.add_argument("-h", "--help", action="store_true")
108
+ parser.add_argument("--version", action="store_true")
109
+
110
+ args, _ = parser.parse_known_args()
111
+
112
+ logger = setup_logger(module_name=__name__)
113
+
114
+ if args.legacy:
115
+ make_warning(logger)
116
+ sys.argv.pop(sys.argv.index('--legacy'))
117
+ main_legacy()
118
+
119
+ elif (any(arg in commands for arg in sys.argv)) or args.help or args.version:
120
+ main() # pylint: disable=E1120
121
+
122
+ else:
123
+ try:
124
+ get_parser().parse_args()
125
+ make_warning(logger)
126
+ main_legacy()
127
+
128
+ # Make a custom warning - show the new help menu when invalid commands are called.
129
+ except argparse.ArgumentError:
130
+ logger.error("Invalid argument(s) - %s " % sys.argv[1:])
131
+ command = map_legacy_command()
132
+ if command is not None:
133
+ sys.argv = ["rucio"] + command + ["-h"]
134
+ else:
135
+ sys.argv = ["rucio", "-h"]
136
+
137
+ main() # pylint: disable=E1120
@@ -0,0 +1,81 @@
1
+ #!/usr/bin/env python3
2
+ # Copyright European Organization for Nuclear Research (CERN) since 2012
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ """
17
+ Abacus account is a daemon to update account counters.
18
+ """
19
+
20
+ import argparse
21
+ import signal
22
+
23
+ from rucio.daemons.abacus.account import run, stop
24
+
25
+
26
+ def get_parser():
27
+ """
28
+ Returns the argparse parser.
29
+ """
30
+ description = (
31
+ "The Abacus-Account daemon is responsible for updating account usages. "
32
+ "It checks if there are new entries in the UpdatedAccountCounter table "
33
+ "and updates the account counters in the AccountCounter table by adding "
34
+ "or subtracting the amount and size of files and recalculating the quotas."
35
+ )
36
+
37
+ parser = argparse.ArgumentParser(description=description, epilog='''
38
+ Upload a file::
39
+
40
+ $ rucio upload --rse MOCK --scope mock filename.txt
41
+
42
+ Check account usage::
43
+
44
+ $ rucio list-account-usage username
45
+ +-------+---------+---------+--------------+
46
+ | RSE | USAGE | LIMIT | QUOTA LEFT |
47
+ |-------+---------+---------+--------------|
48
+ +-------+---------+---------+--------------+
49
+
50
+ Run the daemon::
51
+
52
+ $ rucio-abacus-account --run-once
53
+
54
+ Check account usage again::
55
+
56
+ $ rucio list-account-usage username
57
+ +-------+------------+---------+--------------+
58
+ | RSE | USAGE | LIMIT | QUOTA LEFT |
59
+ |-------+------------+---------+--------------|
60
+ | MOCK | 211.724 kB | 0.000 B | 0.000 B |
61
+ +-------+------------+---------+--------------+
62
+
63
+ ''', formatter_class=argparse.RawDescriptionHelpFormatter)
64
+ parser.add_argument("--run-once", action="store_true", default=False, help='One iteration only')
65
+ parser.add_argument("--threads", action="store", default=1, type=int, help='Concurrency control: total number of threads on this process')
66
+ parser.add_argument("--enable-history", action="store_true", default=False, help='Record account usage into history table every hour.')
67
+ parser.add_argument('--sleep-time', action="store", default=10, type=int, help='Concurrency control: thread sleep time after each chunk of work')
68
+
69
+ return parser
70
+
71
+
72
+ if __name__ == "__main__":
73
+
74
+ signal.signal(signal.SIGTERM, stop)
75
+
76
+ parser = get_parser()
77
+ args = parser.parse_args()
78
+ try:
79
+ run(once=args.run_once, threads=args.threads, fill_history_table=args.enable_history, sleep_time=args.sleep_time)
80
+ except KeyboardInterrupt:
81
+ stop()
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env python3
2
+ # Copyright European Organization for Nuclear Research (CERN) since 2012
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ """
17
+ Abacus rse is a daemon to update rse counters.
18
+ """
19
+
20
+ import argparse
21
+ import signal
22
+
23
+ from rucio.daemons.abacus.rse import run, stop
24
+
25
+
26
+ def get_parser():
27
+ """
28
+ Returns the argparse parser.
29
+ """
30
+ description = (
31
+ "The Abacus-RSE daemon is responsible for updating RSE usages. "
32
+ "It checks if there are new entries in the UpdatedRSECounter table "
33
+ "and updates the RSE counter in the RSECounter table "
34
+ "by adding or subtracting the amount of files and the size."
35
+ )
36
+
37
+ parser = argparse.ArgumentParser(description=description, epilog='''
38
+ Upload a file to your RSE::
39
+
40
+ $ rucio upload --rse MOCK --scope mock filename.txt
41
+
42
+ Check RSE usage::
43
+
44
+ $ rucio list-rse-usage MOCK
45
+ USAGE:
46
+ ------
47
+ files: 0
48
+ used: 0.000 B
49
+ rse: MOCK
50
+ updated_at: 2018-11-30 14:28:34
51
+ source: rucio
52
+ ------
53
+
54
+ Run the daemon::
55
+
56
+ $ rucio-abacus-rse --run-once
57
+
58
+ Check RSE usage again::
59
+
60
+ $ rucio list-rse-usage MOCK
61
+ USAGE:
62
+ ------
63
+ files: 1
64
+ used: 213.481 kB
65
+ rse: MOCK
66
+ updated_at: 2018-12-03 08:58:33
67
+ source: rucio
68
+ ------
69
+ ''', formatter_class=argparse.RawDescriptionHelpFormatter)
70
+ parser.add_argument("--run-once", action="store_true", default=False, help='One iteration only')
71
+ parser.add_argument("--threads", action="store", default=1, type=int, help='Concurrency control: total number of threads on this process')
72
+ parser.add_argument("--enable-history", action="store_true", default=False, help='Record RSE usage into history table every hour.')
73
+ parser.add_argument('--sleep-time', action="store", default=10, type=int, help='Concurrency control: thread sleep time after each chunk of work')
74
+ return parser
75
+
76
+
77
+ if __name__ == "__main__":
78
+
79
+ signal.signal(signal.SIGTERM, stop)
80
+ parser = get_parser()
81
+ args = parser.parse_args()
82
+ try:
83
+ run(once=args.run_once, threads=args.threads, fill_history_table=args.enable_history, sleep_time=args.sleep_time)
84
+ except KeyboardInterrupt:
85
+ stop()