rucio 36.0.0__tar.gz → 36.0.0.post2__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 (610) hide show
  1. {rucio-36.0.0 → rucio-36.0.0.post2}/PKG-INFO +2 -1
  2. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio +1 -1
  3. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/bin_legacy/rucio.py +3 -3
  4. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/bin_legacy/rucio_admin.py +1 -0
  5. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/command.py +3 -3
  6. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/utils.py +5 -6
  7. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/test_rucio_server.py +4 -4
  8. rucio-36.0.0.post2/lib/rucio/vcsversion.py +11 -0
  9. {rucio-36.0.0 → rucio-36.0.0.post2}/setuputil.py +1 -0
  10. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_impl_upload_download.py +0 -16
  11. rucio-36.0.0.post2/tests/test_rucio_server.py +124 -0
  12. rucio-36.0.0/lib/rucio/vcsversion.py +0 -11
  13. rucio-36.0.0/tests/test_rucio_server.py +0 -23
  14. {rucio-36.0.0 → rucio-36.0.0.post2}/AUTHORS.rst +0 -0
  15. {rucio-36.0.0 → rucio-36.0.0.post2}/ChangeLog +0 -0
  16. {rucio-36.0.0 → rucio-36.0.0.post2}/LICENSE +0 -0
  17. {rucio-36.0.0 → rucio-36.0.0.post2}/MANIFEST.in +0 -0
  18. {rucio-36.0.0 → rucio-36.0.0.post2}/README.md +0 -0
  19. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-abacus-account +0 -0
  20. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-abacus-collection-replica +0 -0
  21. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-abacus-rse +0 -0
  22. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-admin +0 -0
  23. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-atropos +0 -0
  24. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-auditor +0 -0
  25. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-automatix +0 -0
  26. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-bb8 +0 -0
  27. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-c3po +0 -0
  28. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-cache-client +0 -0
  29. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-cache-consumer +0 -0
  30. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-finisher +0 -0
  31. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-poller +0 -0
  32. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-preparer +0 -0
  33. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-receiver +0 -0
  34. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-stager +0 -0
  35. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-submitter +0 -0
  36. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-throttler +0 -0
  37. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-dark-reaper +0 -0
  38. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-dumper +0 -0
  39. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-follower +0 -0
  40. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-hermes +0 -0
  41. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-judge-cleaner +0 -0
  42. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-judge-evaluator +0 -0
  43. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-judge-injector +0 -0
  44. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-judge-repairer +0 -0
  45. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-kronos +0 -0
  46. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-minos +0 -0
  47. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-minos-temporary-expiration +0 -0
  48. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-necromancer +0 -0
  49. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-oauth-manager +0 -0
  50. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-reaper +0 -0
  51. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-replica-recoverer +0 -0
  52. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-rse-decommissioner +0 -0
  53. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-storage-consistency-actions +0 -0
  54. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-transmogrifier +0 -0
  55. {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-undertaker +0 -0
  56. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/alembic.ini.template +0 -0
  57. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/alembic_offline.ini.template +0 -0
  58. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/globus-config.yml.template +0 -0
  59. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/ldap.cfg.template +0 -0
  60. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_approval_request.tmpl +0 -0
  61. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_approved_admin.tmpl +0 -0
  62. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_approved_user.tmpl +0 -0
  63. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_denied_admin.tmpl +0 -0
  64. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_denied_user.tmpl +0 -0
  65. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_ok_notification.tmpl +0 -0
  66. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/rse-accounts.cfg.template +0 -0
  67. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/rucio.cfg.atlas.client.template +0 -0
  68. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/rucio.cfg.template +0 -0
  69. {rucio-36.0.0 → rucio-36.0.0.post2}/etc/rucio_multi_vo.cfg.template +0 -0
  70. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/__init__.py +0 -0
  71. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/alembicrevision.py +0 -0
  72. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/__init__.py +0 -0
  73. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/accountclient.py +0 -0
  74. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/accountlimitclient.py +0 -0
  75. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/baseclient.py +0 -0
  76. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/client.py +0 -0
  77. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/__init__.py +0 -0
  78. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/account.py +0 -0
  79. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/bin_legacy/__init__.py +0 -0
  80. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/command_base.py +0 -0
  81. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/config.py +0 -0
  82. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/did.py +0 -0
  83. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/download.py +0 -0
  84. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/lifetime_exception.py +0 -0
  85. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/replica.py +0 -0
  86. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/rse.py +0 -0
  87. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/rule.py +0 -0
  88. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/scope.py +0 -0
  89. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/subscription.py +0 -0
  90. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/upload.py +0 -0
  91. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/configclient.py +0 -0
  92. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/credentialclient.py +0 -0
  93. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/didclient.py +0 -0
  94. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/diracclient.py +0 -0
  95. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/downloadclient.py +0 -0
  96. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/exportclient.py +0 -0
  97. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/fileclient.py +0 -0
  98. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/importclient.py +0 -0
  99. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/lifetimeclient.py +0 -0
  100. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/lockclient.py +0 -0
  101. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/metaconventionsclient.py +0 -0
  102. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/pingclient.py +0 -0
  103. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/replicaclient.py +0 -0
  104. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/requestclient.py +0 -0
  105. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/richclient.py +0 -0
  106. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/rseclient.py +0 -0
  107. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/ruleclient.py +0 -0
  108. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/scopeclient.py +0 -0
  109. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/subscriptionclient.py +0 -0
  110. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/touchclient.py +0 -0
  111. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/uploadclient.py +0 -0
  112. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/__init__.py +0 -0
  113. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/bittorrent.py +0 -0
  114. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/cache.py +0 -0
  115. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/checksum.py +0 -0
  116. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/client.py +0 -0
  117. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/config.py +0 -0
  118. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/constants.py +0 -0
  119. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/constraints.py +0 -0
  120. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/didtype.py +0 -0
  121. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/dumper/__init__.py +0 -0
  122. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/dumper/consistency.py +0 -0
  123. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/dumper/data_models.py +0 -0
  124. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/dumper/path_parsing.py +0 -0
  125. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/exception.py +0 -0
  126. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/extra.py +0 -0
  127. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/logging.py +0 -0
  128. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/pcache.py +0 -0
  129. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/plugins.py +0 -0
  130. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/policy.py +0 -0
  131. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/schema/__init__.py +0 -0
  132. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/schema/generic.py +0 -0
  133. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
  134. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/stomp_utils.py +0 -0
  135. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/stopwatch.py +0 -0
  136. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/types.py +0 -0
  137. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/utils.py +0 -0
  138. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/__init__.py +0 -0
  139. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/account.py +0 -0
  140. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/account_counter.py +0 -0
  141. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/account_limit.py +0 -0
  142. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/authentication.py +0 -0
  143. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/config.py +0 -0
  144. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/credential.py +0 -0
  145. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did.py +0 -0
  146. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/__init__.py +0 -0
  147. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/did_column_meta.py +0 -0
  148. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/did_meta_plugin_interface.py +0 -0
  149. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/filter_engine.py +0 -0
  150. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/json_meta.py +0 -0
  151. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/mongo_meta.py +0 -0
  152. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/postgres_meta.py +0 -0
  153. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/dirac.py +0 -0
  154. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/distance.py +0 -0
  155. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/exporter.py +0 -0
  156. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/heartbeat.py +0 -0
  157. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/identity.py +0 -0
  158. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/importer.py +0 -0
  159. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/lifetime_exception.py +0 -0
  160. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/lock.py +0 -0
  161. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/message.py +0 -0
  162. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/meta_conventions.py +0 -0
  163. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/monitor.py +0 -0
  164. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/naming_convention.py +0 -0
  165. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/nongrid_trace.py +0 -0
  166. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/oidc.py +0 -0
  167. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/permission/__init__.py +0 -0
  168. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/permission/generic.py +0 -0
  169. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/permission/generic_multi_vo.py +0 -0
  170. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/quarantined_replica.py +0 -0
  171. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/replica.py +0 -0
  172. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/replica_sorter.py +0 -0
  173. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/request.py +0 -0
  174. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rse.py +0 -0
  175. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rse_counter.py +0 -0
  176. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rse_expression_parser.py +0 -0
  177. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rse_selector.py +0 -0
  178. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rule.py +0 -0
  179. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rule_grouping.py +0 -0
  180. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/scope.py +0 -0
  181. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/subscription.py +0 -0
  182. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/topology.py +0 -0
  183. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/trace.py +0 -0
  184. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/transfer.py +0 -0
  185. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/vo.py +0 -0
  186. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/volatile_replica.py +0 -0
  187. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/__init__.py +0 -0
  188. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/abacus/__init__.py +0 -0
  189. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/abacus/account.py +0 -0
  190. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/abacus/collection_replica.py +0 -0
  191. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/abacus/rse.py +0 -0
  192. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/atropos/__init__.py +0 -0
  193. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/atropos/atropos.py +0 -0
  194. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/auditor/__init__.py +0 -0
  195. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/auditor/hdfs.py +0 -0
  196. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/auditor/srmdumps.py +0 -0
  197. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/automatix/__init__.py +0 -0
  198. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/automatix/automatix.py +0 -0
  199. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/badreplicas/__init__.py +0 -0
  200. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/badreplicas/minos.py +0 -0
  201. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/badreplicas/minos_temporary_expiration.py +0 -0
  202. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/badreplicas/necromancer.py +0 -0
  203. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/__init__.py +0 -0
  204. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/bb8.py +0 -0
  205. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/common.py +0 -0
  206. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/nuclei_background_rebalance.py +0 -0
  207. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/t2_background_rebalance.py +0 -0
  208. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/__init__.py +0 -0
  209. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/__init__.py +0 -0
  210. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/simple.py +0 -0
  211. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/t2_free_space.py +0 -0
  212. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop.py +0 -0
  213. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop_with_network.py +0 -0
  214. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/c3po.py +0 -0
  215. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/__init__.py +0 -0
  216. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/agis.py +0 -0
  217. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/free_space.py +0 -0
  218. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/jedi_did.py +0 -0
  219. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/mock_did.py +0 -0
  220. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/network_metrics.py +0 -0
  221. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/workload.py +0 -0
  222. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/__init__.py +0 -0
  223. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/dataset_cache.py +0 -0
  224. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/expiring_dataset_cache.py +0 -0
  225. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/expiring_list.py +0 -0
  226. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/popularity.py +0 -0
  227. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/timeseries.py +0 -0
  228. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/cache/__init__.py +0 -0
  229. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/cache/consumer.py +0 -0
  230. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/common.py +0 -0
  231. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/__init__.py +0 -0
  232. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/common.py +0 -0
  233. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/finisher.py +0 -0
  234. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/poller.py +0 -0
  235. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/preparer.py +0 -0
  236. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/receiver.py +0 -0
  237. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/stager.py +0 -0
  238. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/submitter.py +0 -0
  239. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/throttler.py +0 -0
  240. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/follower/__init__.py +0 -0
  241. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/follower/follower.py +0 -0
  242. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/hermes/__init__.py +0 -0
  243. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/hermes/hermes.py +0 -0
  244. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/__init__.py +0 -0
  245. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/cleaner.py +0 -0
  246. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/evaluator.py +0 -0
  247. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/injector.py +0 -0
  248. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/repairer.py +0 -0
  249. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/oauthmanager/__init__.py +0 -0
  250. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/oauthmanager/oauthmanager.py +0 -0
  251. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/reaper/__init__.py +0 -0
  252. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/reaper/dark_reaper.py +0 -0
  253. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/reaper/reaper.py +0 -0
  254. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/replicarecoverer/__init__.py +0 -0
  255. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/replicarecoverer/suspicious_replica_recoverer.py +0 -0
  256. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/__init__.py +0 -0
  257. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/config.py +0 -0
  258. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/profiles/__init__.py +0 -0
  259. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/profiles/atlas.py +0 -0
  260. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/profiles/generic.py +0 -0
  261. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/profiles/types.py +0 -0
  262. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/rse_decommissioner.py +0 -0
  263. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/storage/__init__.py +0 -0
  264. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/storage/consistency/__init__.py +0 -0
  265. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/storage/consistency/actions.py +0 -0
  266. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/tracer/__init__.py +0 -0
  267. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/tracer/kronos.py +0 -0
  268. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/transmogrifier/__init__.py +0 -0
  269. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/transmogrifier/transmogrifier.py +0 -0
  270. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/undertaker/__init__.py +0 -0
  271. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/undertaker/undertaker.py +0 -0
  272. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/__init__.py +0 -0
  273. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/__init__.py +0 -0
  274. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/constants.py +0 -0
  275. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/__init__.py +0 -0
  276. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/env.py +0 -0
  277. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py +0 -0
  278. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/0437a40dbfd1_add_eol_at_in_rules.py +0 -0
  279. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py +0 -0
  280. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/102efcf145f4_added_stuck_at_column_to_rules.py +0 -0
  281. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +0 -0
  282. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/140fef722e91_cleanup_distances_table.py +0 -0
  283. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/14ec5aeb64cf_add_request_external_host.py +0 -0
  284. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/156fb5b5a14_add_request_type_to_requests_idx.py +0 -0
  285. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py +0 -0
  286. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/16a0aca82e12_create_index_on_table_replicas_path.py +0 -0
  287. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1803333ac20f_adding_provenance_and_phys_group.py +0 -0
  288. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py +0 -0
  289. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1a80adff031a_create_index_on_rules_hist_recent.py +0 -0
  290. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py +0 -0
  291. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py +0 -0
  292. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py +0 -0
  293. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1f46c5f240ac_add_bytes_column_to_bad_replicas.py +0 -0
  294. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py +0 -0
  295. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py +0 -0
  296. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py +0 -0
  297. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/22cf51430c78_add_availability_column_to_table_rses.py +0 -0
  298. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py +0 -0
  299. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/25821a8a45a3_remove_unique_constraint_on_requests.py +0 -0
  300. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/25fc855625cf_added_unique_constraint_to_rules.py +0 -0
  301. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/269fee20dee9_add_repair_cnt_to_locks.py +0 -0
  302. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/271a46ea6244_add_ignore_availability_column_to_rules.py +0 -0
  303. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py +0 -0
  304. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/27e3a68927fb_remove_replicas_tombstone_and_replicas_.py +0 -0
  305. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py +0 -0
  306. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/295289b5a800_processed_by_and__at_in_requests.py +0 -0
  307. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2962ece31cf4_add_nbaccesses_column_in_the_did_table.py +0 -0
  308. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py +0 -0
  309. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2b69addda658_add_columns_for_third_party_copy_read_.py +0 -0
  310. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2b8e7bcb4783_add_config_table.py +0 -0
  311. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2ba5229cb54c_add_submitted_at_to_requests_table.py +0 -0
  312. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2cbee484dcf9_added_column_volume_to_rse_transfer_.py +0 -0
  313. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py +0 -0
  314. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2eef46be23d4_change_tokens_pk.py +0 -0
  315. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2f648fc909f3_index_in_rule_history_on_scope_name.py +0 -0
  316. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py +0 -0
  317. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/30fa38b6434e_add_index_on_service_column_in_the_message_table.py +0 -0
  318. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py +0 -0
  319. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py +0 -0
  320. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3345511706b8_replicas_table_pk_definition_is_in_.py +0 -0
  321. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/35ef10d1e11b_change_index_on_table_requests.py +0 -0
  322. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py +0 -0
  323. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py +0 -0
  324. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3ac1660a1a72_extend_distance_table.py +0 -0
  325. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py +0 -0
  326. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py +0 -0
  327. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py +0 -0
  328. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/40ad39ce3160_add_transferred_at_to_requests_table.py +0 -0
  329. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py +0 -0
  330. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/42db2617c364_create_index_on_requests_external_id.py +0 -0
  331. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/436827b13f82_added_column_activity_to_table_requests.py +0 -0
  332. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/44278720f774_update_requests_typ_sta_upd_idx_index.py +0 -0
  333. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py +0 -0
  334. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/469d262be19_removing_created_at_index.py +0 -0
  335. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py +0 -0
  336. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/49a21b4d4357_create_index_on_table_tokens.py +0 -0
  337. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4a2cbedda8b9_add_source_replica_expression_column_to_.py +0 -0
  338. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4a7182d9578b_added_bytes_length_accessed_at_columns.py +0 -0
  339. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4bab9edd01fc_create_index_on_requests_rule_id.py +0 -0
  340. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4c3a4acfe006_new_attr_account_table.py +0 -0
  341. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4cf0a2e127d4_adding_transient_metadata.py +0 -0
  342. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py +0 -0
  343. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/50280c53117c_add_qos_class_to_rse.py +0 -0
  344. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/52153819589c_add_rse_id_to_replicas_table.py +0 -0
  345. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/52fd9f4916fa_added_activity_to_rules.py +0 -0
  346. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/53b479c3cb0f_fix_did_meta_table_missing_updated_at_.py +0 -0
  347. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/5673b4b6e843_add_wfms_metadata_to_rule_tables.py +0 -0
  348. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py +0 -0
  349. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/58bff7008037_add_started_at_to_requests.py +0 -0
  350. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py +0 -0
  351. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py +0 -0
  352. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py +0 -0
  353. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/6e572a9bfbf3_add_new_split_container_column_to_rules.py +0 -0
  354. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/70587619328_add_comment_column_for_subscriptions.py +0 -0
  355. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/739064d31565_remove_history_table_pks.py +0 -0
  356. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py +0 -0
  357. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py +0 -0
  358. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/810a41685bc1_added_columns_rse_transfer_limits.py +0 -0
  359. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/83f991c63a93_correct_rse_expression_length.py +0 -0
  360. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/8523998e2e76_increase_size_of_extended_attributes_.py +0 -0
  361. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/8ea9122275b1_adding_missing_function_based_indices.py +0 -0
  362. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/90f47792bb76_add_clob_payload_to_messages.py +0 -0
  363. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py +0 -0
  364. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/94a5961ddbf2_add_estimator_columns.py +0 -0
  365. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py +0 -0
  366. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py +0 -0
  367. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/9eb936a81eb1_true_is_true.py +0 -0
  368. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py +0 -0
  369. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a118956323f8_added_vo_table_and_vo_col_to_rse.py +0 -0
  370. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a193a275255c_add_status_column_in_messages.py +0 -0
  371. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a5f6f6e928a7_1_7_0.py +0 -0
  372. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py +0 -0
  373. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a6eb23955c28_state_idx_non_functional.py +0 -0
  374. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a74275a1ad30_added_global_quota_table.py +0 -0
  375. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a93e4e47bda_heartbeats.py +0 -0
  376. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py +0 -0
  377. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b0070f3695c8_add_deletedidmeta_table.py +0 -0
  378. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b4293a99f344_added_column_identity_to_table_tokens.py +0 -0
  379. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b5493606bbf5_fix_primary_key_for_subscription_history.py +0 -0
  380. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py +0 -0
  381. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b818052fa670_add_index_to_quarantined_replicas.py +0 -0
  382. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b8caac94d7f0_add_comments_column_for_subscriptions_.py +0 -0
  383. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py +0 -0
  384. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py +0 -0
  385. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/bc68e9946deb_add_staging_timestamps_to_request.py +0 -0
  386. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py +0 -0
  387. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py +0 -0
  388. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/c129ccdb2d5_add_lumiblocknr_to_dids.py +0 -0
  389. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py +0 -0
  390. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py +0 -0
  391. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py +0 -0
  392. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py +0 -0
  393. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/d6dceb1de2d_added_purge_column_to_rules.py +0 -0
  394. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/d6e2c3b2cf26_remove_third_party_copy_column_from_rse.py +0 -0
  395. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py +0 -0
  396. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/e138c364ebd0_extending_columns_for_filter_and_.py +0 -0
  397. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py +0 -0
  398. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/f1b14a8c2ac1_postgres_use_check_constraints.py +0 -0
  399. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py +0 -0
  400. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/f85a2962b021_adding_transfertool_column_to_requests_.py +0 -0
  401. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/fa7a7d78b602_increase_refresh_token_size.py +0 -0
  402. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/fb28a95fe288_add_replicas_rse_id_tombstone_idx.py +0 -0
  403. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/fe1a65b176c9_set_third_party_copy_read_and_write_.py +0 -0
  404. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/fe8ea2fa9788_added_third_party_copy_column_to_rse_.py +0 -0
  405. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/models.py +0 -0
  406. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/sautils.py +0 -0
  407. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/session.py +0 -0
  408. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/types.py +0 -0
  409. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/util.py +0 -0
  410. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/__init__.py +0 -0
  411. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/account.py +0 -0
  412. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/account_limit.py +0 -0
  413. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/authentication.py +0 -0
  414. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/config.py +0 -0
  415. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/credential.py +0 -0
  416. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/did.py +0 -0
  417. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/dirac.py +0 -0
  418. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/exporter.py +0 -0
  419. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/heartbeat.py +0 -0
  420. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/identity.py +0 -0
  421. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/importer.py +0 -0
  422. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/lifetime_exception.py +0 -0
  423. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/lock.py +0 -0
  424. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/meta_conventions.py +0 -0
  425. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/permission.py +0 -0
  426. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/quarantined_replica.py +0 -0
  427. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/replica.py +0 -0
  428. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/request.py +0 -0
  429. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/rse.py +0 -0
  430. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/rule.py +0 -0
  431. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/scope.py +0 -0
  432. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/subscription.py +0 -0
  433. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/vo.py +0 -0
  434. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/__init__.py +0 -0
  435. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/__init__.py +0 -0
  436. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/bittorrent.py +0 -0
  437. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/cache.py +0 -0
  438. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/dummy.py +0 -0
  439. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/gfal.py +0 -0
  440. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/globus.py +0 -0
  441. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/gsiftp.py +0 -0
  442. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/http_cache.py +0 -0
  443. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/mock.py +0 -0
  444. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/ngarc.py +0 -0
  445. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/posix.py +0 -0
  446. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/protocol.py +0 -0
  447. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/rclone.py +0 -0
  448. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/rfio.py +0 -0
  449. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/srm.py +0 -0
  450. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/ssh.py +0 -0
  451. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/storm.py +0 -0
  452. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/webdav.py +0 -0
  453. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/xrootd.py +0 -0
  454. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/rsemanager.py +0 -0
  455. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/translation.py +0 -0
  456. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/tests/__init__.py +0 -0
  457. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/tests/common.py +0 -0
  458. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/tests/common_server.py +0 -0
  459. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/__init__.py +0 -0
  460. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/bittorrent.py +0 -0
  461. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/bittorrent_driver.py +0 -0
  462. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/bittorrent_driver_qbittorrent.py +0 -0
  463. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/fts3.py +0 -0
  464. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/fts3_plugins.py +0 -0
  465. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/globus.py +0 -0
  466. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/globus_library.py +0 -0
  467. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/mock.py +0 -0
  468. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/transfertool.py +0 -0
  469. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/version.py +0 -0
  470. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/__init__.py +0 -0
  471. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/__init__.py +0 -0
  472. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/__init__.py +0 -0
  473. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/authenticated_bp.py +0 -0
  474. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/__init__.py +0 -0
  475. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/accountlimits.py +0 -0
  476. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/accounts.py +0 -0
  477. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/archives.py +0 -0
  478. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/auth.py +0 -0
  479. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/common.py +0 -0
  480. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/config.py +0 -0
  481. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/credentials.py +0 -0
  482. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/dids.py +0 -0
  483. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/dirac.py +0 -0
  484. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/export.py +0 -0
  485. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/heartbeats.py +0 -0
  486. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/identities.py +0 -0
  487. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/import.py +0 -0
  488. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +0 -0
  489. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/locks.py +0 -0
  490. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/main.py +0 -0
  491. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/meta_conventions.py +0 -0
  492. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/metrics.py +0 -0
  493. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/nongrid_traces.py +0 -0
  494. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/ping.py +0 -0
  495. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/redirect.py +0 -0
  496. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/replicas.py +0 -0
  497. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/requests.py +0 -0
  498. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/rses.py +0 -0
  499. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/rules.py +0 -0
  500. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/scopes.py +0 -0
  501. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/subscriptions.py +0 -0
  502. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/templates/auth_crash.html +0 -0
  503. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/templates/auth_granted.html +0 -0
  504. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/traces.py +0 -0
  505. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/types.py +0 -0
  506. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/vos.py +0 -0
  507. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/main.py +0 -0
  508. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/metrics.py +0 -0
  509. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/ping.py +0 -0
  510. {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio.egg-info/SOURCES.txt +0 -0
  511. {rucio-36.0.0 → rucio-36.0.0.post2}/pylintrc +0 -0
  512. {rucio-36.0.0 → rucio-36.0.0.post2}/pyproject.toml +0 -0
  513. {rucio-36.0.0 → rucio-36.0.0.post2}/requirements/requirements.server.txt +0 -0
  514. {rucio-36.0.0 → rucio-36.0.0.post2}/setup.cfg +0 -0
  515. {rucio-36.0.0 → rucio-36.0.0.post2}/setup.py +0 -0
  516. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_abacus_account.py +0 -0
  517. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_abacus_collection_replica.py +0 -0
  518. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_abacus_rse.py +0 -0
  519. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_account.py +0 -0
  520. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_account_limits.py +0 -0
  521. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_archive.py +0 -0
  522. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_auditor.py +0 -0
  523. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_auditor_hdfs.py +0 -0
  524. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_auditor_srmdumps.py +0 -0
  525. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_authentication.py +0 -0
  526. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_automatix.py +0 -0
  527. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_bad_replica.py +0 -0
  528. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_bb8.py +0 -0
  529. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_belleii.py +0 -0
  530. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_bin_rucio.py +0 -0
  531. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_boolean.py +0 -0
  532. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_cli_client_structure.py +0 -0
  533. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_clients.py +0 -0
  534. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_config.py +0 -0
  535. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_conveyor.py +0 -0
  536. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_conveyor_submitter.py +0 -0
  537. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_counter.py +0 -0
  538. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_credential.py +0 -0
  539. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_curl.py +0 -0
  540. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_daemons.py +0 -0
  541. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dataset_replicas.py +0 -0
  542. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_db.py +0 -0
  543. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_did.py +0 -0
  544. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_did_meta_plugins.py +0 -0
  545. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_download.py +0 -0
  546. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dumper.py +0 -0
  547. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dumper_consistency.py +0 -0
  548. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dumper_data_model.py +0 -0
  549. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dumper_path_parsing.py +0 -0
  550. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_filter_engine.py +0 -0
  551. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_gateway_external_representation.py +0 -0
  552. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_heartbeat.py +0 -0
  553. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_hermes.py +0 -0
  554. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_identity.py +0 -0
  555. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_import_export.py +0 -0
  556. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_judge_cleaner.py +0 -0
  557. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_judge_evaluator.py +0 -0
  558. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_judge_injector.py +0 -0
  559. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_judge_repairer.py +0 -0
  560. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_lifetime.py +0 -0
  561. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_message.py +0 -0
  562. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_meta_conventions.py +0 -0
  563. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_meta_did.py +0 -0
  564. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_module_import.py +0 -0
  565. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_monitor.py +0 -0
  566. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_multi_vo.py +0 -0
  567. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_naming_convention.py +0 -0
  568. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_oauthmanager.py +0 -0
  569. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_oidc.py +0 -0
  570. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_permission.py +0 -0
  571. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_pfns.py +0 -0
  572. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_ping.py +0 -0
  573. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_policy_package.py +0 -0
  574. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_preparer.py +0 -0
  575. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_qos.py +0 -0
  576. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_quarantined_replica.py +0 -0
  577. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_reaper.py +0 -0
  578. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_redirect.py +0 -0
  579. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_replica.py +0 -0
  580. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_replica_recoverer.py +0 -0
  581. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_replica_sorting.py +0 -0
  582. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_request.py +0 -0
  583. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_root_proxy.py +0 -0
  584. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse.py +0 -0
  585. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_expression_parser.py +0 -0
  586. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_lfn2path.py +0 -0
  587. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_gfal2.py +0 -0
  588. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_gfal2_impl.py +0 -0
  589. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_posix.py +0 -0
  590. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_rclone.py +0 -0
  591. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_rsync.py +0 -0
  592. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_srm.py +0 -0
  593. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_ssh.py +0 -0
  594. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_webdav.py +0 -0
  595. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_xrootd.py +0 -0
  596. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_selector.py +0 -0
  597. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rule.py +0 -0
  598. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_scope.py +0 -0
  599. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_subscription.py +0 -0
  600. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_throttler.py +0 -0
  601. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_tpc.py +0 -0
  602. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_trace.py +0 -0
  603. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_transfer.py +0 -0
  604. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_transfer_plugins.py +0 -0
  605. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_undertaker.py +0 -0
  606. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_upload.py +0 -0
  607. {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_utils.py +0 -0
  608. {rucio-36.0.0 → rucio-36.0.0.post2}/tools/bootstrap.py +0 -0
  609. {rucio-36.0.0 → rucio-36.0.0.post2}/tools/merge_rucio_configs.py +0 -0
  610. {rucio-36.0.0 → rucio-36.0.0.post2}/tools/reset_database.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rucio
3
- Version: 36.0.0
3
+ Version: 36.0.0.post2
4
4
  Summary: Rucio Package
5
5
  Home-page: https://rucio.cern.ch/
6
6
  Author: Rucio
@@ -42,6 +42,7 @@ Requires-Dist: sqlalchemy==2.0.31
42
42
  Requires-Dist: statsd==4.0.1
43
43
  Requires-Dist: stomp-py==8.1.2
44
44
  Requires-Dist: tabulate==0.9.0
45
+ Requires-Dist: typing-extensions==4.12.2
45
46
  Requires-Dist: urllib3==1.26.19
46
47
  Provides-Extra: oracle
47
48
  Requires-Dist: cx-oracle==8.3.0; extra == "oracle"
@@ -88,7 +88,7 @@ def map_legacy_command() -> Optional[list[str]]:
88
88
 
89
89
 
90
90
  if __name__ == "__main__":
91
- commands = ("-h", "--version", "account", "config", "did", "replica", "rse", "rule", "scope", "subscription", "ping", "whoami", "test-server", "lifetime-exception", "upload", "download")
91
+ commands = ("-h", "--help", "--version", "account", "config", "did", "replica", "rse", "rule", "scope", "subscription", "ping", "whoami", "test-server", "lifetime-exception", "upload", "download")
92
92
  first_command = [arg for arg in sys.argv if arg[0] != "-" or arg in ("-h", "--help", "--version")][1]
93
93
  is_legacy = '--legacy' in sys.argv
94
94
 
@@ -2069,7 +2069,7 @@ def add_lifetime_exception(args, client, logger, console, spinner):
2069
2069
 
2070
2070
  def test_server(args, client, logger, console, spinner):
2071
2071
  """"
2072
- %(prog)s test-server [options] <field1=value1 field2=value2 ...>
2072
+ %(prog)s test-rucio-server [options] <field1=value1 field2=value2 ...>
2073
2073
  Test the client against a server.
2074
2074
  """
2075
2075
  suite = unittest.TestLoader().loadTestsFromTestCase(TestRucioServer)
@@ -2138,7 +2138,7 @@ def get_parser():
2138
2138
 
2139
2139
  # Options for the x509 auth_strategy
2140
2140
  oparser.add_argument('--certificate', dest='certificate', default=None, help='Client certificate file for x509 Authentication.')
2141
- oparser.add_argument('--client_key', dest='client_key', default=None, help='Client key for x509 Authentication.')
2141
+ oparser.add_argument('--client-key', dest='client_key', default=None, help='Client key for x509 Authentication.')
2142
2142
  oparser.add_argument('--ca-certificate', dest='ca_certificate', default=None, help='CA certificate to verify peer against (SSL).')
2143
2143
 
2144
2144
  # Ping command
@@ -2735,7 +2735,7 @@ can be found in ' + Color.BOLD + 'https://rucio.cern.ch/documentation/started/co
2735
2735
  list_datasets_rse_parser.add_argument('--long', dest='long', action='store_true', default=False, help='The long option')
2736
2736
 
2737
2737
  # The test-server command
2738
- test_server_parser = subparsers.add_parser('test-server', help='Test Server', description='Run a bunch of tests against the Rucio Servers.')
2738
+ test_server_parser = subparsers.add_parser('test-rucio-server', help='Test Server', description='Run a bunch of tests against the Rucio Servers.')
2739
2739
  test_server_parser.set_defaults(function=test_server)
2740
2740
 
2741
2741
  # The get-metadata subparser
@@ -1405,6 +1405,7 @@ def get_parser():
1405
1405
 
1406
1406
  # Options for the x509 auth_strategy
1407
1407
  oparser.add_argument('--certificate', dest='certificate', default=None, help='Client certificate file')
1408
+ oparser.add_argument('--client-key', dest='client_key', default=None, help='Client key for x509 Authentication.')
1408
1409
  oparser.add_argument('--ca-certificate', dest='ca_certificate', default=None, help='CA certificate to verify peer against (SSL)')
1409
1410
 
1410
1411
  # The import export subparser
@@ -57,10 +57,9 @@ class Commands:
57
57
  @staticmethod
58
58
  def _all_commands() -> dict[str, type[commands.CommandBase]]:
59
59
  # Look for all the CommandBase'd child classes in this folder and add their parsers and child parsers
60
- command_map = {child.__name__.lower(): child for child in commands.CommandBase.__subclasses__() if child.__name__ != "LifetimeException"}
60
+ custom_commands = ['LifetimeException', "TestServer"] # These ones have custom names
61
+ command_map = {child.__name__.lower(): child for child in commands.CommandBase.__subclasses__() if child.__name__ not in custom_commands}
61
62
  command_map["lifetime-exception"] = commands.LifetimeException
62
- command_map["ping"] = Ping
63
- command_map["whoami"] = Whoami
64
63
  command_map["test-server"] = TestServer
65
64
  return command_map
66
65
 
@@ -140,6 +139,7 @@ class Commands:
140
139
 
141
140
  # Options for the x509 auth_strategy
142
141
  auth_args.add_argument("--certificate", help="Client certificate file.")
142
+ auth_args.add_argument('--client-key', dest='client_key', default=None, help='Client key for x509 Authentication.')
143
143
  auth_args.add_argument("--ca-certificate", help="CA certificate to verify peer against (SSL).")
144
144
 
145
145
  def _run_command(self) -> Optional[int]:
@@ -22,8 +22,6 @@ from configparser import NoOptionError, NoSectionError
22
22
  from functools import wraps
23
23
  from typing import TYPE_CHECKING
24
24
 
25
- from typing_extensions import NotRequired, TypedDict
26
-
27
25
  from rucio.client.client import Client
28
26
  from rucio.common.config import config_get
29
27
  from rucio.common.exception import (
@@ -46,11 +44,12 @@ from rucio.common.utils import setup_logger
46
44
  if TYPE_CHECKING:
47
45
  from collections.abc import Callable
48
46
 
47
+ from typing_extensions import NotRequired, TypedDict
49
48
 
50
- class OperationDict(TypedDict):
51
- call: "Callable"
52
- docs: NotRequired[str]
53
- namespace: NotRequired["Callable"]
49
+ class OperationDict(TypedDict):
50
+ call: Callable
51
+ docs: NotRequired[str]
52
+ namespace: NotRequired[Callable]
54
53
 
55
54
 
56
55
  def exception_handler(function):
@@ -36,7 +36,7 @@ def get_scope_and_rses():
36
36
 
37
37
  :return: A tuple (scope, rses) for the rucio client where scope is mock/test and rses is a list or (None, [None]) if no suitable rse exists.
38
38
  """
39
- cmd = "rucio rse list --rse 'test_container_xrd=True'"
39
+ cmd = "rucio rse list --rses 'test_container_xrd=True'"
40
40
  print(cmd)
41
41
  exitcode, out, err = execute(cmd)
42
42
  print(out, err)
@@ -107,7 +107,7 @@ class TestRucioServer(unittest.TestCase):
107
107
  tmp_dsn = 'tests.rucio_client_test_server_' + uuid()
108
108
 
109
109
  # Adding files to a new dataset
110
- cmd = 'rucio -v did upload --rse {0} --scope {1} --files {2} {3} {4} {1}:{5}'.format(self.rse, self.scope, tmp_file1, tmp_file2, tmp_file3, tmp_dsn)
110
+ cmd = 'rucio upload --rse {0} --scope {1} --files {2} {3} {4} {1}:{5}'.format(self.rse, self.scope, tmp_file1, tmp_file2, tmp_file3, tmp_dsn)
111
111
  print(self.marker + cmd)
112
112
  exitcode, out, err = execute(cmd)
113
113
  print(out)
@@ -126,7 +126,7 @@ class TestRucioServer(unittest.TestCase):
126
126
  self.assertEqual(exitcode, 0)
127
127
 
128
128
  # List the replicas
129
- cmd = 'rucio replica list --did {0}:{1}'.format(self.scope, tmp_dsn)
129
+ cmd = 'rucio replica list file --did {0}:{1}'.format(self.scope, tmp_dsn)
130
130
  print(self.marker + cmd)
131
131
  exitcode, out, err = execute(cmd)
132
132
  print(out)
@@ -134,7 +134,7 @@ class TestRucioServer(unittest.TestCase):
134
134
  self.assertEqual(exitcode, 0)
135
135
 
136
136
  # Downloading dataset
137
- cmd = 'rucio did download --dir /tmp/ --did {0}:{1}'.format(self.scope, tmp_dsn)
137
+ cmd = 'rucio download --dir /tmp/ --did {0}:{1}'.format(self.scope, tmp_dsn)
138
138
  print(self.marker + cmd)
139
139
  exitcode, out, err = execute(cmd)
140
140
  print(out)
@@ -0,0 +1,11 @@
1
+
2
+ '''
3
+ This file is automatically generated; Do not edit it. :)
4
+ '''
5
+ VERSION_INFO = {
6
+ 'final': True,
7
+ 'version': '36.0.0.post2',
8
+ 'branch_nick': 'release-36',
9
+ 'revision_id': 'b07377d21b4df2a3ffd4908a32c504b453de3fa8',
10
+ 'revno': 13375
11
+ }
@@ -31,6 +31,7 @@ clients_requirements_table = {
31
31
  'jsonschema',
32
32
  'dataclasses',
33
33
  'rich',
34
+ 'typing_extensions'
34
35
  ],
35
36
  'ssh': ['paramiko'],
36
37
  'kerberos': [
@@ -22,22 +22,6 @@ from rucio.common.utils import generate_uuid as uuid
22
22
  from rucio.tests.common import skip_rse_tests_with_accounts
23
23
 
24
24
 
25
- @pytest.fixture(scope='class')
26
- def scope_and_rse(mock_scope, test_scope):
27
- """
28
- Check if xrd containers rses for xrootd are available in the testing environment.
29
- :return: A tuple (scope, rses) for the rucio client where scope is mock/test and rses is a list.
30
- """
31
- cmd = "rucio rse list --rses 'test_container_xrd=True'"
32
- print(cmd)
33
- exitcode, out, err = execute(cmd)
34
- print(out, err)
35
- rses = out.split()
36
- if len(rses) == 0:
37
- return mock_scope, 'MOCK-POSIX'
38
- return test_scope, rses[0]
39
-
40
-
41
25
  @pytest.fixture(scope='class')
42
26
  def scope(scope_and_rse):
43
27
  scope, rse = scope_and_rse
@@ -0,0 +1,124 @@
1
+ # Copyright European Organization for Nuclear Research (CERN) since 2012
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from os import remove
16
+ from os.path import basename
17
+
18
+ import pytest
19
+
20
+ from rucio.common.utils import execute
21
+ from rucio.common.utils import generate_uuid as uuid
22
+
23
+ MARKER = '$ > '
24
+
25
+
26
+ def delete_rules(did):
27
+ # get the rules for the file
28
+ print('Deleting rules')
29
+ cmd = "rucio rule list {0} | grep {0} | cut -f1 -d\\ ".format(did)
30
+ print(cmd)
31
+ exitcode, out, err = execute(cmd)
32
+ print(out, err)
33
+ rules = out.split()
34
+ # delete the rules for the file
35
+ for rule in rules:
36
+ cmd = "rucio rule remove {0}".format(rule)
37
+ print(cmd)
38
+ exitcode, out, err = execute(cmd)
39
+
40
+
41
+ @pytest.mark.noparallel(reason='uses pre-defined RSE')
42
+ class TestRucioServer:
43
+
44
+ def test_ping(self):
45
+ """CLIENT (USER): rucio ping"""
46
+ cmd = 'rucio ping'
47
+ print(MARKER + cmd)
48
+ exitcode, out, err = execute(cmd)
49
+ print(out, err)
50
+ assert exitcode == 0
51
+
52
+ def test_whoami(self):
53
+ """CLIENT (USER): rucio whoami"""
54
+ cmd = 'rucio whoami'
55
+ print(MARKER + cmd)
56
+ exitcode, out, err = execute(cmd)
57
+ print(out, err)
58
+ assert exitcode == 0
59
+
60
+ def test_upload_download(self, file_factory, scope_and_rse):
61
+ """CLIENT(USER): rucio upload files to dataset/download dataset"""
62
+
63
+ scope, rse = scope_and_rse
64
+
65
+ if rse is None:
66
+ return
67
+
68
+ tmp_file1 = file_factory.file_generator()
69
+ tmp_file2 = file_factory.file_generator()
70
+ tmp_file3 = file_factory.file_generator()
71
+ tmp_dsn = 'tests.rucio_client_test_server_' + uuid()
72
+
73
+ # Adding files to a new dataset
74
+ cmd = 'rucio upload --rse {0} --scope {1} --files {2} {3} {4} {1}:{5}'.format(rse, scope, tmp_file1, tmp_file2, tmp_file3, tmp_dsn)
75
+ print(MARKER + cmd)
76
+ exitcode, out, err = execute(cmd)
77
+ print(out)
78
+ print(err)
79
+ remove(tmp_file1)
80
+ remove(tmp_file2)
81
+ remove(tmp_file3)
82
+ assert exitcode == 0
83
+
84
+ # List the files
85
+ cmd = 'rucio did content list --did {0}:{1}'.format(scope, tmp_dsn)
86
+ print(MARKER + cmd)
87
+ exitcode, out, err = execute(cmd)
88
+ print(out)
89
+ print(err)
90
+ assert exitcode == 0
91
+
92
+ # List the replicas
93
+ cmd = 'rucio replica list file --did {0}:{1}'.format(scope, tmp_dsn)
94
+ print(MARKER + cmd)
95
+ exitcode, out, err = execute(cmd)
96
+ print(out)
97
+ print(err)
98
+ assert exitcode == 0
99
+
100
+ # Downloading dataset
101
+ cmd = 'rucio download --dir /tmp/ --did {0}:{1}'.format(scope, tmp_dsn)
102
+ print(MARKER + cmd)
103
+ exitcode, out, err = execute(cmd)
104
+ print(out)
105
+ print(err)
106
+ # The files should be there
107
+ cmd = 'ls /tmp/{0}/*'.format(tmp_dsn)
108
+ print(MARKER + cmd)
109
+ exitcode, out, err = execute(cmd)
110
+ print(err, out)
111
+ assert exitcode == 0
112
+ assert tmp_file1.name in out
113
+ assert tmp_file2.name in out
114
+ assert tmp_file3.name in out
115
+
116
+ # cleaning
117
+ remove('/tmp/{0}/'.format(tmp_dsn) + basename(tmp_file1))
118
+ remove('/tmp/{0}/'.format(tmp_dsn) + basename(tmp_file2))
119
+ remove('/tmp/{0}/'.format(tmp_dsn) + basename(tmp_file3))
120
+ added_dids = ['{0}:{1}'.format(scope, did) for did in (basename(tmp_file1), basename(tmp_file2), basename(tmp_file3), tmp_dsn)]
121
+
122
+ # Delete rules
123
+ for did in added_dids:
124
+ delete_rules(did)
@@ -1,11 +0,0 @@
1
-
2
- '''
3
- This file is automatically generated; Do not edit it. :)
4
- '''
5
- VERSION_INFO = {
6
- 'final': True,
7
- 'version': '36.0.0',
8
- 'branch_nick': 'master',
9
- 'revision_id': '90f198e846c1744695da583dd23fcdbc2a778a98',
10
- 'revno': 13350
11
- }
@@ -1,23 +0,0 @@
1
- # Copyright European Organization for Nuclear Research (CERN) since 2012
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- import pytest
16
-
17
- import rucio.common.test_rucio_server as server_test
18
-
19
-
20
- @pytest.mark.noparallel(reason='uses pre-defined RSE')
21
- class TestRucioServer(server_test.TestRucioServer):
22
- # moved to rucio.common.test_rucio_server.TestRucioServer
23
- pass
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes