rucio 34.1.0__tar.gz → 34.3.0__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.

Potentially problematic release.


This version of rucio might be problematic. Click here for more details.

Files changed (595) hide show
  1. {rucio-34.1.0 → rucio-34.3.0}/PKG-INFO +1 -1
  2. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio +3 -3
  3. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-admin +11 -10
  4. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-auditor +2 -2
  5. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-automatix +1 -1
  6. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-cache-client +2 -2
  7. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-conveyor-finisher +1 -1
  8. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-conveyor-submitter +2 -2
  9. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-judge-evaluator +2 -2
  10. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-necromancer +1 -1
  11. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-oauth-manager +2 -2
  12. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-replica-recoverer +2 -2
  13. {rucio-34.1.0 → rucio-34.3.0}/etc/ldap.cfg.template +1 -1
  14. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/account_limit.py +1 -1
  15. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/config.py +11 -11
  16. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/did.py +2 -1
  17. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/rse.py +2 -2
  18. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/vo.py +16 -5
  19. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/accountclient.py +1 -1
  20. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/baseclient.py +154 -131
  21. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/didclient.py +1 -1
  22. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/downloadclient.py +14 -13
  23. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/rseclient.py +5 -5
  24. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/ruleclient.py +2 -1
  25. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/uploadclient.py +6 -5
  26. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/cache.py +3 -1
  27. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/config.py +48 -46
  28. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/constants.py +61 -1
  29. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/didtype.py +23 -20
  30. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/dumper/__init__.py +67 -38
  31. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/dumper/consistency.py +7 -9
  32. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/dumper/data_models.py +2 -2
  33. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/pcache.py +2 -2
  34. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/plugins.py +10 -9
  35. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/policy.py +4 -3
  36. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/__init__.py +11 -7
  37. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/types.py +14 -1
  38. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/utils.py +28 -29
  39. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/account_counter.py +1 -1
  40. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/account_limit.py +1 -1
  41. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/authentication.py +9 -4
  42. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/credential.py +3 -2
  43. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/did.py +7 -8
  44. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/did_meta_plugins/__init__.py +1 -1
  45. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/did_meta_plugins/did_column_meta.py +2 -3
  46. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/did_meta_plugins/did_meta_plugin_interface.py +58 -9
  47. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/did_meta_plugins/filter_engine.py +2 -2
  48. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/did_meta_plugins/json_meta.py +2 -3
  49. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/did_meta_plugins/mongo_meta.py +3 -3
  50. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/did_meta_plugins/postgres_meta.py +1 -1
  51. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/dirac.py +1 -1
  52. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/heartbeat.py +80 -26
  53. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/identity.py +21 -9
  54. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/importer.py +10 -8
  55. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/lifetime_exception.py +3 -3
  56. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/lock.py +3 -2
  57. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/monitor.py +17 -9
  58. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/naming_convention.py +47 -14
  59. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/oidc.py +8 -8
  60. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/permission/__init__.py +11 -3
  61. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/permission/atlas.py +33 -32
  62. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/permission/belleii.py +4 -3
  63. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/permission/cms.py +9 -8
  64. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/permission/escape.py +5 -4
  65. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/permission/generic.py +79 -78
  66. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/permission/generic_multi_vo.py +6 -5
  67. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/quarantined_replica.py +1 -1
  68. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/replica.py +15 -14
  69. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/request.py +8 -7
  70. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/rse.py +11 -10
  71. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/rse_counter.py +1 -1
  72. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/rse_expression_parser.py +4 -4
  73. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/rse_selector.py +7 -7
  74. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/rule.py +34 -33
  75. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/rule_grouping.py +19 -18
  76. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/subscription.py +2 -3
  77. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/topology.py +18 -16
  78. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/transfer.py +12 -12
  79. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/vo.py +9 -10
  80. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/volatile_replica.py +1 -1
  81. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/atropos/atropos.py +1 -1
  82. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/auditor/__init__.py +4 -4
  83. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/auditor/srmdumps.py +64 -25
  84. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/automatix/automatix.py +6 -5
  85. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/badreplicas/minos.py +1 -1
  86. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/bb8/common.py +1 -1
  87. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/bb8/nuclei_background_rebalance.py +2 -1
  88. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/bb8/t2_background_rebalance.py +2 -1
  89. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop_with_network.py +4 -3
  90. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/collectors/mock_did.py +1 -1
  91. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/common.py +2 -2
  92. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/common.py +4 -3
  93. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/finisher.py +2 -2
  94. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/poller.py +4 -4
  95. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/stager.py +1 -1
  96. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/submitter.py +1 -1
  97. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/throttler.py +1 -1
  98. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/hermes/hermes.py +3 -1
  99. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/judge/cleaner.py +1 -1
  100. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/judge/evaluator.py +1 -1
  101. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/judge/injector.py +3 -3
  102. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/judge/repairer.py +1 -1
  103. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/oauthmanager/oauthmanager.py +2 -2
  104. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/reaper/reaper.py +9 -8
  105. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/replicarecoverer/suspicious_replica_recoverer.py +4 -4
  106. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/rsedecommissioner/config.py +3 -2
  107. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/rsedecommissioner/profiles/generic.py +2 -1
  108. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/rsedecommissioner/rse_decommissioner.py +3 -2
  109. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/storage/consistency/actions.py +1 -1
  110. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/transmogrifier/transmogrifier.py +6 -5
  111. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/undertaker/undertaker.py +1 -1
  112. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/__init__.py +16 -1
  113. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/models.py +1 -1
  114. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/session.py +2 -2
  115. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/util.py +1 -1
  116. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/bittorrent.py +1 -1
  117. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/cache.py +1 -1
  118. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/dummy.py +1 -1
  119. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/gfal.py +7 -7
  120. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/globus.py +6 -5
  121. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/gsiftp.py +2 -2
  122. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/http_cache.py +1 -1
  123. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/mock.py +1 -1
  124. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/ngarc.py +1 -1
  125. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/posix.py +7 -7
  126. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/protocol.py +13 -12
  127. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/rclone.py +4 -4
  128. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/rfio.py +4 -4
  129. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/srm.py +6 -6
  130. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/ssh.py +6 -6
  131. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/storm.py +1 -1
  132. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/webdav.py +2 -2
  133. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/xrootd.py +4 -4
  134. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/tests/common.py +40 -14
  135. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/tests/common_server.py +1 -1
  136. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/bittorrent.py +7 -6
  137. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/bittorrent_driver.py +2 -2
  138. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/bittorrent_driver_qbittorrent.py +4 -5
  139. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/fts3.py +18 -18
  140. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/fts3_plugins.py +5 -4
  141. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/globus.py +5 -4
  142. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/transfertool.py +1 -1
  143. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/vcsversion.py +3 -3
  144. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/version.py +4 -4
  145. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/accountlimits.py +1 -1
  146. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/accounts.py +2 -2
  147. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/auth.py +0 -13
  148. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/common.py +1 -1
  149. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/credentials.py +3 -3
  150. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/dids.py +13 -13
  151. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/import.py +1 -1
  152. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +3 -3
  153. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/main.py +1 -1
  154. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/meta_conventions.py +2 -2
  155. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/replicas.py +3 -3
  156. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/requests.py +17 -17
  157. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/rses.py +12 -12
  158. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/rules.py +11 -4
  159. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/subscriptions.py +4 -4
  160. rucio-34.3.0/pyproject.toml +101 -0
  161. {rucio-34.1.0 → rucio-34.3.0}/requirements.txt +1 -0
  162. {rucio-34.1.0 → rucio-34.3.0}/tests/test_account.py +3 -3
  163. {rucio-34.1.0 → rucio-34.3.0}/tests/test_authentication.py +3 -5
  164. {rucio-34.1.0 → rucio-34.3.0}/tests/test_bad_replica.py +1 -1
  165. {rucio-34.1.0 → rucio-34.3.0}/tests/test_bin_rucio.py +41 -41
  166. {rucio-34.1.0 → rucio-34.3.0}/tests/test_clients.py +68 -16
  167. {rucio-34.1.0 → rucio-34.3.0}/tests/test_config.py +2 -2
  168. {rucio-34.1.0 → rucio-34.3.0}/tests/test_conveyor.py +26 -25
  169. {rucio-34.1.0 → rucio-34.3.0}/tests/test_conveyor_submitter.py +6 -5
  170. {rucio-34.1.0 → rucio-34.3.0}/tests/test_credential.py +2 -1
  171. {rucio-34.1.0 → rucio-34.3.0}/tests/test_dataset_replicas.py +1 -1
  172. {rucio-34.1.0 → rucio-34.3.0}/tests/test_dumper_data_model.py +2 -2
  173. {rucio-34.1.0 → rucio-34.3.0}/tests/test_identity.py +2 -2
  174. {rucio-34.1.0 → rucio-34.3.0}/tests/test_import_export.py +6 -5
  175. {rucio-34.1.0 → rucio-34.3.0}/tests/test_judge_repairer.py +1 -1
  176. {rucio-34.1.0 → rucio-34.3.0}/tests/test_multi_vo.py +6 -5
  177. {rucio-34.1.0 → rucio-34.3.0}/tests/test_oidc.py +9 -9
  178. {rucio-34.1.0 → rucio-34.3.0}/tests/test_preparer.py +7 -6
  179. {rucio-34.1.0 → rucio-34.3.0}/tests/test_reaper.py +1 -1
  180. {rucio-34.1.0 → rucio-34.3.0}/tests/test_replica.py +6 -5
  181. {rucio-34.1.0 → rucio-34.3.0}/tests/test_replica_recoverer.py +4 -4
  182. {rucio-34.1.0 → rucio-34.3.0}/tests/test_replica_sorting.py +3 -2
  183. {rucio-34.1.0 → rucio-34.3.0}/tests/test_request.py +6 -5
  184. {rucio-34.1.0 → rucio-34.3.0}/tests/test_root_proxy.py +3 -2
  185. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse.py +4 -3
  186. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_expression_parser.py +2 -2
  187. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_lfn2path.py +1 -1
  188. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rule.py +8 -7
  189. {rucio-34.1.0 → rucio-34.3.0}/tests/test_schema_cms.py +1 -1
  190. {rucio-34.1.0 → rucio-34.3.0}/tests/test_scope.py +2 -2
  191. {rucio-34.1.0 → rucio-34.3.0}/tests/test_subscription.py +4 -3
  192. {rucio-34.1.0 → rucio-34.3.0}/tests/test_transfer_plugins.py +1 -1
  193. {rucio-34.1.0 → rucio-34.3.0}/tests/test_upload.py +2 -1
  194. rucio-34.1.0/pyproject.toml +0 -61
  195. {rucio-34.1.0 → rucio-34.3.0}/AUTHORS.rst +0 -0
  196. {rucio-34.1.0 → rucio-34.3.0}/ChangeLog +0 -0
  197. {rucio-34.1.0 → rucio-34.3.0}/LICENSE +0 -0
  198. {rucio-34.1.0 → rucio-34.3.0}/MANIFEST.in +0 -0
  199. {rucio-34.1.0 → rucio-34.3.0}/README.rst +0 -0
  200. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-abacus-account +0 -0
  201. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-abacus-collection-replica +0 -0
  202. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-abacus-rse +0 -0
  203. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-atropos +0 -0
  204. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-bb8 +0 -0
  205. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-c3po +0 -0
  206. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-cache-consumer +0 -0
  207. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-conveyor-poller +0 -0
  208. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-conveyor-preparer +0 -0
  209. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-conveyor-receiver +0 -0
  210. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-conveyor-stager +0 -0
  211. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-conveyor-throttler +0 -0
  212. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-dark-reaper +0 -0
  213. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-dumper +0 -0
  214. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-follower +0 -0
  215. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-hermes +0 -0
  216. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-judge-cleaner +0 -0
  217. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-judge-injector +0 -0
  218. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-judge-repairer +0 -0
  219. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-kronos +0 -0
  220. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-minos +0 -0
  221. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-minos-temporary-expiration +0 -0
  222. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-reaper +0 -0
  223. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-rse-decommissioner +0 -0
  224. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-storage-consistency-actions +0 -0
  225. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-transmogrifier +0 -0
  226. {rucio-34.1.0 → rucio-34.3.0}/bin/rucio-undertaker +0 -0
  227. {rucio-34.1.0 → rucio-34.3.0}/etc/alembic.ini.template +0 -0
  228. {rucio-34.1.0 → rucio-34.3.0}/etc/alembic_offline.ini.template +0 -0
  229. {rucio-34.1.0 → rucio-34.3.0}/etc/globus-config.yml.template +0 -0
  230. {rucio-34.1.0 → rucio-34.3.0}/etc/mail_templates/rule_approval_request.tmpl +0 -0
  231. {rucio-34.1.0 → rucio-34.3.0}/etc/mail_templates/rule_approved_admin.tmpl +0 -0
  232. {rucio-34.1.0 → rucio-34.3.0}/etc/mail_templates/rule_approved_user.tmpl +0 -0
  233. {rucio-34.1.0 → rucio-34.3.0}/etc/mail_templates/rule_denied_admin.tmpl +0 -0
  234. {rucio-34.1.0 → rucio-34.3.0}/etc/mail_templates/rule_denied_user.tmpl +0 -0
  235. {rucio-34.1.0 → rucio-34.3.0}/etc/mail_templates/rule_ok_notification.tmpl +0 -0
  236. {rucio-34.1.0 → rucio-34.3.0}/etc/rse-accounts.cfg.template +0 -0
  237. {rucio-34.1.0 → rucio-34.3.0}/etc/rucio.cfg.atlas.client.template +0 -0
  238. {rucio-34.1.0 → rucio-34.3.0}/etc/rucio.cfg.template +0 -0
  239. {rucio-34.1.0 → rucio-34.3.0}/etc/rucio_multi_vo.cfg.template +0 -0
  240. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/__init__.py +0 -0
  241. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/alembicrevision.py +0 -0
  242. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/__init__.py +0 -0
  243. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/account.py +0 -0
  244. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/authentication.py +0 -0
  245. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/credential.py +0 -0
  246. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/dirac.py +0 -0
  247. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/exporter.py +0 -0
  248. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/heartbeat.py +0 -0
  249. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/identity.py +0 -0
  250. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/importer.py +0 -0
  251. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/lifetime_exception.py +0 -0
  252. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/lock.py +0 -0
  253. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/meta_conventions.py +0 -0
  254. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/permission.py +0 -0
  255. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/quarantined_replica.py +0 -0
  256. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/replica.py +0 -0
  257. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/request.py +0 -0
  258. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/rule.py +0 -0
  259. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/scope.py +0 -0
  260. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/api/subscription.py +0 -0
  261. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/__init__.py +0 -0
  262. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/accountlimitclient.py +0 -0
  263. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/client.py +0 -0
  264. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/configclient.py +0 -0
  265. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/credentialclient.py +0 -0
  266. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/diracclient.py +0 -0
  267. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/exportclient.py +0 -0
  268. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/fileclient.py +0 -0
  269. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/importclient.py +0 -0
  270. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/lifetimeclient.py +0 -0
  271. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/lockclient.py +0 -0
  272. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/metaconventionsclient.py +0 -0
  273. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/pingclient.py +0 -0
  274. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/replicaclient.py +0 -0
  275. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/requestclient.py +0 -0
  276. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/scopeclient.py +0 -0
  277. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/subscriptionclient.py +0 -0
  278. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/client/touchclient.py +0 -0
  279. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/__init__.py +0 -0
  280. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/constraints.py +0 -0
  281. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/dumper/path_parsing.py +0 -0
  282. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/exception.py +0 -0
  283. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/extra.py +0 -0
  284. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/logging.py +0 -0
  285. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/atlas.py +0 -0
  286. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/belleii.py +0 -0
  287. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/cms.py +0 -0
  288. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/domatpc.py +0 -0
  289. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/escape.py +0 -0
  290. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/generic.py +0 -0
  291. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
  292. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/icecube.py +0 -0
  293. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/schema/lsst.py +0 -0
  294. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/stomp_utils.py +0 -0
  295. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/stopwatch.py +0 -0
  296. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/common/test_rucio_server.py +0 -0
  297. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/__init__.py +0 -0
  298. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/account.py +0 -0
  299. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/config.py +0 -0
  300. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/distance.py +0 -0
  301. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/exporter.py +0 -0
  302. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/message.py +0 -0
  303. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/meta_conventions.py +0 -0
  304. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/nongrid_trace.py +0 -0
  305. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/replica_sorter.py +0 -0
  306. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/scope.py +0 -0
  307. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/core/trace.py +0 -0
  308. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/__init__.py +0 -0
  309. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/abacus/__init__.py +0 -0
  310. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/abacus/account.py +0 -0
  311. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/abacus/collection_replica.py +0 -0
  312. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/abacus/rse.py +0 -0
  313. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/atropos/__init__.py +0 -0
  314. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/auditor/hdfs.py +0 -0
  315. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/automatix/__init__.py +0 -0
  316. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/badreplicas/__init__.py +0 -0
  317. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/badreplicas/minos_temporary_expiration.py +0 -0
  318. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/badreplicas/necromancer.py +0 -0
  319. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/bb8/__init__.py +0 -0
  320. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/bb8/bb8.py +0 -0
  321. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/__init__.py +0 -0
  322. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/algorithms/__init__.py +0 -0
  323. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/algorithms/simple.py +0 -0
  324. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/algorithms/t2_free_space.py +0 -0
  325. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop.py +0 -0
  326. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/c3po.py +0 -0
  327. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/collectors/__init__.py +0 -0
  328. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/collectors/agis.py +0 -0
  329. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/collectors/free_space.py +0 -0
  330. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/collectors/jedi_did.py +0 -0
  331. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/collectors/network_metrics.py +0 -0
  332. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/collectors/workload.py +0 -0
  333. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/utils/__init__.py +0 -0
  334. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/utils/dataset_cache.py +0 -0
  335. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/utils/expiring_dataset_cache.py +0 -0
  336. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/utils/expiring_list.py +0 -0
  337. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/utils/popularity.py +0 -0
  338. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/c3po/utils/timeseries.py +0 -0
  339. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/cache/__init__.py +0 -0
  340. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/cache/consumer.py +0 -0
  341. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/__init__.py +0 -0
  342. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/preparer.py +0 -0
  343. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/conveyor/receiver.py +0 -0
  344. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/follower/__init__.py +0 -0
  345. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/follower/follower.py +0 -0
  346. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/hermes/__init__.py +0 -0
  347. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/judge/__init__.py +0 -0
  348. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/oauthmanager/__init__.py +0 -0
  349. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/reaper/__init__.py +0 -0
  350. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/reaper/dark_reaper.py +0 -0
  351. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/replicarecoverer/__init__.py +0 -0
  352. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/rsedecommissioner/__init__.py +0 -0
  353. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/rsedecommissioner/profiles/__init__.py +0 -0
  354. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/rsedecommissioner/profiles/atlas.py +0 -0
  355. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/rsedecommissioner/profiles/types.py +0 -0
  356. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/storage/__init__.py +0 -0
  357. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/storage/consistency/__init__.py +0 -0
  358. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/tracer/__init__.py +0 -0
  359. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/tracer/kronos.py +0 -0
  360. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/transmogrifier/__init__.py +0 -0
  361. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/daemons/undertaker/__init__.py +0 -0
  362. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/__init__.py +0 -0
  363. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/constants.py +0 -0
  364. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/__init__.py +0 -0
  365. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/env.py +0 -0
  366. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py +0 -0
  367. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/0437a40dbfd1_add_eol_at_in_rules.py +0 -0
  368. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py +0 -0
  369. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/102efcf145f4_added_stuck_at_column_to_rules.py +0 -0
  370. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +0 -0
  371. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/140fef722e91_cleanup_distances_table.py +0 -0
  372. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/14ec5aeb64cf_add_request_external_host.py +0 -0
  373. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/156fb5b5a14_add_request_type_to_requests_idx.py +0 -0
  374. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py +0 -0
  375. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/16a0aca82e12_create_index_on_table_replicas_path.py +0 -0
  376. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1803333ac20f_adding_provenance_and_phys_group.py +0 -0
  377. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py +0 -0
  378. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1a80adff031a_create_index_on_rules_hist_recent.py +0 -0
  379. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py +0 -0
  380. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py +0 -0
  381. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py +0 -0
  382. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1f46c5f240ac_add_bytes_column_to_bad_replicas.py +0 -0
  383. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py +0 -0
  384. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py +0 -0
  385. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py +0 -0
  386. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/22cf51430c78_add_availability_column_to_table_rses.py +0 -0
  387. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py +0 -0
  388. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/25821a8a45a3_remove_unique_constraint_on_requests.py +0 -0
  389. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/25fc855625cf_added_unique_constraint_to_rules.py +0 -0
  390. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/269fee20dee9_add_repair_cnt_to_locks.py +0 -0
  391. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/271a46ea6244_add_ignore_availability_column_to_rules.py +0 -0
  392. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py +0 -0
  393. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/27e3a68927fb_remove_replicas_tombstone_and_replicas_.py +0 -0
  394. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py +0 -0
  395. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/295289b5a800_processed_by_and__at_in_requests.py +0 -0
  396. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2962ece31cf4_add_nbaccesses_column_in_the_did_table.py +0 -0
  397. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py +0 -0
  398. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2b69addda658_add_columns_for_third_party_copy_read_.py +0 -0
  399. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2b8e7bcb4783_add_config_table.py +0 -0
  400. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2ba5229cb54c_add_submitted_at_to_requests_table.py +0 -0
  401. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2cbee484dcf9_added_column_volume_to_rse_transfer_.py +0 -0
  402. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py +0 -0
  403. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2eef46be23d4_change_tokens_pk.py +0 -0
  404. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/2f648fc909f3_index_in_rule_history_on_scope_name.py +0 -0
  405. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py +0 -0
  406. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/30fa38b6434e_add_index_on_service_column_in_the_message_table.py +0 -0
  407. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py +0 -0
  408. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py +0 -0
  409. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/3345511706b8_replicas_table_pk_definition_is_in_.py +0 -0
  410. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/35ef10d1e11b_change_index_on_table_requests.py +0 -0
  411. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py +0 -0
  412. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py +0 -0
  413. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/3ac1660a1a72_extend_distance_table.py +0 -0
  414. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py +0 -0
  415. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py +0 -0
  416. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py +0 -0
  417. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/40ad39ce3160_add_transferred_at_to_requests_table.py +0 -0
  418. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py +0 -0
  419. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/42db2617c364_create_index_on_requests_external_id.py +0 -0
  420. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/436827b13f82_added_column_activity_to_table_requests.py +0 -0
  421. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/44278720f774_update_requests_typ_sta_upd_idx_index.py +0 -0
  422. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py +0 -0
  423. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/469d262be19_removing_created_at_index.py +0 -0
  424. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py +0 -0
  425. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/49a21b4d4357_create_index_on_table_tokens.py +0 -0
  426. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/4a2cbedda8b9_add_source_replica_expression_column_to_.py +0 -0
  427. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/4a7182d9578b_added_bytes_length_accessed_at_columns.py +0 -0
  428. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/4bab9edd01fc_create_index_on_requests_rule_id.py +0 -0
  429. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/4c3a4acfe006_new_attr_account_table.py +0 -0
  430. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/4cf0a2e127d4_adding_transient_metadata.py +0 -0
  431. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py +0 -0
  432. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/50280c53117c_add_qos_class_to_rse.py +0 -0
  433. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/52153819589c_add_rse_id_to_replicas_table.py +0 -0
  434. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/52fd9f4916fa_added_activity_to_rules.py +0 -0
  435. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/53b479c3cb0f_fix_did_meta_table_missing_updated_at_.py +0 -0
  436. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/5673b4b6e843_add_wfms_metadata_to_rule_tables.py +0 -0
  437. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py +0 -0
  438. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/58bff7008037_add_started_at_to_requests.py +0 -0
  439. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py +0 -0
  440. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py +0 -0
  441. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py +0 -0
  442. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/6e572a9bfbf3_add_new_split_container_column_to_rules.py +0 -0
  443. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/70587619328_add_comment_column_for_subscriptions.py +0 -0
  444. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/739064d31565_remove_history_table_pks.py +0 -0
  445. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py +0 -0
  446. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py +0 -0
  447. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/810a41685bc1_added_columns_rse_transfer_limits.py +0 -0
  448. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/83f991c63a93_correct_rse_expression_length.py +0 -0
  449. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/8523998e2e76_increase_size_of_extended_attributes_.py +0 -0
  450. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/8ea9122275b1_adding_missing_function_based_indices.py +0 -0
  451. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/90f47792bb76_add_clob_payload_to_messages.py +0 -0
  452. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py +0 -0
  453. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/94a5961ddbf2_add_estimator_columns.py +0 -0
  454. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py +0 -0
  455. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py +0 -0
  456. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/9eb936a81eb1_true_is_true.py +0 -0
  457. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py +0 -0
  458. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/a118956323f8_added_vo_table_and_vo_col_to_rse.py +0 -0
  459. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/a193a275255c_add_status_column_in_messages.py +0 -0
  460. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/a5f6f6e928a7_1_7_0.py +0 -0
  461. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py +0 -0
  462. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/a6eb23955c28_state_idx_non_functional.py +0 -0
  463. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/a74275a1ad30_added_global_quota_table.py +0 -0
  464. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/a93e4e47bda_heartbeats.py +0 -0
  465. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py +0 -0
  466. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/b4293a99f344_added_column_identity_to_table_tokens.py +0 -0
  467. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py +0 -0
  468. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/b818052fa670_add_index_to_quarantined_replicas.py +0 -0
  469. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/b8caac94d7f0_add_comments_column_for_subscriptions_.py +0 -0
  470. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py +0 -0
  471. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py +0 -0
  472. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/bc68e9946deb_add_staging_timestamps_to_request.py +0 -0
  473. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py +0 -0
  474. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py +0 -0
  475. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/c129ccdb2d5_add_lumiblocknr_to_dids.py +0 -0
  476. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py +0 -0
  477. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py +0 -0
  478. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py +0 -0
  479. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py +0 -0
  480. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/d6dceb1de2d_added_purge_column_to_rules.py +0 -0
  481. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/d6e2c3b2cf26_remove_third_party_copy_column_from_rse.py +0 -0
  482. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py +0 -0
  483. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/e138c364ebd0_extending_columns_for_filter_and_.py +0 -0
  484. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py +0 -0
  485. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/f1b14a8c2ac1_postgres_use_check_constraints.py +0 -0
  486. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py +0 -0
  487. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/f85a2962b021_adding_transfertool_column_to_requests_.py +0 -0
  488. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/fa7a7d78b602_increase_refresh_token_size.py +0 -0
  489. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/fb28a95fe288_add_replicas_rse_id_tombstone_idx.py +0 -0
  490. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/fe1a65b176c9_set_third_party_copy_read_and_write_.py +0 -0
  491. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/migrate_repo/versions/fe8ea2fa9788_added_third_party_copy_column_to_rse_.py +0 -0
  492. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/sautils.py +0 -0
  493. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/db/sqla/types.py +0 -0
  494. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/__init__.py +0 -0
  495. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/protocols/__init__.py +0 -0
  496. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/rse/rsemanager.py +0 -0
  497. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/tests/__init__.py +0 -0
  498. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/__init__.py +0 -0
  499. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/globus_library.py +0 -0
  500. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/transfertool/mock.py +0 -0
  501. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/__init__.py +0 -0
  502. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/__init__.py +0 -0
  503. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/__init__.py +0 -0
  504. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/authenticated_bp.py +0 -0
  505. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/__init__.py +0 -0
  506. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/archives.py +0 -0
  507. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/config.py +0 -0
  508. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/dirac.py +0 -0
  509. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/export.py +0 -0
  510. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/heartbeats.py +0 -0
  511. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/identities.py +0 -0
  512. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/locks.py +0 -0
  513. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/metrics.py +0 -0
  514. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/nongrid_traces.py +0 -0
  515. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/ping.py +0 -0
  516. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/redirect.py +0 -0
  517. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/scopes.py +0 -0
  518. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/templates/auth_crash.html +0 -0
  519. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/templates/auth_granted.html +0 -0
  520. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/traces.py +0 -0
  521. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/flaskapi/v1/vos.py +0 -0
  522. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/main.py +0 -0
  523. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/metrics.py +0 -0
  524. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio/web/rest/ping.py +0 -0
  525. {rucio-34.1.0 → rucio-34.3.0}/lib/rucio.egg-info/SOURCES.txt +0 -0
  526. {rucio-34.1.0 → rucio-34.3.0}/pylintrc +0 -0
  527. {rucio-34.1.0 → rucio-34.3.0}/setup.cfg +0 -0
  528. {rucio-34.1.0 → rucio-34.3.0}/setup.py +0 -0
  529. {rucio-34.1.0 → rucio-34.3.0}/setuputil.py +0 -0
  530. {rucio-34.1.0 → rucio-34.3.0}/tests/test_abacus_account.py +0 -0
  531. {rucio-34.1.0 → rucio-34.3.0}/tests/test_abacus_collection_replica.py +0 -0
  532. {rucio-34.1.0 → rucio-34.3.0}/tests/test_abacus_rse.py +0 -0
  533. {rucio-34.1.0 → rucio-34.3.0}/tests/test_account_limits.py +0 -0
  534. {rucio-34.1.0 → rucio-34.3.0}/tests/test_api_external_representation.py +0 -0
  535. {rucio-34.1.0 → rucio-34.3.0}/tests/test_archive.py +0 -0
  536. {rucio-34.1.0 → rucio-34.3.0}/tests/test_auditor.py +0 -0
  537. {rucio-34.1.0 → rucio-34.3.0}/tests/test_auditor_hdfs.py +0 -0
  538. {rucio-34.1.0 → rucio-34.3.0}/tests/test_auditor_srmdumps.py +0 -0
  539. {rucio-34.1.0 → rucio-34.3.0}/tests/test_automatix.py +0 -0
  540. {rucio-34.1.0 → rucio-34.3.0}/tests/test_bb8.py +0 -0
  541. {rucio-34.1.0 → rucio-34.3.0}/tests/test_belleii.py +0 -0
  542. {rucio-34.1.0 → rucio-34.3.0}/tests/test_boolean.py +0 -0
  543. {rucio-34.1.0 → rucio-34.3.0}/tests/test_common_types.py +0 -0
  544. {rucio-34.1.0 → rucio-34.3.0}/tests/test_counter.py +0 -0
  545. {rucio-34.1.0 → rucio-34.3.0}/tests/test_curl.py +0 -0
  546. {rucio-34.1.0 → rucio-34.3.0}/tests/test_daemons.py +0 -0
  547. {rucio-34.1.0 → rucio-34.3.0}/tests/test_db.py +0 -0
  548. {rucio-34.1.0 → rucio-34.3.0}/tests/test_did.py +0 -0
  549. {rucio-34.1.0 → rucio-34.3.0}/tests/test_did_meta_plugins.py +0 -0
  550. {rucio-34.1.0 → rucio-34.3.0}/tests/test_didtype.py +0 -0
  551. {rucio-34.1.0 → rucio-34.3.0}/tests/test_download.py +0 -0
  552. {rucio-34.1.0 → rucio-34.3.0}/tests/test_dumper.py +0 -0
  553. {rucio-34.1.0 → rucio-34.3.0}/tests/test_dumper_consistency.py +0 -0
  554. {rucio-34.1.0 → rucio-34.3.0}/tests/test_dumper_path_parsing.py +0 -0
  555. {rucio-34.1.0 → rucio-34.3.0}/tests/test_filter_engine.py +0 -0
  556. {rucio-34.1.0 → rucio-34.3.0}/tests/test_heartbeat.py +0 -0
  557. {rucio-34.1.0 → rucio-34.3.0}/tests/test_hermes.py +0 -0
  558. {rucio-34.1.0 → rucio-34.3.0}/tests/test_impl_upload_download.py +0 -0
  559. {rucio-34.1.0 → rucio-34.3.0}/tests/test_judge_cleaner.py +0 -0
  560. {rucio-34.1.0 → rucio-34.3.0}/tests/test_judge_evaluator.py +0 -0
  561. {rucio-34.1.0 → rucio-34.3.0}/tests/test_judge_injector.py +0 -0
  562. {rucio-34.1.0 → rucio-34.3.0}/tests/test_lifetime.py +0 -0
  563. {rucio-34.1.0 → rucio-34.3.0}/tests/test_message.py +0 -0
  564. {rucio-34.1.0 → rucio-34.3.0}/tests/test_meta_conventions.py +0 -0
  565. {rucio-34.1.0 → rucio-34.3.0}/tests/test_meta_did.py +0 -0
  566. {rucio-34.1.0 → rucio-34.3.0}/tests/test_module_import.py +0 -0
  567. {rucio-34.1.0 → rucio-34.3.0}/tests/test_monitor.py +0 -0
  568. {rucio-34.1.0 → rucio-34.3.0}/tests/test_naming_convention.py +0 -0
  569. {rucio-34.1.0 → rucio-34.3.0}/tests/test_oauthmanager.py +0 -0
  570. {rucio-34.1.0 → rucio-34.3.0}/tests/test_permission.py +0 -0
  571. {rucio-34.1.0 → rucio-34.3.0}/tests/test_pfns.py +0 -0
  572. {rucio-34.1.0 → rucio-34.3.0}/tests/test_ping.py +0 -0
  573. {rucio-34.1.0 → rucio-34.3.0}/tests/test_qos.py +0 -0
  574. {rucio-34.1.0 → rucio-34.3.0}/tests/test_quarantined_replica.py +0 -0
  575. {rucio-34.1.0 → rucio-34.3.0}/tests/test_redirect.py +0 -0
  576. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_gfal2.py +0 -0
  577. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_gfal2_impl.py +0 -0
  578. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_posix.py +0 -0
  579. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_rclone.py +0 -0
  580. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_rsync.py +0 -0
  581. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_srm.py +0 -0
  582. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_ssh.py +0 -0
  583. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_webdav.py +0 -0
  584. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_protocol_xrootd.py +0 -0
  585. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rse_selector.py +0 -0
  586. {rucio-34.1.0 → rucio-34.3.0}/tests/test_rucio_server.py +0 -0
  587. {rucio-34.1.0 → rucio-34.3.0}/tests/test_throttler.py +0 -0
  588. {rucio-34.1.0 → rucio-34.3.0}/tests/test_tpc.py +0 -0
  589. {rucio-34.1.0 → rucio-34.3.0}/tests/test_trace.py +0 -0
  590. {rucio-34.1.0 → rucio-34.3.0}/tests/test_transfer.py +0 -0
  591. {rucio-34.1.0 → rucio-34.3.0}/tests/test_undertaker.py +0 -0
  592. {rucio-34.1.0 → rucio-34.3.0}/tests/test_utils.py +0 -0
  593. {rucio-34.1.0 → rucio-34.3.0}/tools/bootstrap.py +0 -0
  594. {rucio-34.1.0 → rucio-34.3.0}/tools/merge_rucio_configs.py +0 -0
  595. {rucio-34.1.0 → rucio-34.3.0}/tools/reset_database.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rucio
