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.
- {rucio-36.0.0 → rucio-36.0.0.post2}/PKG-INFO +2 -1
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio +1 -1
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/bin_legacy/rucio.py +3 -3
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/bin_legacy/rucio_admin.py +1 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/command.py +3 -3
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/utils.py +5 -6
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/test_rucio_server.py +4 -4
- rucio-36.0.0.post2/lib/rucio/vcsversion.py +11 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/setuputil.py +1 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_impl_upload_download.py +0 -16
- rucio-36.0.0.post2/tests/test_rucio_server.py +124 -0
- rucio-36.0.0/lib/rucio/vcsversion.py +0 -11
- rucio-36.0.0/tests/test_rucio_server.py +0 -23
- {rucio-36.0.0 → rucio-36.0.0.post2}/AUTHORS.rst +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/ChangeLog +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/LICENSE +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/MANIFEST.in +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/README.md +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-abacus-account +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-abacus-collection-replica +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-abacus-rse +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-admin +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-atropos +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-auditor +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-automatix +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-bb8 +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-c3po +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-cache-client +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-cache-consumer +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-finisher +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-poller +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-preparer +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-receiver +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-stager +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-submitter +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-conveyor-throttler +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-dark-reaper +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-dumper +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-follower +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-hermes +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-judge-cleaner +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-judge-evaluator +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-judge-injector +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-judge-repairer +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-kronos +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-minos +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-minos-temporary-expiration +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-necromancer +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-oauth-manager +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-reaper +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-replica-recoverer +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-rse-decommissioner +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-storage-consistency-actions +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-transmogrifier +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/bin/rucio-undertaker +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/alembic.ini.template +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/alembic_offline.ini.template +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/globus-config.yml.template +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/ldap.cfg.template +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_approval_request.tmpl +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_approved_admin.tmpl +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_approved_user.tmpl +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_denied_admin.tmpl +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_denied_user.tmpl +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/mail_templates/rule_ok_notification.tmpl +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/rse-accounts.cfg.template +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/rucio.cfg.template +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/etc/rucio_multi_vo.cfg.template +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/alembicrevision.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/accountclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/accountlimitclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/baseclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/client.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/account.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/bin_legacy/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/command_base.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/config.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/did.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/download.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/lifetime_exception.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/rse.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/rule.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/scope.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/subscription.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/commands/upload.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/configclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/credentialclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/didclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/diracclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/downloadclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/exportclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/fileclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/importclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/lifetimeclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/lockclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/metaconventionsclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/pingclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/replicaclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/requestclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/richclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/rseclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/ruleclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/scopeclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/subscriptionclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/touchclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/client/uploadclient.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/bittorrent.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/cache.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/checksum.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/client.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/config.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/constants.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/constraints.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/didtype.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/dumper/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/dumper/consistency.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/dumper/data_models.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/dumper/path_parsing.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/exception.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/extra.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/logging.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/pcache.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/plugins.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/policy.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/schema/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/schema/generic.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/stomp_utils.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/stopwatch.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/types.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/common/utils.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/account.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/account_counter.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/account_limit.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/authentication.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/config.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/credential.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/did_column_meta.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/did_meta_plugin_interface.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/filter_engine.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/json_meta.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/mongo_meta.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/did_meta_plugins/postgres_meta.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/dirac.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/distance.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/exporter.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/heartbeat.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/identity.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/importer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/lifetime_exception.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/lock.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/message.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/meta_conventions.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/monitor.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/naming_convention.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/nongrid_trace.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/oidc.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/permission/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/permission/generic.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/permission/generic_multi_vo.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/quarantined_replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/replica_sorter.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/request.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rse.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rse_counter.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rse_expression_parser.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rse_selector.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rule.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/rule_grouping.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/scope.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/subscription.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/topology.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/trace.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/transfer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/vo.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/core/volatile_replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/abacus/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/abacus/account.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/abacus/collection_replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/abacus/rse.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/atropos/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/atropos/atropos.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/auditor/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/auditor/hdfs.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/auditor/srmdumps.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/automatix/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/automatix/automatix.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/badreplicas/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/badreplicas/minos.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/badreplicas/minos_temporary_expiration.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/badreplicas/necromancer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/bb8.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/common.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/nuclei_background_rebalance.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/bb8/t2_background_rebalance.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/simple.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/t2_free_space.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop_with_network.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/c3po.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/agis.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/free_space.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/jedi_did.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/mock_did.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/network_metrics.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/collectors/workload.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/dataset_cache.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/expiring_dataset_cache.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/expiring_list.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/popularity.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/c3po/utils/timeseries.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/cache/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/cache/consumer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/common.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/common.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/finisher.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/poller.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/preparer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/receiver.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/stager.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/submitter.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/conveyor/throttler.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/follower/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/follower/follower.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/hermes/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/hermes/hermes.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/cleaner.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/evaluator.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/injector.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/judge/repairer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/oauthmanager/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/oauthmanager/oauthmanager.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/reaper/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/reaper/dark_reaper.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/reaper/reaper.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/replicarecoverer/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/replicarecoverer/suspicious_replica_recoverer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/config.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/profiles/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/profiles/atlas.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/profiles/generic.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/profiles/types.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/rsedecommissioner/rse_decommissioner.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/storage/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/storage/consistency/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/storage/consistency/actions.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/tracer/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/tracer/kronos.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/transmogrifier/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/transmogrifier/transmogrifier.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/undertaker/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/daemons/undertaker/undertaker.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/constants.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/env.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/140fef722e91_cleanup_distances_table.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/14ec5aeb64cf_add_request_external_host.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py +0 -0
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py +0 -0
- {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
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2b8e7bcb4783_add_config_table.py +0 -0
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/2eef46be23d4_change_tokens_pk.py +0 -0
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3ac1660a1a72_extend_distance_table.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/469d262be19_removing_created_at_index.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py +0 -0
- {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
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4c3a4acfe006_new_attr_account_table.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4cf0a2e127d4_adding_transient_metadata.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/52fd9f4916fa_added_activity_to_rules.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/739064d31565_remove_history_table_pks.py +0 -0
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/83f991c63a93_correct_rse_expression_length.py +0 -0
- {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
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/94a5961ddbf2_add_estimator_columns.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/9eb936a81eb1_true_is_true.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a5f6f6e928a7_1_7_0.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a6eb23955c28_state_idx_non_functional.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a74275a1ad30_added_global_quota_table.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/a93e4e47bda_heartbeats.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b0070f3695c8_add_deletedidmeta_table.py +0 -0
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py +0 -0
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py +0 -0
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/c129ccdb2d5_add_lumiblocknr_to_dids.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/f1b14a8c2ac1_postgres_use_check_constraints.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py +0 -0
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/migrate_repo/versions/fa7a7d78b602_increase_refresh_token_size.py +0 -0
- {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
- {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
- {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
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/models.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/sautils.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/session.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/types.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/db/sqla/util.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/account.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/account_limit.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/authentication.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/config.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/credential.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/did.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/dirac.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/exporter.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/heartbeat.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/identity.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/importer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/lifetime_exception.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/lock.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/meta_conventions.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/permission.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/quarantined_replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/request.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/rse.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/rule.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/scope.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/subscription.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/gateway/vo.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/bittorrent.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/cache.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/dummy.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/gfal.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/globus.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/gsiftp.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/http_cache.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/mock.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/ngarc.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/posix.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/protocol.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/rclone.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/rfio.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/srm.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/ssh.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/storm.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/webdav.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/protocols/xrootd.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/rsemanager.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/rse/translation.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/tests/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/tests/common.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/tests/common_server.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/bittorrent.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/bittorrent_driver.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/bittorrent_driver_qbittorrent.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/fts3.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/fts3_plugins.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/globus.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/globus_library.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/mock.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/transfertool/transfertool.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/version.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/authenticated_bp.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/__init__.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/accountlimits.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/accounts.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/archives.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/auth.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/common.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/config.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/credentials.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/dids.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/dirac.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/export.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/heartbeats.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/identities.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/import.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/locks.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/main.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/meta_conventions.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/metrics.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/nongrid_traces.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/ping.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/redirect.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/replicas.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/requests.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/rses.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/rules.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/scopes.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/subscriptions.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/templates/auth_crash.html +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/templates/auth_granted.html +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/traces.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/types.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/flaskapi/v1/vos.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/main.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/metrics.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio/web/rest/ping.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/lib/rucio.egg-info/SOURCES.txt +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/pylintrc +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/pyproject.toml +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/requirements/requirements.server.txt +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/setup.cfg +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/setup.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_abacus_account.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_abacus_collection_replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_abacus_rse.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_account.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_account_limits.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_archive.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_auditor.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_auditor_hdfs.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_auditor_srmdumps.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_authentication.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_automatix.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_bad_replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_bb8.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_belleii.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_bin_rucio.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_boolean.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_cli_client_structure.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_clients.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_config.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_conveyor.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_conveyor_submitter.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_counter.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_credential.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_curl.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_daemons.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dataset_replicas.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_db.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_did.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_did_meta_plugins.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_download.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dumper.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dumper_consistency.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dumper_data_model.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_dumper_path_parsing.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_filter_engine.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_gateway_external_representation.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_heartbeat.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_hermes.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_identity.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_import_export.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_judge_cleaner.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_judge_evaluator.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_judge_injector.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_judge_repairer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_lifetime.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_message.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_meta_conventions.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_meta_did.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_module_import.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_monitor.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_multi_vo.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_naming_convention.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_oauthmanager.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_oidc.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_permission.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_pfns.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_ping.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_policy_package.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_preparer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_qos.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_quarantined_replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_reaper.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_redirect.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_replica.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_replica_recoverer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_replica_sorting.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_request.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_root_proxy.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_expression_parser.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_lfn2path.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_gfal2.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_gfal2_impl.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_posix.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_rclone.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_rsync.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_srm.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_ssh.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_webdav.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_protocol_xrootd.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rse_selector.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_rule.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_scope.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_subscription.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_throttler.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_tpc.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_trace.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_transfer.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_transfer_plugins.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_undertaker.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_upload.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tests/test_utils.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tools/bootstrap.py +0 -0
- {rucio-36.0.0 → rucio-36.0.0.post2}/tools/merge_rucio_configs.py +0 -0
- {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('--
|
|
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
|
-
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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 --
|
|
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
|
|
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
|
|
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)
|
|
@@ -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,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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|