rucio-clients 33.3.0__tar.gz → 33.4.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-clients might be problematic. Click here for more details.
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/PKG-INFO +1 -1
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/subscriptionclient.py +4 -3
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/vcsversion.py +3 -3
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_conveyor.py +50 -4
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_reaper.py +20 -1
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/AUTHORS.rst +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/ChangeLog +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/LICENSE +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/MANIFEST.in +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/README.rst +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/bin/rucio +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/bin/rucio-admin +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/etc/rse-accounts.cfg.template +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/etc/rucio.cfg.template +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/__init__.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/alembicrevision.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/__init__.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/accountclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/accountlimitclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/baseclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/client.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/configclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/credentialclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/didclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/diracclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/downloadclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/exportclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/fileclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/importclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/lifetimeclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/lockclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/metaclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/pingclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/replicaclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/requestclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/rseclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/ruleclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/scopeclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/touchclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/client/uploadclient.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/__init__.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/cache.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/config.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/constants.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/constraints.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/didtype.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/exception.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/extra.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/logging.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/pcache.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/policy.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/__init__.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/atlas.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/belleii.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/cms.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/domatpc.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/escape.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/generic.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/icecube.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/schema/lsst.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/stomp_utils.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/stopwatch.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/test_rucio_server.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/types.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/common/utils.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/__init__.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/__init__.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/cache.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/dummy.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/gfal.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/globus.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/gsiftp.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/http_cache.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/mock.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/ngarc.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/posix.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/protocol.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/rclone.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/rfio.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/srm.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/ssh.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/storm.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/webdav.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/protocols/xrootd.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/rse/rsemanager.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio/version.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/lib/rucio_clients.egg-info/SOURCES.txt +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/pylintrc +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/pyproject.toml +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/requirements.txt +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/setup.cfg +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/setup.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/setuputil.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_abacus_account.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_abacus_collection_replica.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_abacus_rse.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_account.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_account_limits.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_api_external_representation.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_archive.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_auditor.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_auditor_hdfs.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_auditor_srmdumps.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_authentication.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_automatix.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_bad_replica.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_bb8.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_belleii.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_bin_rucio.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_boolean.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_clients.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_common_types.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_config.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_conveyor_submitter.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_counter.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_credential.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_curl.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_daemons.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_dataset_replicas.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_db.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_did.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_did_meta_plugins.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_didtype.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_download.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_dumper.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_dumper_consistency.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_dumper_data_model.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_dumper_path_parsing.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_filter_engine.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_heartbeat.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_hermes.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_identity.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_impl_upload_download.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_import_export.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_judge_cleaner.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_judge_evaluator.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_judge_injector.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_judge_repairer.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_lifetime.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_message.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_meta.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_meta_did.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_module_import.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_monitor.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_multi_vo.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_naming_convention.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_oauthmanager.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_oidc.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_permission.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_pfns.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_ping.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_preparer.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_qos.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_quarantined_replica.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_redirect.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_replica.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_replica_recoverer.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_replica_sorting.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_request.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_root_proxy.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_expression_parser.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_lfn2path.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_gfal2.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_gfal2_impl.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_posix.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_rclone.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_rsync.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_srm.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_ssh.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_webdav.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_protocol_xrootd.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rse_selector.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rucio_server.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_rule.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_schema_cms.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_scope.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_subscription.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_throttler.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_tpc.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_trace.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_transfer.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_undertaker.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_upload.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tests/test_utils.py +0 -0
- {rucio-clients-33.3.0 → rucio-clients-33.4.0}/tools/merge_rucio_configs.py +0 -0
|
@@ -95,9 +95,10 @@ class SubscriptionClient(BaseClient):
|
|
|
95
95
|
result = self._send_request(url, type_='GET')
|
|
96
96
|
if result.status_code == codes.ok: # pylint: disable=no-member
|
|
97
97
|
return self._load_json_data(result)
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
if result.status_code == codes.not_found:
|
|
99
|
+
return []
|
|
100
|
+
exc_cls, exc_msg = self._get_exception(headers=result.headers, status_code=result.status_code, data=result.content)
|
|
101
|
+
raise exc_cls(exc_msg)
|
|
101
102
|
|
|
102
103
|
def update_subscription(self, name, account=None, filter_=None, replication_rules=None, comments=None, lifetime=None, retroactive=None, dry_run=None, priority=None):
|
|
103
104
|
"""
|
|
@@ -4,8 +4,8 @@ This file is automatically generated; Do not edit it. :)
|
|
|
4
4
|
'''
|
|
5
5
|
VERSION_INFO = {
|
|
6
6
|
'final': True,
|
|
7
|
-
'version': '33.
|
|
7
|
+
'version': '33.4.0',
|
|
8
8
|
'branch_nick': 'release-33',
|
|
9
|
-
'revision_id': '
|
|
10
|
-
'revno':
|
|
9
|
+
'revision_id': '501f39cf4ba83caccda9a683e1f4c6008ed1b685',
|
|
10
|
+
'revno': 12708
|
|
11
11
|
}
|
|
@@ -52,7 +52,7 @@ from rucio.transfertool.fts3 import FTS3Transfertool
|
|
|
52
52
|
from tests.ruciopytest import NoParallelGroups
|
|
53
53
|
from tests.mocks.mock_http_server import MockServer
|
|
54
54
|
|
|
55
|
-
MAX_POLL_WAIT_SECONDS =
|
|
55
|
+
MAX_POLL_WAIT_SECONDS = 100
|
|
56
56
|
TEST_FTS_HOST = 'https://fts:8446'
|
|
57
57
|
|
|
58
58
|
|
|
@@ -823,7 +823,6 @@ def test_non_deterministic_dst(did_factory, did_client, root_account, vo, caches
|
|
|
823
823
|
|
|
824
824
|
|
|
825
825
|
@skip_rse_tests_with_accounts
|
|
826
|
-
@pytest.mark.dirty(reason="Submits a transfer to FTS which cannot be ever executed in this test env.")
|
|
827
826
|
@pytest.mark.noparallel(groups=[NoParallelGroups.STAGER, NoParallelGroups.POLLER, NoParallelGroups.FINISHER])
|
|
828
827
|
def test_stager(rse_factory, did_factory, root_account, replica_client):
|
|
829
828
|
"""
|
|
@@ -861,8 +860,8 @@ def test_stager(rse_factory, did_factory, root_account, replica_client):
|
|
|
861
860
|
'requested_at': datetime.utcnow()}])
|
|
862
861
|
stager(once=True, rses=[{'id': rse_id} for rse_id in all_rses])
|
|
863
862
|
|
|
864
|
-
|
|
865
|
-
assert
|
|
863
|
+
replica = __wait_for_replica_transfer(dst_rse_id=dst_rse_id, max_wait_seconds=2 * MAX_POLL_WAIT_SECONDS, **did)
|
|
864
|
+
assert replica['state'] == ReplicaState.AVAILABLE
|
|
866
865
|
|
|
867
866
|
|
|
868
867
|
@pytest.mark.noparallel(groups=[NoParallelGroups.SUBMITTER, NoParallelGroups.FINISHER])
|
|
@@ -1579,6 +1578,53 @@ def test_checksum_validation(rse_factory, did_factory, root_account):
|
|
|
1579
1578
|
assert request['state'] == RequestState.FAILED
|
|
1580
1579
|
|
|
1581
1580
|
|
|
1581
|
+
@skip_rse_tests_with_accounts
|
|
1582
|
+
@pytest.mark.noparallel(groups=[NoParallelGroups.XRD, NoParallelGroups.SUBMITTER, NoParallelGroups.RECEIVER])
|
|
1583
|
+
@pytest.mark.parametrize("file_config_mock", [
|
|
1584
|
+
{"overrides": [('oidc', 'admin_issuer', 'indigoiam')]},
|
|
1585
|
+
], indirect=True)
|
|
1586
|
+
def test_transfer_with_tokens(vo, did_factory, root_account, caches_mock, file_config_mock):
|
|
1587
|
+
src_rse = 'WEB1'
|
|
1588
|
+
src_rse_id = rse_core.get_rse_id(rse=src_rse, vo=vo)
|
|
1589
|
+
dst_rse = 'XRD5'
|
|
1590
|
+
dst_rse_id = rse_core.get_rse_id(rse=dst_rse, vo=vo)
|
|
1591
|
+
all_rses = [src_rse_id, dst_rse_id]
|
|
1592
|
+
|
|
1593
|
+
did = did_factory.upload_test_file(src_rse)
|
|
1594
|
+
|
|
1595
|
+
rule_core.add_rule(dids=[did], account=root_account, copies=1, rse_expression=dst_rse, grouping='ALL', weight=None, lifetime=None, locked=False, subscription_id=None)
|
|
1596
|
+
|
|
1597
|
+
received_messages = {}
|
|
1598
|
+
|
|
1599
|
+
class ReceiverWrapper(Receiver):
|
|
1600
|
+
"""
|
|
1601
|
+
Wrap receiver to record the last handled message for each given request_id
|
|
1602
|
+
"""
|
|
1603
|
+
def _perform_request_update(self, msg, *, session=None, logger=logging.log):
|
|
1604
|
+
ret = super()._perform_request_update(msg, session=session, logger=logger)
|
|
1605
|
+
received_messages[msg['file_metadata']['request_id']] = msg
|
|
1606
|
+
return ret
|
|
1607
|
+
|
|
1608
|
+
with patch('rucio.daemons.conveyor.receiver.Receiver', ReceiverWrapper):
|
|
1609
|
+
receiver_thread = threading.Thread(target=receiver, kwargs={'id_': 0, 'all_vos': True, 'total_threads': 1})
|
|
1610
|
+
receiver_thread.start()
|
|
1611
|
+
try:
|
|
1612
|
+
submitter(once=True, rses=[{'id': rse_id} for rse_id in all_rses], group_bulk=2, partition_wait_time=0, transfertype='single', filter_transfertool=None)
|
|
1613
|
+
# Wait for the reception of the FTS Completion message for the submitted request
|
|
1614
|
+
request = request_core.get_request_by_did(rse_id=dst_rse_id, **did)
|
|
1615
|
+
for i in range(MAX_POLL_WAIT_SECONDS):
|
|
1616
|
+
if request['id'] in received_messages:
|
|
1617
|
+
break
|
|
1618
|
+
if i == MAX_POLL_WAIT_SECONDS - 1:
|
|
1619
|
+
assert False # Waited too long; fail the test
|
|
1620
|
+
time.sleep(1)
|
|
1621
|
+
assert received_messages[request['id']]['job_metadata']['auth_method'] == 'oauth2'
|
|
1622
|
+
finally:
|
|
1623
|
+
receiver_graceful_stop.set()
|
|
1624
|
+
receiver_thread.join(timeout=5)
|
|
1625
|
+
receiver_graceful_stop.clear()
|
|
1626
|
+
|
|
1627
|
+
|
|
1582
1628
|
@pytest.mark.noparallel(groups=[NoParallelGroups.PREPARER])
|
|
1583
1629
|
@pytest.mark.parametrize("file_config_mock", [{
|
|
1584
1630
|
"overrides": [('conveyor', 'use_preparer', 'true')]
|
|
@@ -36,7 +36,8 @@ from rucio.daemons.reaper.dark_reaper import reaper as dark_reaper
|
|
|
36
36
|
from rucio.daemons.reaper.reaper import run as run_reaper
|
|
37
37
|
from rucio.db.sqla.models import ConstituentAssociationHistory
|
|
38
38
|
from rucio.db.sqla.session import read_session
|
|
39
|
-
from rucio.tests.common import rse_name_generator
|
|
39
|
+
from rucio.tests.common import rse_name_generator, skip_rse_tests_with_accounts
|
|
40
|
+
from tests.ruciopytest import NoParallelGroups
|
|
40
41
|
|
|
41
42
|
__mock_protocol = {'scheme': 'MOCK',
|
|
42
43
|
'hostname': 'localhost',
|
|
@@ -481,3 +482,21 @@ def test_reaper_without_rse_usage(vo, caches_mock):
|
|
|
481
482
|
cache_region.invalidate()
|
|
482
483
|
reaper(once=True, rses=[], include_rses=rse_name, exclude_rses=None, chunk_size=1000, scheme='MOCK')
|
|
483
484
|
assert len(list(replica_core.list_replicas(dids, rse_expression=rse_name))) == nb_files - nb_epoch_tombstone
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
@skip_rse_tests_with_accounts
|
|
488
|
+
@pytest.mark.dirty(reason="leaves files in XRD containers")
|
|
489
|
+
@pytest.mark.noparallel(groups=[NoParallelGroups.WEB])
|
|
490
|
+
@pytest.mark.parametrize("caches_mock", [{"caches_to_mock": [
|
|
491
|
+
'rucio.daemons.reaper.reaper.REGION'
|
|
492
|
+
]}], indirect=True)
|
|
493
|
+
@pytest.mark.parametrize("file_config_mock", [
|
|
494
|
+
{"overrides": [('oidc', 'admin_issuer', 'indigoiam')]},
|
|
495
|
+
], indirect=True)
|
|
496
|
+
def test_deletion_with_tokens(vo, did_factory, root_account, caches_mock, file_config_mock):
|
|
497
|
+
rse_name = 'WEB1'
|
|
498
|
+
did = did_factory.upload_test_file(rse_name)
|
|
499
|
+
for rule in list(rule_core.list_associated_rules_for_file(**did)):
|
|
500
|
+
rule_core.delete_rule(rule['id'])
|
|
501
|
+
|
|
502
|
+
reaper(once=True, rses=[], include_rses=rse_name, exclude_rses=None, chunk_size=1000, greedy=True, scheme='davs')
|
|
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
|
|
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
|