3
- Version: 34.1.0
3
+ Version: 34.3.0
4
4
  Summary: Rucio Package
5
5
  Home-page: https://rucio.cern.ch/
6
6
  Author: Rucio
@@ -166,7 +166,7 @@ def exception_handler(function):
166
166
  used_account = '%s (from rucio.cfg)' % config_get('client', 'account')
167
167
  except:
168
168
  pass
169
- try: # are we overriden by the environment?
169
+ try: # are we overridden by the environment?
170
170
  used_account = '%s (from RUCIO_ACCOUNT)' % os.environ['RUCIO_ACCOUNT']
171
171
  except:
172
172
  pass
@@ -1151,7 +1151,7 @@ def set_metadata(args):
1151
1151
  client = get_client(args)
1152
1152
  value = args.value
1153
1153
  if args.key == 'lifetime':
1154
- value = float(args.value)
1154
+ value = None if args.value.lower() == 'none' else float(args.value)
1155
1155
  scope, name = get_scope(args.did, client)
1156
1156
  client.set_metadata(scope=scope, name=name, key=args.key, value=value)
1157
1157
  return SUCCESS
@@ -1550,7 +1550,7 @@ def list_rse_attributes(args):
1550
1550
  """
1551
1551
  client = get_client(args)
1552
1552
  attributes = client.list_rse_attributes(rse=args.rse)
1553
- table = [(k + ':', str(v)) for (k, v) in sorted(attributes.items())] # columns hav mixed datatypes
1553
+ table = [(k + ':', str(v)) for (k, v) in sorted(attributes.items())] # columns have mixed datatypes
1554
1554
  print(tabulate(table, tablefmt='plain', disable_numparse=True)) # disabling number parsing
1555
1555
  return SUCCESS
1556
1556
 
@@ -33,6 +33,7 @@ from tabulate import tabulate
33
33
  from rucio import version
34
34
  from rucio.client import Client
35
35
  from rucio.common.config import config_get
36
+ from rucio.common.constants import RseAttr
36
37
  from rucio.common.exception import (
37
38
  AccessDenied,
38
39
  AccountNotFound,
@@ -385,7 +386,7 @@ def set_limits(args):
385
386
  try:
386
387
  byte_limit = int(limit_input)
387
388
  except ValueError:
388
- logger.error('The limit could not be set. Either you misspelled infinity or your input could not be converted to integer or you used a wrong pattern. Please use a format like 10GB with B,KB,MB,GB,TB,PB as units (not case sensistive)')
389
+ logger.error('The limit could not be set. Either you misspelled infinity or your input could not be converted to integer or you used a wrong pattern. Please use a format like 10GB with B,KB,MB,GB,TB,PB as units (not case sensitive)')
389
390
  return FAILURE
390
391
 
391
392
  client.set_account_limit(account=args.account, rse=args.rse, bytes_=byte_limit, locality=locality)
@@ -1244,7 +1245,7 @@ def list_pfns(args):
1244
1245
  if not rse_info['deterministic']:
1245
1246
  logger.warning('This is a non-deterministic site, so the real PFN might be different from the on suggested')
1246
1247
  rse_attr = client.list_rse_attributes(rse)
1247
- naming_convention = rse_attr.get('naming_convention', None)
1248
+ naming_convention = rse_attr.get(RseAttr.NAMING_CONVENTION, None)
1248
1249
  parents = [did for did in client.list_parent_dids(scope, name)]
1249
1250
  if len(parents) > 1:
1250
1251
  logger.warning('The file has multiple parents')
@@ -1383,7 +1384,7 @@ def get_parser():
1383
1384
  oparser.add_argument('--oidc-refresh-lifetime', dest='oidc_refresh_lifetime', default=None, help='Max lifetime in hours for this an access token will be refreshed by asynchronous Rucio daemon. '
1384
1385
  + 'If not specified, refresh will be stopped after 4 days. This option is effective only if --oidc-scope includes offline_access scope for a refresh token to be granted to Rucio.') # NOQA: W503
1385
1386
  oparser.add_argument('--oidc-issuer', dest='oidc_issuer', default=None,
1386
- help='Defines which Identity Provider is goign to be used. The issuer string must correspond '
1387
+ help='Defines which Identity Provider is going to be used. The issuer string must correspond '
1387
1388
  + 'to the keys configured in the /etc/idpsecrets.json auth server configuration file.') # NOQA: W503
1388
1389
 
1389
1390
  # Options for the x509 auth_strategy
@@ -1432,7 +1433,7 @@ def get_parser():
1432
1433
  '"""""""""""""\n'
1433
1434
  '::\n'
1434
1435
  '\n'
1435
- ' $ rucio-admin account list --type \'user\'\n'
1436
+ ' $ rucio-admin account list --type USER\n'
1436
1437
  '\n')
1437
1438
  list_account_parser.add_argument('--type', dest='account_type', action='store', help='Account Type (USER, GROUP, SERVICE)')
1438
1439
  list_account_parser.add_argument('--id', dest='identity', action='store', help='Identity (e.g. DN)')
@@ -1708,7 +1709,7 @@ def get_parser():
1708
1709
  ' $ rucio-admin identity delete --account jdoe --type X509 --id \'CN=Joe Doe,CN=707658,CN=jdoe,OU=Users,OU=Organic Units,DC=cern,DC=ch\'\n'
1709
1710
  ' Deleted identity: CN=Joe Doe,CN=707658,CN=jdoe,OU=Users,OU=Organic Units,DC=cern,DC=ch\n'
1710
1711
  '\n'
1711
- 'Note: if the identity was accidentaly deleted, use add option.\n'
1712
+ 'Note: if the identity was accidentally deleted, use add option.\n'
1712
1713
  '\n')
1713
1714
  identity_delete_parser.set_defaults(which='identity_delete')
1714
1715
  identity_delete_parser.add_argument('--account', dest='account', action='store', help='Account name', required=True)
@@ -1956,7 +1957,7 @@ def get_parser():
1956
1957
  ' $ rucio-admin rse add-protocol --hostname jdoes.test.org --scheme gsiftp --prefix \'/atlasdatadisk/rucio/\' --port 8443 JDOE_DATADISK\n'
1957
1958
  '\n'
1958
1959
  'Note: no printed stdout.\n'
1959
- 'Note: examples of optional parametres::\n'
1960
+ 'Note: examples of optional parameters::\n'
1960
1961
  '\n'
1961
1962
  ' --space-token DATADISK\n'
1962
1963
  ' --web-service-path \'/srm/managerv2?SFN=\'\n'
@@ -2110,7 +2111,7 @@ def get_parser():
2110
2111
 
2111
2112
  # The config subparser
2112
2113
  config_parser = subparsers.add_parser('config',
2113
- help='Configuration methods. The global configuration of data mangement system can by modified.',
2114
+ help='Configuration methods. The global configuration of data management system can by modified.',
2114
2115
  formatter_class=argparse.RawDescriptionHelpFormatter,
2115
2116
  epilog='''e.g. quotas, daemons, rses''')
2116
2117
  config_subparser = config_parser.add_subparsers(dest='config_subcommand', **required_arg)
@@ -2311,9 +2312,9 @@ def get_parser():
2311
2312
  declare_bad_file_replicas_parser.add_argument('--inputfile', dest='inputfile', nargs='?', action='store', help='File containing list of bad items')
2312
2313
  declare_bad_file_replicas_parser.add_argument('--allow-collection', dest='allow_collection', action='store_true', help='Allow passing a collection DID as bad item')
2313
2314
 
2314
- declare_bad_file_replicas_parser.add_argument('--lfns', dest='lfns', nargs='?', action='store', help='File cotaining list of LFNs for bad replicas. Requires --rse and --scope')
2315
- declare_bad_file_replicas_parser.add_argument('--scope', dest='scope', nargs='?', action='store', help='Common scope for bad replicas secified with LFN list, ignored wthout --lfns')
2316
- declare_bad_file_replicas_parser.add_argument('--rse', dest='rse', nargs='?', action='store', help='Common RSE for bad replicas secified with LFN list, ignored wthout --lfns')
2315
+ declare_bad_file_replicas_parser.add_argument('--lfns', dest='lfns', nargs='?', action='store', help='File containing list of LFNs for bad replicas. Requires --rse and --scope')
2316
+ declare_bad_file_replicas_parser.add_argument('--scope', dest='scope', nargs='?', action='store', help='Common scope for bad replicas specified with LFN list, ignored without --lfns')
2317
+ declare_bad_file_replicas_parser.add_argument('--rse', dest='rse', nargs='?', action='store', help='Common RSE for bad replicas specified with LFN list, ignored without --lfns')
2317
2318
 
2318
2319
  # The declare-temporary-unavailable command
2319
2320
  declare_temporary_unavailable_replicas_parser = rep_subparser.add_parser('declare-temporary-unavailable',
@@ -129,7 +129,7 @@ def main(args):
129
129
  time.sleep(RETRY_AFTER)
130
130
 
131
131
  # Avoid infinite loop if an alternative check() implementation doesn't
132
- # decrement the number of attemps and keeps pushing failed checks.
132
+ # decrement the number of attempts and keeps pushing failed checks.
133
133
  tmp_list = []
134
134
  while not retry.empty():
135
135
  tmp_list.append(retry.get())
@@ -149,7 +149,7 @@ def get_parser():
149
149
  """
