rucio 36.3.0__tar.gz → 36.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rucio might be problematic. Click here for more details.
- {rucio-36.3.0 → rucio-36.5.0}/AUTHORS.rst +2 -0
- {rucio-36.3.0 → rucio-36.5.0}/PKG-INFO +1 -1
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio +15 -11
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/account.py +1 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/bin_legacy/rucio.py +7 -2
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/bin_legacy/rucio_admin.py +8 -2
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/rse.py +3 -1
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/rule.py +1 -1
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/richclient.py +6 -13
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/config.py +2 -2
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/rse.py +233 -72
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/gfal.py +7 -6
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/webdav.py +60 -20
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/vcsversion.py +3 -3
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_bin_rucio.py +37 -1
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_cli_client_structure.py +30 -0
- {rucio-36.3.0 → rucio-36.5.0}/ChangeLog +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/LICENSE +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/MANIFEST.in +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/README.md +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-abacus-account +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-abacus-collection-replica +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-abacus-rse +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-admin +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-atropos +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-auditor +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-automatix +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-bb8 +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-c3po +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-cache-client +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-cache-consumer +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-conveyor-finisher +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-conveyor-poller +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-conveyor-preparer +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-conveyor-receiver +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-conveyor-stager +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-conveyor-submitter +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-conveyor-throttler +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-dark-reaper +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-dumper +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-follower +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-hermes +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-judge-cleaner +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-judge-evaluator +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-judge-injector +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-judge-repairer +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-kronos +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-minos +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-minos-temporary-expiration +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-necromancer +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-oauth-manager +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-reaper +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-replica-recoverer +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-rse-decommissioner +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-storage-consistency-actions +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-transmogrifier +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/bin/rucio-undertaker +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/alembic.ini.template +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/alembic_offline.ini.template +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/globus-config.yml.template +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/ldap.cfg.template +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/mail_templates/rule_approval_request.tmpl +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/mail_templates/rule_approved_admin.tmpl +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/mail_templates/rule_approved_user.tmpl +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/mail_templates/rule_denied_admin.tmpl +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/mail_templates/rule_denied_user.tmpl +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/mail_templates/rule_ok_notification.tmpl +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/rse-accounts.cfg.template +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/rucio.cfg.template +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/etc/rucio_multi_vo.cfg.template +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/alembicrevision.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/accountclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/accountlimitclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/baseclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/client.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/bin_legacy/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/command.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/command_base.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/config.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/did.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/download.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/lifetime_exception.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/scope.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/subscription.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/upload.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/commands/utils.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/configclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/credentialclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/didclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/diracclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/downloadclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/exportclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/fileclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/importclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/lifetimeclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/lockclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/metaconventionsclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/pingclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/replicaclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/requestclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/rseclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/ruleclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/scopeclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/subscriptionclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/touchclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/client/uploadclient.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/bittorrent.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/cache.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/checksum.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/client.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/constants.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/constraints.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/didtype.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/dumper/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/dumper/consistency.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/dumper/data_models.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/dumper/path_parsing.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/exception.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/extra.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/logging.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/pcache.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/plugins.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/policy.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/schema/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/schema/generic.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/stomp_utils.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/stopwatch.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/test_rucio_server.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/types.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/common/utils.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/account.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/account_counter.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/account_limit.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/authentication.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/config.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/credential.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/did.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/did_meta_plugins/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/did_meta_plugins/did_column_meta.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/did_meta_plugins/did_meta_plugin_interface.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/did_meta_plugins/filter_engine.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/did_meta_plugins/json_meta.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/did_meta_plugins/mongo_meta.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/did_meta_plugins/postgres_meta.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/dirac.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/distance.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/exporter.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/heartbeat.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/identity.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/importer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/lifetime_exception.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/lock.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/message.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/meta_conventions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/monitor.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/naming_convention.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/nongrid_trace.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/oidc.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/permission/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/permission/generic.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/permission/generic_multi_vo.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/quarantined_replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/replica_sorter.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/request.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/rse_counter.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/rse_expression_parser.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/rse_selector.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/rule.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/rule_grouping.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/scope.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/subscription.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/topology.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/trace.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/transfer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/vo.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/core/volatile_replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/abacus/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/abacus/account.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/abacus/collection_replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/abacus/rse.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/atropos/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/atropos/atropos.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/auditor/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/auditor/hdfs.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/auditor/srmdumps.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/automatix/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/automatix/automatix.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/badreplicas/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/badreplicas/minos.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/badreplicas/minos_temporary_expiration.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/badreplicas/necromancer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/bb8/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/bb8/bb8.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/bb8/common.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/bb8/nuclei_background_rebalance.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/bb8/t2_background_rebalance.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/algorithms/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/algorithms/simple.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/algorithms/t2_free_space.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop_with_network.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/c3po.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/collectors/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/collectors/agis.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/collectors/free_space.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/collectors/jedi_did.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/collectors/mock_did.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/collectors/network_metrics.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/collectors/workload.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/utils/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/utils/dataset_cache.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/utils/expiring_dataset_cache.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/utils/expiring_list.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/utils/popularity.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/c3po/utils/timeseries.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/cache/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/cache/consumer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/common.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/common.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/finisher.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/poller.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/preparer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/receiver.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/stager.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/submitter.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/conveyor/throttler.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/follower/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/follower/follower.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/hermes/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/hermes/hermes.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/judge/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/judge/cleaner.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/judge/evaluator.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/judge/injector.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/judge/repairer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/oauthmanager/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/oauthmanager/oauthmanager.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/reaper/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/reaper/dark_reaper.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/reaper/reaper.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/replicarecoverer/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/replicarecoverer/suspicious_replica_recoverer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/rsedecommissioner/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/rsedecommissioner/config.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/rsedecommissioner/profiles/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/rsedecommissioner/profiles/atlas.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/rsedecommissioner/profiles/generic.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/rsedecommissioner/profiles/types.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/rsedecommissioner/rse_decommissioner.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/storage/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/storage/consistency/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/storage/consistency/actions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/tracer/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/tracer/kronos.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/transmogrifier/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/transmogrifier/transmogrifier.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/undertaker/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/daemons/undertaker/undertaker.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/constants.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/env.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/0437a40dbfd1_add_eol_at_in_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/102efcf145f4_added_stuck_at_column_to_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/140fef722e91_cleanup_distances_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/14ec5aeb64cf_add_request_external_host.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/156fb5b5a14_add_request_type_to_requests_idx.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/16a0aca82e12_create_index_on_table_replicas_path.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1803333ac20f_adding_provenance_and_phys_group.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1a80adff031a_create_index_on_rules_hist_recent.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1f46c5f240ac_add_bytes_column_to_bad_replicas.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/22cf51430c78_add_availability_column_to_table_rses.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/25821a8a45a3_remove_unique_constraint_on_requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/25fc855625cf_added_unique_constraint_to_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/269fee20dee9_add_repair_cnt_to_locks.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/271a46ea6244_add_ignore_availability_column_to_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/27e3a68927fb_remove_replicas_tombstone_and_replicas_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/295289b5a800_processed_by_and__at_in_requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2962ece31cf4_add_nbaccesses_column_in_the_did_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2b69addda658_add_columns_for_third_party_copy_read_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2b8e7bcb4783_add_config_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2ba5229cb54c_add_submitted_at_to_requests_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2cbee484dcf9_added_column_volume_to_rse_transfer_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2eef46be23d4_change_tokens_pk.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/2f648fc909f3_index_in_rule_history_on_scope_name.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/30fa38b6434e_add_index_on_service_column_in_the_message_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/3345511706b8_replicas_table_pk_definition_is_in_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/35ef10d1e11b_change_index_on_table_requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/3ac1660a1a72_extend_distance_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/40ad39ce3160_add_transferred_at_to_requests_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/42db2617c364_create_index_on_requests_external_id.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/436827b13f82_added_column_activity_to_table_requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/44278720f774_update_requests_typ_sta_upd_idx_index.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/469d262be19_removing_created_at_index.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/49a21b4d4357_create_index_on_table_tokens.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/4a2cbedda8b9_add_source_replica_expression_column_to_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/4a7182d9578b_added_bytes_length_accessed_at_columns.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/4bab9edd01fc_create_index_on_requests_rule_id.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/4c3a4acfe006_new_attr_account_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/4cf0a2e127d4_adding_transient_metadata.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/50280c53117c_add_qos_class_to_rse.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/52153819589c_add_rse_id_to_replicas_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/52fd9f4916fa_added_activity_to_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/53b479c3cb0f_fix_did_meta_table_missing_updated_at_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/5673b4b6e843_add_wfms_metadata_to_rule_tables.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/58bff7008037_add_started_at_to_requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/6e572a9bfbf3_add_new_split_container_column_to_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/70587619328_add_comment_column_for_subscriptions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/739064d31565_remove_history_table_pks.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/810a41685bc1_added_columns_rse_transfer_limits.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/83f991c63a93_correct_rse_expression_length.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/8523998e2e76_increase_size_of_extended_attributes_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/8ea9122275b1_adding_missing_function_based_indices.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/90f47792bb76_add_clob_payload_to_messages.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/94a5961ddbf2_add_estimator_columns.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/9eb936a81eb1_true_is_true.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/a118956323f8_added_vo_table_and_vo_col_to_rse.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/a193a275255c_add_status_column_in_messages.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/a5f6f6e928a7_1_7_0.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/a6eb23955c28_state_idx_non_functional.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/a74275a1ad30_added_global_quota_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/a93e4e47bda_heartbeats.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/b0070f3695c8_add_deletedidmeta_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/b4293a99f344_added_column_identity_to_table_tokens.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/b5493606bbf5_fix_primary_key_for_subscription_history.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/b818052fa670_add_index_to_quarantined_replicas.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/b8caac94d7f0_add_comments_column_for_subscriptions_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/bc68e9946deb_add_staging_timestamps_to_request.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/c129ccdb2d5_add_lumiblocknr_to_dids.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/d6dceb1de2d_added_purge_column_to_rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/d6e2c3b2cf26_remove_third_party_copy_column_from_rse.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/e138c364ebd0_extending_columns_for_filter_and_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/f1b14a8c2ac1_postgres_use_check_constraints.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/f85a2962b021_adding_transfertool_column_to_requests_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/fa7a7d78b602_increase_refresh_token_size.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/fb28a95fe288_add_replicas_rse_id_tombstone_idx.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/fe1a65b176c9_set_third_party_copy_read_and_write_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/migrate_repo/versions/fe8ea2fa9788_added_third_party_copy_column_to_rse_.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/models.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/sautils.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/session.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/types.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/db/sqla/util.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/account.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/account_limit.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/authentication.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/config.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/credential.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/did.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/dirac.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/exporter.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/heartbeat.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/identity.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/importer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/lifetime_exception.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/lock.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/meta_conventions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/permission.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/quarantined_replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/request.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/rse.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/rule.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/scope.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/subscription.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/gateway/vo.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/bittorrent.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/cache.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/dummy.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/globus.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/gsiftp.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/http_cache.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/mock.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/ngarc.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/posix.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/protocol.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/rclone.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/rfio.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/srm.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/ssh.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/storm.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/protocols/xrootd.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/rsemanager.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/rse/translation.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/tests/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/tests/common.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/tests/common_server.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/bittorrent.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/bittorrent_driver.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/bittorrent_driver_qbittorrent.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/fts3.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/fts3_plugins.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/globus.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/globus_library.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/mock.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/transfertool/transfertool.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/version.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/authenticated_bp.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/__init__.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/accountlimits.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/accounts.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/archives.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/auth.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/common.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/config.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/credentials.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/dids.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/dirac.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/export.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/heartbeats.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/identities.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/import.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/locks.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/main.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/meta_conventions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/metrics.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/nongrid_traces.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/ping.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/redirect.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/replicas.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/requests.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/rses.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/rules.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/scopes.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/subscriptions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/templates/auth_crash.html +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/templates/auth_granted.html +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/traces.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/types.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/flaskapi/v1/vos.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/main.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/metrics.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio/web/rest/ping.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/lib/rucio.egg-info/SOURCES.txt +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/pylintrc +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/pyproject.toml +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/requirements/requirements.server.txt +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/setup.cfg +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/setup.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/setuputil.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_abacus_account.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_abacus_collection_replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_abacus_rse.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_account.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_account_limits.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_archive.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_auditor.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_auditor_hdfs.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_auditor_srmdumps.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_authentication.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_automatix.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_bad_replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_bb8.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_belleii.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_boolean.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_clients.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_config.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_conveyor.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_conveyor_submitter.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_counter.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_credential.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_curl.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_daemons.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_dataset_replicas.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_db.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_did.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_did_meta_plugins.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_download.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_dumper.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_filter_engine.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_gateway_external_representation.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_heartbeat.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_hermes.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_identity.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_impl_upload_download.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_import_export.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_judge_cleaner.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_judge_evaluator.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_judge_injector.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_judge_repairer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_lifetime.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_message.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_meta_conventions.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_meta_did.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_module_import.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_monitor.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_multi_vo.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_naming_convention.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_oauthmanager.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_oidc.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_permission.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_pfns.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_ping.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_policy_package.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_preparer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_qos.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_quarantined_replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_reaper.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_redirect.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_replica.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_replica_recoverer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_replica_sorting.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_request.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_root_proxy.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_expression_parser.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_lfn2path.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_gfal2.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_gfal2_impl.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_posix.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_rclone.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_rsync.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_srm.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_ssh.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_webdav.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_protocol_xrootd.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rse_selector.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rucio_server.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_rule.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_scope.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_subscription.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_throttler.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_tpc.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_trace.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_transfer.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_transfer_plugins.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_undertaker.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_upload.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tests/test_utils.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tools/bootstrap.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tools/merge_rucio_configs.py +0 -0
- {rucio-36.3.0 → rucio-36.5.0}/tools/reset_database.py +0 -0
|
@@ -68,6 +68,7 @@ Individual contributors to the source code
|
|
|
68
68
|
- Elena Gazzarrini <gazzarrini.elena@gmail.com>, 2022-2023
|
|
69
69
|
- Maximilian Linhoff, <maximilian.linhoff@tu-dortmund.de>, 2024
|
|
70
70
|
- Eric Banzuzi, <eric.banzuzi@gmail.com>, 2024
|
|
71
|
+
- Paul Millar, <paul.millar@desy.de>, 2025
|
|
71
72
|
|
|
72
73
|
Organisations employing contributors
|
|
73
74
|
------------------------------------
|
|
@@ -96,3 +97,4 @@ Organisations employing contributors
|
|
|
96
97
|
- University of Chicago (USA)
|
|
97
98
|
- Purdue University (USA)
|
|
98
99
|
- TU Dortmund University (Germany)
|
|
100
|
+
- Deutsches Elektronen-Synchrotron DESY (Germany)
|
|
@@ -90,29 +90,33 @@ def map_legacy_command() -> Optional[list[str]]:
|
|
|
90
90
|
"touch": ["did", "update", "--touch"],
|
|
91
91
|
"add-lifetime-exception": ["lifetime-exception", "add"],
|
|
92
92
|
}
|
|
93
|
-
|
|
94
|
-
new_command = command_map[command]
|
|
95
|
-
except KeyError:
|
|
96
|
-
pass
|
|
93
|
+
new_command = command_map.get(command)
|
|
97
94
|
|
|
98
95
|
return new_command
|
|
99
96
|
|
|
100
97
|
|
|
101
98
|
if __name__ == "__main__":
|
|
102
|
-
commands = ("
|
|
103
|
-
logger = setup_logger(module_name=__name__)
|
|
104
|
-
first_command = _get_first_command(sys.argv[1:])
|
|
99
|
+
commands = ("account", "config", "did", "replica", "rse", "rule", "scope", "subscription", "ping", "whoami", "test-server", "lifetime-exception", "upload", "download")
|
|
105
100
|
|
|
106
|
-
|
|
101
|
+
parser = argparse.ArgumentParser(add_help=False)
|
|
102
|
+
# Check for legacy flag
|
|
103
|
+
parser.add_argument("--legacy", action="store_true")
|
|
104
|
+
# Check for commands in the new command list
|
|
105
|
+
parser.add_argument("-h", "--help", action="store_true")
|
|
106
|
+
parser.add_argument("--version", action="store_true")
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
main()
|
|
108
|
+
args, _ = parser.parse_known_args()
|
|
110
109
|
|
|
111
|
-
|
|
110
|
+
logger = setup_logger(module_name=__name__)
|
|
111
|
+
|
|
112
|
+
if args.legacy:
|
|
112
113
|
make_warning(logger)
|
|
113
114
|
sys.argv.pop(sys.argv.index('--legacy'))
|
|
114
115
|
main_legacy()
|
|
115
116
|
|
|
117
|
+
elif (any(arg in commands for arg in sys.argv)) or args.help or args.version:
|
|
118
|
+
main()
|
|
119
|
+
|
|
116
120
|
else:
|
|
117
121
|
make_warning(logger)
|
|
118
122
|
try:
|
|
@@ -59,6 +59,7 @@ class Account(CommandBase):
|
|
|
59
59
|
parser.add_argument("-a", "--account", dest="account", help="Account name")
|
|
60
60
|
parser.add_argument("--id", dest="identity", action="store", help="Identity (e.g. DN)")
|
|
61
61
|
parser.add_argument("--filters", dest="filters", action="store", help="Filter arguments in form `key=value,another_key=next_value`")
|
|
62
|
+
parser.add_argument("--csv", action='store_true', help="Output list of accounts as a csv")
|
|
62
63
|
|
|
63
64
|
def add_namespace(self, parser: "ArgumentParser") -> None:
|
|
64
65
|
parser.add_argument("--type", dest="account_type", help="Account Type", choices={"USER", "GROUP", "SERVICE"}, required=True)
|
|
@@ -1671,7 +1671,9 @@ def list_rses(args, client, logger, console, spinner):
|
|
|
1671
1671
|
spinner.start()
|
|
1672
1672
|
|
|
1673
1673
|
rses = client.list_rses(args.rses)
|
|
1674
|
-
if
|
|
1674
|
+
if args.csv:
|
|
1675
|
+
print(*(rse['rse'] for rse in rses), sep='\n')
|
|
1676
|
+
elif cli_config == 'rich':
|
|
1675
1677
|
table = generate_table([[rse['rse']] for rse in sorted(rses, key=lambda elem: elem['rse'])], headers=['RSE'], col_alignments=['left'])
|
|
1676
1678
|
spinner.stop()
|
|
1677
1679
|
print_output(table, console=console, no_pager=args.no_pager)
|
|
@@ -1985,7 +1987,8 @@ def add_lifetime_exception(args, client, logger, console, spinner):
|
|
|
1985
1987
|
logger.error('inputfile is mandatory')
|
|
1986
1988
|
return FAILURE
|
|
1987
1989
|
with open(args.inputfile) as infile:
|
|
1988
|
-
|
|
1990
|
+
# Deduplicate the content of the input file and ignore empty lines.
|
|
1991
|
+
dids = set(did for line in infile if (did := line.strip()))
|
|
1989
1992
|
|
|
1990
1993
|
dids_list = []
|
|
1991
1994
|
containers = []
|
|
@@ -2040,6 +2043,7 @@ def add_lifetime_exception(args, client, logger, console, spinner):
|
|
|
2040
2043
|
else:
|
|
2041
2044
|
logger.info('%s:%s will be declared' % (scope, name))
|
|
2042
2045
|
datasets.append({'scope': scope, 'name': name})
|
|
2046
|
+
summary[4] += 1
|
|
2043
2047
|
|
|
2044
2048
|
if not datasets:
|
|
2045
2049
|
logger.error('Nothing to submit')
|
|
@@ -2713,6 +2717,7 @@ You can filter by account::
|
|
|
2713
2717
|
list_rses_parser.set_defaults(function=list_rses)
|
|
2714
2718
|
list_rses_parser.add_argument('--rses', dest='rses', action='store', help='The RSE filter expression. A comprehensive help about RSE expressions \
|
|
2715
2719
|
can be found in ' + Color.BOLD + 'https://rucio.cern.ch/documentation/started/concepts/rse_expressions' + Color.END)
|
|
2720
|
+
list_rses_parser.add_argument("--csv", action='store_true', help='Output a list of RSEs as a csv')
|
|
2716
2721
|
|
|
2717
2722
|
# The list-suspicious-replicas command
|
|
2718
2723
|
list_suspicious_replicas_parser = subparsers.add_parser('list-suspicious-replicas', help='Show the list of all replicas marked "suspicious".')
|
|
@@ -151,7 +151,9 @@ def list_accounts(args, client, logger, console, spinner):
|
|
|
151
151
|
for key, value in [(_.split('=')[0], _.split('=')[1]) for _ in args.filters.split(',')]:
|
|
152
152
|
filters[key] = value
|
|
153
153
|
accounts = client.list_accounts(identity=args.identity, account_type=args.account_type, filters=filters)
|
|
154
|
-
if
|
|
154
|
+
if args.csv:
|
|
155
|
+
print(*(account['account'] for account in accounts), sep=',')
|
|
156
|
+
elif cli_config == 'rich':
|
|
155
157
|
table = generate_table([[account['account']] for account in accounts], headers=['ACCOUNT'], col_alignments=['left'])
|
|
156
158
|
spinner.stop()
|
|
157
159
|
print_output(table, console=console, no_pager=args.no_pager)
|
|
@@ -327,7 +329,9 @@ def list_rses(args, client, logger, console, spinner):
|
|
|
327
329
|
spinner.start()
|
|
328
330
|
|
|
329
331
|
rses = client.list_rses()
|
|
330
|
-
if
|
|
332
|
+
if args.csv:
|
|
333
|
+
print(*(rse['rse'] for rse in rses), sep='\n')
|
|
334
|
+
elif cli_config == 'rich':
|
|
331
335
|
table_data = [[rse['rse']] for rse in sorted(rses, key=lambda elem: elem['rse'])]
|
|
332
336
|
table = generate_table(table_data, headers=['RSE'], col_alignments=['left'])
|
|
333
337
|
spinner.stop()
|
|
@@ -1455,6 +1459,7 @@ def get_parser():
|
|
|
1455
1459
|
list_account_parser.add_argument('--type', dest='account_type', action='store', help='Account Type (USER, GROUP, SERVICE)')
|
|
1456
1460
|
list_account_parser.add_argument('--id', dest='identity', action='store', help='Identity (e.g. DN)')
|
|
1457
1461
|
list_account_parser.add_argument('--filters', dest='filters', action='store', help='Filter arguments in form `key=value,another_key=next_value`')
|
|
1462
|
+
list_account_parser.add_argument("--csv", action='store_true', help='List result as a csv')
|
|
1458
1463
|
list_account_parser.set_defaults(which='list_accounts')
|
|
1459
1464
|
|
|
1460
1465
|
# The list_account_attributes command
|
|
@@ -1753,6 +1758,7 @@ def get_parser():
|
|
|
1753
1758
|
'\n'
|
|
1754
1759
|
' $ rucio list-rses --rses \"tier=2&type=DATADISK\"\n'
|
|
1755
1760
|
'\n')
|
|
1761
|
+
list_rse_parser.add_argument("--csv", action='store_true', help='Output a list of RSEs as a csv')
|
|
1756
1762
|
list_rse_parser.set_defaults(which='list_rses')
|
|
1757
1763
|
|
|
1758
1764
|
# The add_rse command
|
|
@@ -83,9 +83,11 @@ class RSE(CommandBase):
|
|
|
83
83
|
|
|
84
84
|
def list_namespace(self, parser: "ArgumentParser") -> None:
|
|
85
85
|
parser.add_argument("--rses", "--rse-exp", dest="rses", help="RSE name or expression")
|
|
86
|
+
parser.add_argument("--csv", action='store_true', help="Output list of RSEs as a csv")
|
|
86
87
|
|
|
87
88
|
def show_namespace(self, parser: "ArgumentParser") -> None:
|
|
88
89
|
parser.add_argument("--rse", "--rse-name", help="RSE name", required=True)
|
|
90
|
+
parser.add_argument("--csv", action='store_true', help="Output list of RSE property key and values as a csv")
|
|
89
91
|
|
|
90
92
|
def list_(self):
|
|
91
93
|
list_rses(self.args, self.client, self.logger, self.console, self.spinner)
|
|
@@ -218,7 +220,7 @@ class Protocol(RSE):
|
|
|
218
220
|
|
|
219
221
|
def usage_example(self) -> list[str]:
|
|
220
222
|
return [
|
|
221
|
-
"$ rucio rse protocol --
|
|
223
|
+
"$ rucio rse protocol --host jdoes.test.org --scheme gsiftp --prefix '/atlasdatadisk/rucio/' --port 8443 --rse JDOE_DATADISK # Add a new protocol on jdoe.test.org that uses gsiftp",
|
|
222
224
|
"$ rucio rse protocol remove --scheme gsiftp --rse JDOE_DATADISK # Remove the existing gsiftp protocol",
|
|
223
225
|
]
|
|
224
226
|
|
|
@@ -51,7 +51,7 @@ class Rule(CommandBase):
|
|
|
51
51
|
parser.add_argument("-a", "--account", dest="rule_account", action="store", help="The account of the rule")
|
|
52
52
|
parser.add_argument("--activity", action="store", help="Activity to be used (e.g. User, Data Consolidation)") # TODO More info on this
|
|
53
53
|
parser.add_argument("--rule-id", help="The rule ID, for accessing an existing rule.")
|
|
54
|
-
parser.add_argument("--lifetime", dest="lifetime",
|
|
54
|
+
parser.add_argument("--lifetime", dest="lifetime", type=str, help="Rule lifetime (in seconds). Use 'None' for no set lifetime")
|
|
55
55
|
parser.add_argument("--locked", action="store_true", help="Set the rule to locked") # TODO More info on this
|
|
56
56
|
parser.add_argument("--source-replica-expression", help="RSE Expression for RSEs to be considered for source replicas")
|
|
57
57
|
parser.add_argument("--comment", dest="comment", action="store", help="Comment about the replication rule")
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import logging
|
|
16
16
|
import pydoc
|
|
17
17
|
import re
|
|
18
|
-
import
|
|
18
|
+
import shutil
|
|
19
19
|
import sys
|
|
20
20
|
from datetime import datetime
|
|
21
21
|
from typing import TYPE_CHECKING, Any, Optional, Union
|
|
@@ -309,16 +309,9 @@ def get_pager() -> 'Callable[[str], None]':
|
|
|
309
309
|
:returns: pager
|
|
310
310
|
"""
|
|
311
311
|
default_pager = 'less'
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
def less_pager_function(text: str) -> None:
|
|
319
|
-
"""Use the 'less' pager with -FRSXKM options."""
|
|
320
|
-
pydoc.pipepager(text, f'{default_pager} -FRSXKM')
|
|
321
|
-
|
|
322
|
-
if less_available:
|
|
323
|
-
return less_pager_function
|
|
312
|
+
# Attempt to use the default pager if available.
|
|
313
|
+
if shutil.which(default_pager) is not None:
|
|
314
|
+
return lambda text: pydoc.pipepager(text, f'{default_pager} -FRSXKM')
|
|
315
|
+
|
|
316
|
+
# Fall back to pydoc.pager if the default pager is not available.
|
|
324
317
|
return pydoc.pager
|
|
@@ -547,12 +547,12 @@ def config_get_list(
|
|
|
547
547
|
section: str,
|
|
548
548
|
option: str,
|
|
549
549
|
*,
|
|
550
|
-
default:
|
|
550
|
+
default: _T = ...,
|
|
551
551
|
check_config_table: bool = ...,
|
|
552
552
|
session: "Optional[Session]" = ...,
|
|
553
553
|
use_cache: bool = ...,
|
|
554
554
|
expiration_time: int = ...,
|
|
555
|
-
) -> list[str]:
|
|
555
|
+
) -> Union[list[str], _T]:
|
|
556
556
|
...
|
|
557
557
|
|
|
558
558
|
|