150
150
  Returns the argparse parser.
151
151
  """
152
- parser = argparse.ArgumentParser(description="The auditor daemon is the one responsable for the detection of inconsistencies on storage, i.e.: dark data discovery.",
152
+ parser = argparse.ArgumentParser(description="The auditor daemon is the one responsible for the detection of inconsistencies on storage, i.e.: dark data discovery.",
153
153
  formatter_class=argparse.RawDescriptionHelpFormatter)
154
154
  parser.add_argument(
155
155
  '--nprocs',
@@ -27,7 +27,7 @@ def get_parser():
27
27
  """
28
28
  Returns the argparse parser.
29
29
  """
30
- parser = argparse.ArgumentParser(description="Automatix is a daemon used to inject random generated files to an RSE. It is used to continuosly check that an RSE is reachable and operating as spected.")
30
+ parser = argparse.ArgumentParser(description="Automatix is a daemon used to inject random generated files to an RSE. It is used to continuously check that an RSE is reachable and operating as expected.")
31
31
  parser.add_argument("--run-once", action="store_true", default=False, help='Runs one loop iteration')
32
32
  parser.add_argument("--input-file", action="store", default="/opt/rucio/etc/automatix.json", type=str, help='Automatix configuration')
33
33
  parser.add_argument("--threads-per-process", action="store", default=1, type=int, help='Total number of workers per process')
@@ -20,7 +20,7 @@
20
20
  import argparse
21
21
  import json
22
22
  import os
23
- import random
23
+ import secrets
24
24
  import ssl
25
25
  import sys
26
26
 
@@ -79,7 +79,7 @@ def cache_operation(args):
79
79
  conn.set_ssl(key_file=args.ssl_key_file, cert_file=args.ssl_cert_file, ssl_version=ssl.PROTOCOL_TLSv1)
80
80
 
81
81
  conn.connect()
82
- message = {'id': int(random.random() * 1000), 'payload': payload}
82
+ message = {'id': secrets.randbelow(1001), 'payload': payload}
83
83
  conn.send(destination=args.destination, body=json.dumps(message), id='rucio-cache-messaging', ack='auto', headers={'vo': 'atlas'})
84
84
  conn.disconnect()
85
85
 
@@ -27,7 +27,7 @@ def get_parser():
27
27
  """
28
28
  Returns the argparse parser.
29
29
  """
30
- parser = argparse.ArgumentParser(description="Conveyor is a group of daemons to manage file transfers. The conveyor-finisher is the resposible to update Rucio internal state after the transfer has finished.")
30
+ parser = argparse.ArgumentParser(description="Conveyor is a group of daemons to manage file transfers. The conveyor-finisher is the responsible to update Rucio internal state after the transfer has finished.")
31
31
  parser.add_argument("--run-once", action="store_true", default=False,
32
32
  help='One iteration only')
33
33
  parser.add_argument("--total-threads", action="store", default=1, type=int,
@@ -34,7 +34,7 @@ Upload a file and create a replication rule::
34
34
  $ rucio add-rule mock:file 1 MOCK2
35
35
  $ rucio-admin rse add-distance MOCK2 MOCK --distance 1
36
36
 
37
- The rule should replicate the file from RSE MOCK to RSE MOCK2. Therefor a distance between these RSEs is needed.
37
+ The rule should replicate the file from RSE MOCK to RSE MOCK2. Therefore a distance between these RSEs is needed.
38
38
 
39
39
  Check transfer requests for the DID::
40
40
 
@@ -56,7 +56,7 @@ Check again the transfer requests for the DID::
56
56
  session.get_session().query(models.Request).filter_by(scope='mock', name='file').first()
57
57
  # {'request_type': TRANSFER, 'state': SUBMITTED', ...}
58
58
 
59
- A tranfer request got created by executing the transfer. Depending on the transfer submission, the request state can be different. In this example the transfer got submitted successfully.
59
+ A transfer request got created by executing the transfer. Depending on the transfer submission, the request state can be different. In this example the transfer got submitted successfully.
60
60
 
61
61
  When run in multi-VO mode, by default the daemon will run on RSEs from all VOs::
62
62
 
@@ -113,11 +113,11 @@ Check the replicas for the DID mock:file::
113
113
  from rucio.db.sqla import session, models
114
114
  session.get_session().query(models.RSEFileAssociation).filter_by(name='file', scope='mock').first()
115
115
  // [{'name': 'file','lock_cnt': 1, 'state': COPYING, 'scope': 'mock', 'rse_id': 'f81f366593754c01b0c340fa5ea0ab90'},
116
- // {'scope': 'mock', 'rse_id': '1330d5daee37474c88ba888101d7b859', 'name': 'file', 'state': AVAIABLE, 'lock_cnt': 1}]
116
+ // {'scope': 'mock', 'rse_id': '1330d5daee37474c88ba888101d7b859', 'name': 'file', 'state': AVAILABLE, 'lock_cnt': 1}]
117
117
 
118
118
  The DID mock:file has now two replicas with one lock each.
119
119
  As the file replica is attached to the dataset and the rule for the dataset specifies another RSE MOCK instead of the upload RSE, it has to be replicated to this RSE.
120
- Therefor a second replica in state COPYING got created on RSE MOCK.
120
+ Therefore a second replica in state COPYING got created on RSE MOCK.
121
121
  ''', formatter_class=argparse.RawDescriptionHelpFormatter)
122
122
  parser.add_argument("--run-once", action="store_true", default=False, help='One iteration only')
123
123
  parser.add_argument("--threads", action="store", default=1, type=int, help='Concurrency control: total number of threads for this process')
@@ -30,7 +30,7 @@ def get_parser():
30
30
  parser = argparse.ArgumentParser(description="The Necromancer daemon is responsible for managing bad replicas. If a replica that got declared bad has other replicas, it will try to recover it by requesting a new transfer. If there are no replicas anymore, then the file gets marked as lost.", epilog='''
31
31
  Lost replica:
32
32
  In this example the file gets uploaded and will only have this replica as there are no replication rules. If it gets declared bad, there will be no replica to recover from.
33
- Therefor the replica gets marked as lost.
33
+ Therefore the replica gets marked as lost.
34
34
 
35
35
  Upload a file::
36
36
 
@@ -14,7 +14,7 @@
14
14
  # limitations under the License.
15
15
 
16
16
  """
17
- OAuth Manager is a daemon which is reponsible for:
17
+ OAuth Manager is a daemon which is responsible for:
18
18
  - deletion of expired access tokens (in case there is a valid refresh token, expired access tokens will be kept until refresh_token expires as well.)
19
19
  - deletion of expired OAuth session parameters
20
20
  - refreshing access tokens via their refresh tokens.
@@ -32,7 +32,7 @@ def get_parser():
32
32
  """
33
33
  parser = argparse.ArgumentParser(description='''
34
34
 
35
- OAuth Manager is a daemon which is reponsible for:
35
+ OAuth Manager is a daemon which is responsible for:
36
36
  - deletion of expired access tokens (in case there is a valid refresh token,
37
37
  expired access tokens will be kept until refresh_token expires as well.)
38
38
  - deletion of expired OAuth session parameters
@@ -67,7 +67,7 @@ $ id0=`uuidgen`
67
67
  $ id1=`uuidgen`
68
68
  $ id2=`uuidgen`
69
69
  $ id3=`uuidgen`
70
- $ echo "file available on MOCK_RECOVERY and decalred suspicious on MOCK_SUSPICIOUS (11 times)" > /tmp/file_available_suspicious'_'$id1
70
+ $ echo "file available on MOCK_RECOVERY and declared suspicious on MOCK_SUSPICIOUS (11 times)" > /tmp/file_available_suspicious'_'$id1
71
71
  $ echo "file available on MOCK_RECOVERY and declared suspicious on MOCK_SUSPICIOUS (11 times) and 1 time bad/deleted/lost on MOCK_SUSPICIOUS" > /tmp/file_available_suspicious_and_bad'_'$id2
72
72
  $ echo "file declared as unavailable on MOCK_RECOVERY and declared as suspicious 11 times on MOCK_SUSPICIOUS" > /tmp/file_notavailable_suspicious'_'$id3
73
73
 
@@ -228,7 +228,7 @@ Note that attempting the use the ``--vos`` argument when in single-VO mode will
228
228
  2020-07-28 15:21:33,349 5488 WARNING Ignoring argument vos, this is only applicable in a multi-VO setup.
229
229
  ''', formatter_class=argparse.RawDescriptionHelpFormatter) # NOQA: E501
230
230
  parser.add_argument("--nattempts", action="store", default=5, help='Minimum count of suspicious file replica appearance in bad_replicas table. Default value is 5.')
231
- parser.add_argument("--younger-than", action="store", default=5, help='Consider all file replicas logged in bad_replicas table since speicified number of younger-than days. Default value is 5.')
231
+ parser.add_argument("--younger-than", action="store", default=5, help='Consider all file replicas logged in bad_replicas table since specified number of younger-than days. Default value is 5.')
232
232
  parser.add_argument('--vos', nargs='+', type=str, help='Optional list of VOs to consider. Only used in multi-VO mode.')
233
233
  parser.add_argument("--run-once", action="store_true", default=False, help='One iteration only.')
234
234
  parser.add_argument("--limit-suspicious-files-on-rse", action="store", default=5, help='Maximum number of suspicious replicas on an RSE before that RSE is considered problematic and the suspicious replicas on that RSE are declared "TEMPORARY_UNAVAILABLE". Default value is 5.')
@@ -12,7 +12,7 @@ ldap_host = ldap-host.domain.name
12
12
  baseDN = dc=foo,dc=bar,dc=domain,dc=
13
13
  searchFilter = (objectClass=OpenLDAPperson)
14
14
 
15
- # set as DEFAULT to use annonymous bind
15
+ # set as DEFAULT to use anonymous bind
16
16
  username = DEFAULT
17
17
  # Leave blank for prompt
18
18
  password =
@@ -35,7 +35,7 @@ def get_rse_account_usage(rse, vo='def', *, session: "Session"):
35
35
  :param rse: The RSE name.
36
36
  :param vo: The VO to act on.
37
37
  :param session: The database session in use.
38
- :return: List of dictionnaries.
38
+ :return: List of dictionaries.
39
39
  """
40
40
  rse_id = get_rse_id(rse=rse, vo=vo, session=session)
41
41
 
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import TYPE_CHECKING
15
+ from typing import TYPE_CHECKING, Any, Optional
16
16
 
17
17
  from rucio.api import permission
18
18
  from rucio.common import exception
@@ -32,7 +32,7 @@ ConfigParser compatible interface.
32
32
 
33
33
 
34
34
  @read_session
35
- def sections(issuer=None, vo='def', *, session: "Session"):
35
+ def sections(issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> list[str]:
36
36
  """
37
37
  Return a list of the sections available.
38
38
 
@@ -49,7 +49,7 @@ def sections(issuer=None, vo='def', *, session: "Session"):
49
49
 
50
50
 
51
51
  @transactional_session
52
- def add_section(section, issuer=None, vo='def', *, session: "Session"):
52
+ def add_section(section: str, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> None:
53
53
  """
54
54
  Add a section to the configuration.
55
55
 
@@ -66,7 +66,7 @@ def add_section(section, issuer=None, vo='def', *, session: "Session"):
66
66
 
67
67
 
68
68
  @read_session
69
- def has_section(section, issuer=None, vo='def', *, session: "Session"):
69
+ def has_section(section: str, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> bool:
70
70
  """
71
71
  Indicates whether the named section is present in the configuration.
72
72
 
@@ -84,7 +84,7 @@ def has_section(section, issuer=None, vo='def', *, session: "Session"):
84
84
 
85
85
 
86
86
  @read_session
87
- def options(section, issuer=None, vo='def', *, session: "Session"):
87
+ def options(section: str, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> list[str]:
88
88
  """
89
89
  Returns a list of options available in the specified section.
90
90
 
@@ -102,7 +102,7 @@ def options(section, issuer=None, vo='def', *, session: "Session"):
102
102
 
103
103
 
104
104
  @read_session
105
- def has_option(section, option, issuer=None, vo='def', *, session: "Session"):
105
+ def has_option(section: str, option: str, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> bool:
106
106
  """
107
107
  Check if the given section exists and contains the given option.
108
108
 
@@ -121,7 +121,7 @@ def has_option(section, option, issuer=None, vo='def', *, session: "Session"):
121
121
 
122
122
 
123
123
  @read_session
124
- def get(section, option, issuer=None, vo='def', *, session: "Session"):
124
+ def get(section: str, option: str, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> Any:
125
125
  """
126
126
  Get an option value for the named section. Value can be auto-coerced to int, float, and bool; string otherwise.
127
127
 
@@ -143,7 +143,7 @@ def get(section, option, issuer=None, vo='def', *, session: "Session"):
143
143
 
144
144
 
145
145
  @read_session
146
- def items(section, issuer=None, vo='def', *, session: "Session"):
146
+ def items(section: str, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> list[tuple[str, Any]]:
147
147
  """
148
148
  Return a list of (option, value) pairs for each option in the given section. Values are auto-coerced as in get().
149
149
 
@@ -162,7 +162,7 @@ def items(section, issuer=None, vo='def', *, session: "Session"):
162
162
 
163
163
 
164
164
  @transactional_session
165
- def set(section, option, value, issuer=None, vo='def', *, session: "Session"):
165
+ def set(section: str, option: str, value: Any, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> None:
166
166
  """
167
167
  Set the given option to the specified value.
168
168
 
@@ -181,7 +181,7 @@ def set(section, option, value, issuer=None, vo='def', *, session: "Session"):
181
181
 
182
182
 
183
183
  @transactional_session
184
- def remove_section(section, issuer=None, vo='def', *, session: "Session"):
184
+ def remove_section(section: str, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> bool:
185
185
  """
186
186
  Remove the specified option from the specified section.
187
187
 
@@ -199,7 +199,7 @@ def remove_section(section, issuer=None, vo='def', *, session: "Session"):
199
199
 
200
200
 
201
201
  @transactional_session
202
- def remove_option(section, option, issuer=None, vo='def', *, session: "Session"):
202
+ def remove_option(section: str, option: str, issuer: Optional[str] = None, vo: str = 'def', *, session: "Session") -> bool:
203
203
  """
204
204
  Remove the specified section from the configuration.
205
205
 
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from collections.abc import Iterator
15
16
  from copy import deepcopy
16
17
  from typing import TYPE_CHECKING
17
18
 
@@ -28,7 +29,7 @@ from rucio.db.sqla.constants import DIDType
28
29
  from rucio.db.sqla.session import read_session, stream_session, transactional_session
29
30
 
30
31
  if TYPE_CHECKING:
31
- from typing import Any, Iterator, Optional
32
+ from typing import Any, Optional
32
33
 
33
34
  from sqlalchemy.orm import Session
34
35
 
@@ -243,7 +243,7 @@ def get_rse_protocols(rse, issuer, vo='def', *, session: "Session"):
243
243
  :param vo: The VO to act on.
244
244
  :param session: The database session in use.
245
245
 
246
- :returns: A dict with all supported protocols and their attibutes.
246
+ :returns: A dict with all supported protocols and their attributes.
247
247
  """
248
248
  rse_id = rse_module.get_rse_id(rse=rse, vo=vo, session=session)
249
249
  return rse_module.get_rse_protocols(rse_id, session=session)
@@ -440,7 +440,7 @@ def update_rse(rse, parameters, issuer, vo='def', *, session: "Session"):
440
440
  Update RSE properties like availability or name.
441
441
 
442
442
  :param rse: the name of the new rse.
443
- :param parameters: A dictionnary with property (name, read, write, delete as keys).
443
+ :param parameters: A dictionary with property (name, read, write, delete as keys).
444
444
  :param issuer: The issuer account.
445
445
  :param vo: The VO to act on.
446
446
  :param session: The database session in use.
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import TYPE_CHECKING
15
+ from typing import TYPE_CHECKING, Any, Optional
16
16
 
17
17
  from rucio.api.permission import has_permission
18
18
  from rucio.common import exception
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
 
29
29
 
30
30
  @transactional_session
31
- def add_vo(new_vo, issuer, description=None, email=None, vo='def', *, session: "Session"):
31
+ def add_vo(new_vo: str, issuer: str, description: Optional[str] = None, email: Optional[str] = None, vo: str = 'def', *, session: "Session") -> None:
32
32
  '''
33
33
  Add a new VO.
34
34
 
@@ -51,7 +51,7 @@ def add_vo(new_vo, issuer, description=None, email=None, vo='def', *, session: "
51
51
 
52
52
 
53
53
  @read_session
54
- def list_vos(issuer, vo='def', *, session: "Session"):
54
+ def list_vos(issuer: str, vo: str = 'def', *, session: "Session") -> list[dict[str, Any]]:
55
55
  '''
56
56
  List the VOs.
57
57
 
@@ -67,7 +67,18 @@ def list_vos(issuer, vo='def', *, session: "Session"):
67
67
 
68
68
 
69
69
  @transactional_session
70
- def recover_vo_root_identity(root_vo, identity_key, id_type, email, issuer, default=False, password=None, vo='def', *, session: "Session"):
70
+ def recover_vo_root_identity(
71
+ root_vo: str,
72
+ identity_key: str,
73
+ id_type: str,
74
+ email: str,
75
+ issuer: str,
76
+ default: bool = False,
77
+ password: Optional[str] = None,
78
+ vo: str = 'def',
79
+ *,
80
+ session: "Session"
81
+ ) -> None:
71
82
  """
72
83
  Adds a membership association between identity and the root account for given VO.
73
84
 
@@ -93,7 +104,7 @@ def recover_vo_root_identity(root_vo, identity_key, id_type, email, issuer, defa
93
104
 
94
105
 
95
106
  @transactional_session
96
- def update_vo(updated_vo, parameters, issuer, vo='def', *, session: "Session"):
107
+ def update_vo(updated_vo: str, parameters: dict[str, Any], issuer: str, vo: str = 'def', *, session: "Session") -> None:
97
108
  """
98
109
  Update VO properties (email, description).
99
110
 
@@ -112,7 +112,7 @@ class AccountClient(BaseClient):
112
112
 
113
113
  :param type: The account type
114
114
  :param identity: The identity key name. For example x509 DN, or a username.
115
- :param filters: A dictionnary key:account attribute to use for the filtering
115
+ :param filters: A dictionary key:account attribute to use for the filtering
116
116
 
117
117
  :return: a list containing account info dictionary for all rucio accounts.
118
118
  :raises AccountNotFound: if account doesn't exist.