DIRAC 9.0.14__tar.gz → 9.0.16__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.
- dirac-9.0.16/AGENTS.md +17 -0
- {dirac-9.0.14/src/DIRAC.egg-info → dirac-9.0.16}/PKG-INFO +2 -2
- {dirac-9.0.14 → dirac-9.0.16}/dirac.cfg +1 -1
- {dirac-9.0.14 → dirac-9.0.16}/release.notes +76 -0
- {dirac-9.0.14 → dirac-9.0.16}/setup.cfg +1 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/CSAPI.py +11 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Client/private/TornadoBaseClient.py +1 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/CGroups2.py +1 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ElasticSearchDB.py +1 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/MySQL.py +51 -25
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/DataManager.py +7 -10
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/FTS3Job.py +12 -3
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/SystemAdministratorHandler.py +41 -11
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/Dirac.py +12 -4
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/Job.py +62 -17
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/private/RequestTask.py +2 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/FileCatalogClient.py +18 -7
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/Utilities.py +3 -3
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/SLURM.py +1 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/TimeLeft.py +3 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/ComputingElement.py +39 -34
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/InProcessComputingElement.py +20 -7
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/PoolComputingElement.py +76 -37
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/SingularityComputingElement.py +19 -9
- dirac-9.0.16/src/DIRAC/Resources/Computing/test/Test_InProcessComputingElement.py +131 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/test/Test_PoolComputingElement.py +102 -35
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/GFAL2_StorageBase.py +9 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/TransformationAgent.py +12 -13
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobReport.py +10 -6
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobState/JobState.py +12 -3
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/Matcher.py +18 -24
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/TaskQueueDB.py +137 -7
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Executor/JobScheduling.py +8 -14
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Executor/test/Test_Executor.py +3 -5
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapper.py +2 -2
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_JobWrapper.py +1 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/JobManagerHandler.py +7 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/JobParameters.py +81 -2
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/PilotCStoJSONSynchronizer.py +7 -6
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/QueueUtilities.py +5 -5
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/RemoteRunner.py +2 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/Utils.py +21 -4
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/test/Test_RemoteRunner.py +7 -3
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_wms_get_wn_parameters.py +3 -3
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/__init__.py +1 -1
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/testJobDefinitions.py +57 -20
- {dirac-9.0.14 → dirac-9.0.16/src/DIRAC.egg-info}/PKG-INFO +2 -2
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC.egg-info/SOURCES.txt +1 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC.egg-info/requires.txt +1 -1
- dirac-9.0.14/src/DIRAC/Resources/Computing/test/Test_InProcessComputingElement.py +0 -70
- {dirac-9.0.14 → dirac-9.0.16}/AUTHORS.rst +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/LICENSE +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/MANIFEST.in +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/README.rst +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/SECURITY.md +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/codecov.yml +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/environment.yml +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/integration_tests.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/pyproject.toml +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/pytest.ini +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/releases.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/setup.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Agent/NetworkAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Agent/test/Test_NetworkAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/AccountingCLI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/DataStoreClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/ReportCLI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/ReportsClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/BaseAccountingType.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/DataOperation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/Job.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/Network.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/Pilot.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/PilotSubmission.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/StorageOccupancy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/WMSHistory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/Types/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/DB/AccountingDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/DB/AccountingDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/DB/MultiAccountingDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/DB/test/Test_AccountingDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Service/DataStoreHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Service/ReportGeneratorHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/DBUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/MainReporter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/BaseReporter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/DataOperationPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/JobPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/NetworkPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/PilotPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/PilotSubmissionPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/StorageOccupancyPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/WMSHistoryPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Plotters/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Policies/FilterExecutor.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Policies/JobPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/Policies/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/scripts/dirac_accounting_decode_fileid.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/AccountingSystem/scripts/dirac_admin_accounting_cli.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Agent/Bdii2CSAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Agent/GOCDB2CSAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Agent/RucioSynchronizerAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Agent/VOMS2CSAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Agent/test/Test_Bdii2CS.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/CSCLI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/CSShellCLI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Config.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/ConfigurationClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/ConfigurationData.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Helpers/CSGlobals.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Helpers/Operations.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Helpers/Path.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Helpers/Registry.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Helpers/Resources.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Helpers/ResourcesDefaults.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Helpers/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Helpers/test/Test_Helpers.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/LocalConfiguration.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/PathFinder.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/SyncPlugins/CERNLDAPSyncPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/SyncPlugins/DummySyncPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/SyncPlugins/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/VOMS2CSSynchronizer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/test/Test_LocalConfiguration.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Client/test/Test_PathFinder.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Service/ConfigurationHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Service/TornadoConfigurationHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/ConfigurationClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/ConfigurationData.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/Modificator.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/Refresher.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/RefresherBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/ServiceInterface.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/ServiceInterfaceBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/ServiceInterfaceTornado.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/TornadoRefresher.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_admin_add_resources.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_admin_add_shifter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_admin_add_site.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_admin_check_config_options.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_admin_sort_cs_sites.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_admin_voms_sync.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_configuration_cli.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_configuration_dump_local_cache.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/scripts/dirac_configuration_shell.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ConfigurationSystem/test/Test_agentOptions.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/API.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/AgentModule.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/AgentReactor.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/CLI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/Client.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/DB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/DIRACDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/ElasticDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/ExecutorMindHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/ExecutorModule.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/ExecutorReactor.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/SQLAlchemyDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/Script.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/private/ModuleLoader.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Base/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/AuthManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/MessageClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/RPCClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/RequestHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/ServiceReactor.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/ThreadConfig.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/TransferClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/BaseClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/FileHelper.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/GatewayService.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/InnerRPCClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/LockManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/MessageBroker.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/MessageFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Protocols.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Service.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/ServiceConfiguration.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/TransportPool.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/BaseTransport.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/M2SSLTransport.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/PlainTransport.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/SSL/FakeSocket.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/SSL/M2Utils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/SSL/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/SSLTransport.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/test/README.md +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/test/Test_SSLTransport.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/Transports/test/proxy.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/DISET/test/Test_AuthManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/LCG/GGUSTicketsClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/LCG/GOCDBClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/LCG/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/LCG/test/Test_LCG.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/DiracX.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/IAMService.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/Locations.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/Properties.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/ProxyFile.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/ProxyInfo.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/VOMS.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/VOMSService.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/m2crypto/X509CRL.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/m2crypto/X509Certificate.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/m2crypto/X509Chain.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/m2crypto/X509Request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/m2crypto/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/m2crypto/asn1_utils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/Test_DiracX.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/Test_X509Certificate.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/Test_X509Chain.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/Test_X509Request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/b236481c.0 +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/ca.cert.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/ca.key.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/crlnumber +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/index.txt +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/index.txt.attr +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/index.txt.attr.old +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/index.txt.old +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/newcerts/1000.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/newcerts/1001.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/newcerts/1002.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/openssl_config_ca.cnf +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/serial +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/ca/serial.old +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/host/hostcert.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/host/hostkey.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/host/hostkey.pem.bak +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/host/openssl_config_host.cnf +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/host/request.csr.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/key/encrypted_key_pass_0000.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/user/openssl_config_user.cnf +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/user/request.csr.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/user/usercert.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/user/userkey.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/voms/README +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/certs/voms/proxy.pem +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/test_diracx_token_from_pem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Security/test/x509TestUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Client/ClientSelector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Client/TornadoClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Client/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Server/HandlerManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Server/TornadoREST.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Server/TornadoServer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Server/TornadoService.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Server/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Server/private/BaseRequestHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/Server/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/scripts/tornado_start_CS.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Tornado/scripts/tornado_start_all.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Adler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ClassAd/ClassAdLight.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ClassAd/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/CountryMapping.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/DAG.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/DEncode.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/DErrno.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/DIRACSingleton.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Decorators.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Devloader.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/DictCache.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Dictionaries.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/DirectoryExplorer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/EventDispatcher.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ExecutorDispatcher.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Extensions.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/File.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Glue2.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/BarGraph.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/CurveGraph.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/Dwatermark.png +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/Graph.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/GraphData.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/Legend.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/LineGraph.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/Palette.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/PieGraph.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/PlotBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/QualityMapGraph.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Graphs/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Grid.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/JDL.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/JEncode.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/List.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/LockRing.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Mail.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/MixedEncode.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Network.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ObjectLoader.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Os.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Pfn.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Platform.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Plotting/DataCache.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Plotting/FileCoding.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Plotting/Plots.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Plotting/TypeLoader.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Plotting/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/PrettyPrint.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ProcessPool.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Profiler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/PromptUser.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Proxy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ReturnValues.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Shifter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/SiteSEMapping.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/StateMachine.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Subprocess.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ThreadPool.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ThreadSafe.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/ThreadScheduler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/TimeUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/Version.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/exceptions.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/ProcessesCreator.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Adler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_DAG.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Decorator.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Dictionaries.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Encode.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_ExecutorDispatcher.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Extensions.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_File.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_JDL.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Mail.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Network.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_ObjectLoader.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Pfn.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_ProcessPool.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Profiler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_ReturnValues.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_Subprocess.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/Test_entrypoints.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Utilities/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/Module.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/Parameter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/Step.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/Utility.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/WFEditor/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/Workflow.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/WorkflowReader.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/test/JobSamples.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/test/ModulesSamples.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/test/WFSamples.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/Workflow/test/step_g.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_agent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_apptainer_exec.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_cert_convert.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_configure.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_executor.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_generate_cas.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_generate_crls.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_install_db.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_install_web_portal.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_platform.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_service.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_setup_site.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/dirac_version.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/scripts/install_full.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Core/test/Test_API.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/FTS3Agent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/ArchiveFiles.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/CheckMigration.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/DMSRequestOperationsBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/MoveReplica.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/PhysicalRemoval.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/PutAndRegister.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/ReTransfer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/RegisterFile.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/RegisterReplica.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/RemoveFile.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/RemoveReplica.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/ReplicateAndRegister.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/StagingCallback.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/test/Test_ArchiveFiles.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/test/Test_CheckMigration.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/test/Test_ReplicateAndRegister.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/RequestOperations/test/Test_RequestOperations.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/CmdDirCompletion/AbstractFileSystem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/CmdDirCompletion/DirectoryCompletion.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/CmdDirCompletion/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/ConsistencyInspector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/DataIntegrityClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/DirectoryListing.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/FTS3Client.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/FTS3File.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/FTS3Operation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/FailoverTransfer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/FileCatalogClientCLI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/MetaQuery.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/S3GatewayClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/test/Test_Client_DataManagementSystem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/test/Test_FTS3Objects.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/test/Test_scitag.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/test/mock_DM.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Client/test/new_dir_completion.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/DataIntegrityDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/DataIntegrityDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FTS3DB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FTS3DB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DatasetManager/DatasetManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DatasetManager/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryManager/DirectoryClosure.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryManager/DirectoryFlatTree.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryManager/DirectoryLevelTree.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryManager/DirectoryNodeTree.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryManager/DirectorySimpleTree.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryManager/DirectoryTreeBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryManager/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryMetadata/DirectoryMetadata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryMetadata/MultiVODirectoryMetadata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/DirectoryMetadata/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/FileManager/FileManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/FileManager/FileManagerBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/FileManager/FileManagerFlat.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/FileManager/FileManagerPs.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/FileManager/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/FileMetadata/FileMetadata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/FileMetadata/MultiVOFileMetadata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/FileMetadata/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SEManager/SEManagerBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SEManager/SEManagerDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SEManager/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SecurityManager/DirectorySecurityManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SecurityManager/DirectorySecurityManagerWithDelete.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SecurityManager/FullSecurityManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SecurityManager/NoSecurityManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SecurityManager/SecurityManagerBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SecurityManager/VOMSSecurityManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SecurityManager/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/SecurityManager/test/Test_VOMSSecurityManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/UserGroupManager/UserAndGroupManagerBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/UserGroupManager/UserAndGroupManagerCS.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/UserGroupManager/UserAndGroupManagerDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/UserGroupManager/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogComponents/test/Test_DataManagement_FileCatalogComponents.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/FileCatalogWithFkAndPsDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/test/FTS3TestUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/DB/test/Test_FTS3DB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/DataIntegrityHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/FTS3ManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/FileCatalogHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/S3GatewayHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/StorageElementHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/TornadoDataIntegrityHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/TornadoFTS3ManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/TornadoFileCatalogHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/TornadoS3GatewayHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Service/test/Test_Service.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Utilities/DMSHelpers.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Utilities/ResolveSE.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Utilities/test/Test_resolveSE.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/Utilities/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/private/FTS3Plugins/DefaultFTS3Plugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/private/FTS3Plugins/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/private/FTS3Plugins/test/Test_DefaultFTS3Plugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/private/FTS3Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/private/HttpStorageAccessHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/private/test/Test_FTS3Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/private/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_admin_allow_se.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_admin_ban_se.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_admin_user_quota.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_add_file.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_catalog_metadata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_change_replica_status.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_clean_directory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_create_archive_request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_create_moving_request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_create_removal_request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_data_size.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_directory_sync.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_filecatalog_cli.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_find_lfns.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_move_replica_request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_protocol_matrix.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_put_and_register_request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_remove_catalog_files.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_remove_catalog_replicas.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_remove_files.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_remove_replicas.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_replica_metadata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_replicate_and_register_request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_resolve_guid.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_set_replica_status.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_show_se_status.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_user_lfns.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/DataManagementSystem/scripts/dirac_dms_user_quota.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/API/AuthHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/API/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Agent/ComponentSupervisionAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Agent/ProxyRenewalAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Agent/test/Test_ComponentSupervisionAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/BundleDeliveryClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/ComponentInstaller.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/ComponentMonitoringClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/Logger.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/NotificationClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/ProxyGeneration.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/ProxyManagerClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/ProxyUpload.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/SecurityLogClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/SystemAdministratorClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/SystemAdministratorClientCLI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/SystemAdministratorIntegrator.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/TokenManagerClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/UserProfileClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Client/test/Test_ComponentInstaller.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/AuthDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/AuthDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/InstalledComponentsDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/InstalledComponentsDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/ProxyDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/ProxyDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/TokenDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/TokenDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/UserProfileDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/UserProfileDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/BundleDeliveryHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/ComponentMonitoringHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/NotificationHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/ProxyManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/SecurityLoggingHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/TokenManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/TornadoComponentMonitoringHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/TornadoNotificationHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/TornadoProxyManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/TornadoTokenManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/TornadoUserProfileManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/UserProfileManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Utilities/MonitoringUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Utilities/TokenManagementUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Utilities/diracx.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Utilities/test/Test_TokenManagementUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/SecurityFileLog.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/AuthServer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/grants/AuthorizationCode.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/grants/DeviceFlow.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/grants/RefreshToken.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/grants/RevokeToken.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/grants/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/utils/Clients.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/utils/Requests.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/utils/Tokens.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/utils/Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/authorization/utils/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/Formatter/BaseFormatter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/Formatter/ColoredBaseFormatter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/Formatter/MicrosecondJsonFormatter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/Formatter/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/Handler/MessageQueueHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/Handler/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/LogLevels.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/Logging.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/LoggingContext.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/LoggingRoot.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/TestLogUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/Test_LogLevels.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/Test_LoggingRoot_ConfigForExternalLibs.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/Test_Logging_Backends.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/Test_Logging_ContextVars.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/Test_Logging_CreationLogRecord.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/Test_Logging_FormatOptions.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/Test_Logging_GetSubLogger.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/Test_Logging_Levels.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/private/standardLogging/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_admin_get_CAs.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_admin_get_proxy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_admin_proxy_upload.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_admin_sysadmin_cli.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_admin_update_instance.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_admin_update_pilot.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_admin_users_with_proxy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_diracx_whoami.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_install_component.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_login.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_logout.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_proxy_destroy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_proxy_get_uploaded_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_proxy_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_proxy_init.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_restart_component.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_start_component.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_status_component.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_stop_component.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_sys_sendmail.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/scripts/dirac_uninstall_component.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/DiracAdmin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/test/Test_DIRAC.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/test/Test_JobAPI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/test/testWF.jdl +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/test/testWF.xml +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/API/test/testWFSIO.jdl +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/Utilities/DCommands.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/Utilities/DConfigCache.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dcd.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dchgrp.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dchmod.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dchown.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dconfig.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dfind.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dget.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dgetenv.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_add_group.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_add_host.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_add_user.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_allow_site.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_ban_site.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_ce_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_delete_user.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_get_banned_sites.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_get_job_pilot_output.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_get_job_pilots.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_get_pilot_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_get_pilot_logging_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_get_pilot_output.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_get_site_mask.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_list_hosts.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_list_users.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_modify_user.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_pilot_summary.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_reset_job.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_set_site_protocols.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_site_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_site_mask_logging.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_admin_sync_users_from_file.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_dms_get_file.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_dms_lfn_accessURL.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_dms_lfn_metadata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_dms_lfn_replicas.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_dms_pfn_accessURL.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_dms_pfn_metadata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_dms_replicate_lfn.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_framework_ping_service.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_framework_self_ping.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_utils_file_adler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_utils_file_md5.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_attributes.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_delete.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_get_input.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_get_jdl.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_get_output.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_get_output_data.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_kill.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_logging_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_parameters.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_peek.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_reschedule.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_status.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_job_submit.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_jobs_select_output_search.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dirac_wms_select_jobs.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dkill.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dlogging.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dls.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dmeta.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dmkdir.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/doutput.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dput.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dpwd.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/drepl.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dreplicas.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/drm.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/drmdir.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dsize.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dstat.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Interfaces/scripts/dsub.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/DataOperationSender.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/MonitoringClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/MonitoringReporter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/ServerUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/AgentMonitoring.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/BaseType.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/DataOperation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/FailedDataOperation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/PilotSubmissionMonitoring.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/PilotsHistory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/RMSMonitoring.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/ServiceMonitoring.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/WMSHistory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/Types/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/WebAppClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/DB/MonitoringDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/DB/test/Test_monitoringdb.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Service/MonitoringHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Service/TornadoMonitoringHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Service/WebAppHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/private/DBUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/private/MainReporter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/private/Plotters/BasePlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/private/Plotters/RMSMonitoringPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/private/Plotters/WMSHistoryPlotter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/private/Plotters/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/MonitoringSystem/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Client/ProductionClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Client/ProductionStep.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/DB/ProductionDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/DB/ProductionDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Service/ProductionManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Service/TornadoProductionManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Utilities/ProdTransManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Utilities/ProdValidator.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Utilities/StateMachine.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_add_trans.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_clean.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_complete.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_delete.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_get.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_get_all.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_get_description.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_get_trans.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_start.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ProductionSystem/scripts/dirac_prod_stop.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Agent/CleanReqDBAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Agent/RequestExecutingAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Agent/RequestOperations/ForwardDISET.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Agent/RequestOperations/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Agent/RequestOperations/test/ForwardDISETTests.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Client/File.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Client/Operation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Client/ReqClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Client/Request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Client/test/Test_File.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Client/test/Test_Operation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Client/test/Test_Request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/DB/ReqDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/DB/RequestDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/DB/test/RMSTestScenari.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/DB/test/Test_RequestDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/DB/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Service/ReqManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Service/ReqProxyHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Service/TornadoReqManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/Service/test/OperationHandlerBaseTests.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/private/JSONUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/private/OperationHandlerBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/private/RequestValidator.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/private/test/Test_OperationHandlerBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/private/test/Test_RequestTask.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/private/test/Test_RequestValidator.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/scripts/dirac_rms_list_req_cache.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/scripts/dirac_rms_reqdb_summary.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/RequestManagementSystem/scripts/dirac_rms_request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/CacheFeederAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/ElementInspectorAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/EmailAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/RucioRSSAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/SiteInspectorAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/SummarizeLogsAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/TokenAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/test/Test_Agent_ElementInspectorAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/test/Test_Agent_ResourceStatusSystem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Agent/test/Test_Agent_SiteInspectorAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Client/PublisherClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Client/ResourceManagementClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Client/ResourceStatus.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Client/ResourceStatusClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Client/SiteStatus.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/Command.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/CommandCaller.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/DowntimeCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/FreeDiskSpaceCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/GGUSTicketsCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/GOCDBSyncCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/JobCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/MacroCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/PilotCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/PropagationCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/TransferCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/test/Test_RSS_Command_GOCDBStatusCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Command/test/Test_RSS_Command_GOCDBSyncCommand.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/DB/ResourceManagementDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/DB/ResourceManagementDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/DB/ResourceStatusDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/DB/ResourceStatusDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/AlwaysActivePolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/AlwaysBannedPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/AlwaysDegradedPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/AlwaysProbingPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/CEAvailabilityPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/Configurations.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/DowntimePolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/FreeDiskSpacePolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/GGUSTicketsPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/JobDoneRatioPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/JobEfficiencyPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/JobRunningMatchedRatioPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/JobRunningWaitingRatioPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/PilotEfficiencyPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/PropagationPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_AlwaysActivePolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_CEAvailabilityPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_Configurations.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_DTPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_FreeDiskSpacePolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_GGUSTicketsPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_JobDoneRatioPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_JobEfficiencyPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_JobRunningMatchedRatioPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_JobRunningWaitingRatioPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Policy/test/Test_RSS_Policy_PilotEfficiencyPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/Actions/BaseAction.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/Actions/EmailAction.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/Actions/LogPolicyResultAction.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/Actions/LogStatusAction.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/Actions/SlackAction.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/Actions/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/PDP.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/PEP.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/PolicyBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/PolicyCaller.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/StateMachine.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/PolicySystem/test/Test_PolicySystem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Service/PublisherHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Service/ResourceManagementHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Service/ResourceStatusHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Service/TornadoPublisherHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Service/TornadoResourceManagementHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Service/TornadoResourceStatusHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Utilities/CSHelpers.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Utilities/InfoGetter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Utilities/RSSCache.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Utilities/RSSCacheNoThread.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Utilities/RssConfiguration.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Utilities/Synchronizer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Utilities/Utils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/scripts/dirac_rss_list_status.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/scripts/dirac_rss_query_db.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/scripts/dirac_rss_query_dtcache.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/scripts/dirac_rss_set_status.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/scripts/dirac_rss_set_token.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/ResourceStatusSystem/scripts/dirac_rss_sync.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/ConditionPlugins/DummyPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/ConditionPlugins/FCConditionBasePlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/ConditionPlugins/FilenamePlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/ConditionPlugins/ProxyPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/ConditionPlugins/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/ConditionPlugins/test/Test_FilenamePlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/ConditionPlugins/test/Test_ProxyPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/ConditionPlugins/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/FCConditionParser.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/FileCatalog.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/FileCatalogClientBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/FileCatalogFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/PoolXMLCatalog.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/PoolXMLFile.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/RucioFileCatalogClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/TSCatalogClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/test/Test_FCConditionParser.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/test/Test_FileCatalog.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/test/Test_RucioFileCatalogClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Catalog/test/mock_FC.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/AREXComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/Condor.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/GE.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/Host.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/LSF.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/OAR.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/HTCondorResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/LSFResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/PBSResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/ResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/SGEResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/SLURMResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/test/Test_HTCondorResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/test/Test_LSFResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/test/Test_PBSResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/test/Test_SGEResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/test/Test_SLURMResourceUsage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/test/Test_TimeLeft.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/TimeLeft/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/Torque.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/executeBatch.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/test/Test_SLURM.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/BatchSystems/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/CloudComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/CloudProviders/OpenNebula.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/ComputingElementFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/HTCondorCEComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/LocalComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/SSHBatchComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/SSHComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/cloudinit.template +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/test/Test_AREXComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/test/Test_ComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/test/Test_HTCondorCEComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/test/Test_SSHComputingElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Computing/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/CheckInIdProvider.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/IAMIdProvider.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/IdProviderFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/OAuth2IdProvider.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/tests/IdProviderTestUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/tests/Test_IdProvider.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/tests/Test_IdProviderFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/IdProvider/tests/Test_IdProviderUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogBackends/AbstractBackend.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogBackends/ElasticSearchBackend.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogBackends/FileBackend.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogBackends/MessageQueueBackend.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogBackends/StderrBackend.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogBackends/StdoutBackend.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogBackends/StdoutJsonBackend.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogBackends/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogFilters/ModuleFilter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogFilters/PatternFilter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogFilters/SensitiveDataFilter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogFilters/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/LogFilters/test/Test_LogFilter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/MQCommunication.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/MQConnectionManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/MQConnector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/MQConsumer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/MQProducer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/Simple/StompInterface.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/Simple/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/StompMQConnector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/test/Test_MQConnectionManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/test/Test_MQConsumer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/test/Test_MQProducer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/MessageQueue/test/Test_MQ_Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/ProxyProvider/DIRACCAProxyProvider.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/ProxyProvider/ProxyProvider.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/ProxyProvider/ProxyProviderFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/ProxyProvider/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/ProxyProvider/test/Test_DIRACCAProxyProvider.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/ProxyProvider/test/Test_ProxyProviderFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/ProxyProvider/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/CTAStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/DIPStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/EchoStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/FCOnlyStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/FileStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/GFAL2_GSIFTPStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/GFAL2_HTTPSStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/GFAL2_SRM2Storage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/GFAL2_XROOTStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/OccupancyPlugins/BDIIOccupancy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/OccupancyPlugins/WLCGAccountingHTTPJson.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/OccupancyPlugins/WLCGAccountingJson.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/OccupancyPlugins/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/RFIOStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/S3Storage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/StorageBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/StorageElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/StorageFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/test/Test_FilePlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/test/Test_GFAL2_XROOTStorage.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/test/Test_StorageElement.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/test/Test_StorageFactory.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/Storage/test/test_utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/scripts/dirac_resource_get_parameters.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Resources/scripts/dirac_resource_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Agent/RequestFinalizationAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Agent/RequestPreparationAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Agent/StageMonitorAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Agent/StageRequestAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Client/StorageManagerClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Client/test/Test_Client_StorageManagementSystem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/DB/StorageManagementDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/DB/StorageManagementDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Service/StorageManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Service/TornadoStorageManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/scripts/dirac_stager_monitor_file.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/scripts/dirac_stager_monitor_jobs.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/scripts/dirac_stager_monitor_request.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/scripts/dirac_stager_monitor_requests.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/scripts/dirac_stager_show_stats.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/StorageManagementSystem/scripts/dirac_stager_stage_files.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/DataRecoveryAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/InputDataAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/MCExtensionAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/RequestOperations/SetFileStatus.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/RequestOperations/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/RequestTaskAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/TaskManagerAgentBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/TransformationAgentsUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/TransformationCleaningAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/TransformationPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/ValidateOutputDataAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/WorkflowTaskAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/test/Test_Agent_TransformationSystem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Agent/test/Test_Plugins.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/BodyPlugin/BaseBody.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/BodyPlugin/DummyBody.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/BodyPlugin/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/FileReport.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/PluginBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/RequestTasks.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/TaskManager.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/TaskManagerPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/Transformation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/TransformationCLI.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/TransformationClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/TransformationFilesStatus.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/TransformationStatus.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/WorkflowTasks.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/test/Test_Client_RequestTasks.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/test/Test_Client_TaskManagerPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/test/Test_Client_TransformationClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/test/Test_Client_TransformationSystem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Client/test/Test_Client_WorkflowTasks.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/DB/TransformationDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/DB/TransformationDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Service/TornadoTransformationManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Service/TransformationManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Utilities/JobInfo.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Utilities/ReplicationCLIParameters.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Utilities/ReplicationTransformation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Utilities/ScriptUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Utilities/TransformationInfo.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_production_runjoblocal.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_transformation_add_files.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_transformation_cli.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_transformation_get_files.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_transformation_information.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_transformation_recover_data.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_transformation_replication.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_transformation_update_derived.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/scripts/dirac_transformation_verify_outputdata.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/test/Test_DRA.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/test/Test_JobInfo.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/test/Test_TransformationInfo.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/test/Test_replicationTransformation.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/TransformationSystem/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/Modules/FailoverRequest.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/Modules/ModuleBase.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/Modules/Script.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/Modules/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/Modules/test/Test_Modules.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/Utilities/Utils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/Utilities/test/Test_Utilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/Workflow/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/JobAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/JobCleaningAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/PilotLoggingAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/PilotStatusAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/PilotSyncAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/PushJobAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/SiteDirector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/StalledJobAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/StatesAccountingAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/TaskQueuesAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_JobAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_JobCleaningAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_PilotLoggingAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_PilotStatusAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_PushJobAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_SiteDirector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_StalledJobAgent.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/CPUNormalization.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/DownloadInputData.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/InputDataByProtocol.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/InputDataResolution.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobManagerClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobMinorStatus.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobMonitoringClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobState/CachedJobState.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobState/JobManifest.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobState/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobStateUpdateClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/Limiter.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/MatcherClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotLoggingPlugins/DownloadPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotLoggingPlugins/FileCacheDownloadPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotLoggingPlugins/FileCacheLoggingPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotLoggingPlugins/MQPilotLoggingPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotLoggingPlugins/PilotLoggingPlugin.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotLoggingPlugins/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotManagerClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotScopes.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PilotStatus.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/PoolXMLSlice.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/SandboxStoreClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/ServerUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/TornadoPilotLoggingClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/WMSAdministratorClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/WMSClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/test/Test_Client_DownloadInputData.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/test/Test_Client_WorkloadManagementSystem.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/test/Test_JobReport.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Client/test/Test_TornadoPilotLoggingClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/ConfigTemplate.cfg +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/JobDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/JobDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/JobDBUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/JobLoggingDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/JobLoggingDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/JobParametersDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/PilotAgentsDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/PilotAgentsDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/SandboxMetadataDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/SandboxMetadataDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/StatusUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/TaskQueueDB.sql +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/tests/Test_JobDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/tests/Test_StatusUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/DB/tests/Test_TaskQueueDB.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Executor/Base/OptimizerExecutor.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Executor/Base/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Executor/InputData.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Executor/JobPath.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Executor/JobSanity.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Executor/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/FutureClient/JobMonitoringClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/FutureClient/JobStateUpdateClient.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/FutureClient/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/JobExecutionCoordinator.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapperOfflineTemplate.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapperTemplate.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapperUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/Watchdog.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_JobWrapperTemplate.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_Watchdog.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/jobDescription.xml +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/script-OK.sh +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/script-RESC.sh +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/script-fail.sh +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/script-long.sh +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/JobWrapper/test/script.sh +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/JobMonitoringHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/JobPolicy.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/JobStateUpdateHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/MatcherHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/OptimizationMindHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/PilotManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/SandboxStoreHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/TornadoJobManagerHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/TornadoJobMonitoringHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/TornadoJobStateUpdateHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/TornadoPilotLoggingHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/TornadoSandboxStoreHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/TornadoWMSAdministratorHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/WMSAdministratorHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/WMSUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Service/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/JobModel.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/JobStatusUtility.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/ParametricJob.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/PilotWrapper.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/jobAdministration.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/test/Test_JobModel.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/test/Test_JobStatusUtility.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/test/Test_ParametricJob.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/test/Test_PilotCStoJSONSynchronizer.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/test/Test_PilotWrapper.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/test/Test_QueueUtilities.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/Utilities/test/Test_TornadoPilotLoggingHandler.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/private/ConfigHelper.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/private/SharesCorrector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/private/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/private/correctors/BaseCorrector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/private/correctors/BaseHistoryCorrector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/private/correctors/MonitoringHistoryCorrector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/private/correctors/WMSHistoryCorrector.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/private/correctors/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_admin_add_pilot.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_admin_kill_pilot.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_admin_show_task_queues.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_admin_sync_pilot.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_jobexec.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_wms_cpu_normalization.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_wms_get_queue_cpu_time.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_wms_get_wn.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_wms_match.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/WorkloadManagementSystem/scripts/dirac_wms_pilot_job_info.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Test_init.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/Accounting.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/IntegrationTest.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/ProcessesCreator_withChildren.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/WMS.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/assertingUtils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/mpTest-flexible.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/mpTest.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/plots.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Utilities/utils.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Workflow/Integration/exe-script-with-input-single-location.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Workflow/Integration/exe-script-with-input.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Workflow/Integration/exe-script.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Workflow/Integration/helloWorld.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Workflow/Regression/helloWorld.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/Workflow/Regression/helloWorld.xml +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/tests/__init__.py +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC.egg-info/dependency_links.txt +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC.egg-info/entry_points.txt +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC.egg-info/not-zip-safe +0 -0
- {dirac-9.0.14 → dirac-9.0.16}/src/DIRAC.egg-info/top_level.txt +0 -0
dirac-9.0.16/AGENTS.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# DIRAC Agent Guidelines
|
|
2
|
+
|
|
3
|
+
## Build/Lint/Test Commands
|
|
4
|
+
- **Build**: `pip install -e .`
|
|
5
|
+
- **Lint**: `ruff check src/ && pylint src/`
|
|
6
|
+
- **Test**: `pytest tests/`
|
|
7
|
+
- **Single test**: `pytest src/DIRAC/path/to/test.py::test_function`
|
|
8
|
+
|
|
9
|
+
## Code Style Guidelines
|
|
10
|
+
- **Formatting**: Use `black` with line length 120 (configured in pyproject.toml)
|
|
11
|
+
- **Imports**: Absolute imports only; sort with `isort` (black profile)
|
|
12
|
+
- **Naming**: CamelCase for classes, snake_case for functions/variables
|
|
13
|
+
- **Types**: Use type hints; run `mypy` for strict checking
|
|
14
|
+
- **Error handling**: Return `S_OK(result)` or `S_ERROR(message)` from DIRAC.Core.Utilities.ReturnValues
|
|
15
|
+
- **Logging**: Use `gLogger.info/warn/error` (from DIRAC import gLogger)
|
|
16
|
+
- **Docstrings**: Follow Google/NumPy style where present
|
|
17
|
+
- **Security**: Never log secrets; validate inputs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: DIRAC
|
|
3
|
-
Version: 9.0.
|
|
3
|
+
Version: 9.0.16
|
|
4
4
|
Summary: DIRAC is an interware, meaning a software framework for distributed computing.
|
|
5
5
|
Home-page: https://github.com/DIRACGrid/DIRAC/
|
|
6
6
|
License: GPL-3.0-only
|
|
@@ -19,7 +19,7 @@ Requires-Dist: cachetools
|
|
|
19
19
|
Requires-Dist: certifi
|
|
20
20
|
Requires-Dist: cwltool
|
|
21
21
|
Requires-Dist: diraccfg
|
|
22
|
-
Requires-Dist: DIRACCommon==v9.0.
|
|
22
|
+
Requires-Dist: DIRACCommon==v9.0.16
|
|
23
23
|
Requires-Dist: diracx-client>=v0.0.1
|
|
24
24
|
Requires-Dist: diracx-core>=v0.0.1
|
|
25
25
|
Requires-Dist: diracx-cli>=v0.0.1
|
|
@@ -1131,7 +1131,7 @@ Operations
|
|
|
1131
1131
|
Remote = xroot, root
|
|
1132
1132
|
}
|
|
1133
1133
|
# Module used for InputData resolution if not specified in the JDL
|
|
1134
|
-
InputDataModule = DIRAC.
|
|
1134
|
+
InputDataModule = DIRAC.WorkloadManagementSystem.Client.InputDataResolution
|
|
1135
1135
|
}
|
|
1136
1136
|
Logging
|
|
1137
1137
|
{
|
|
@@ -1,3 +1,79 @@
|
|
|
1
|
+
[v9.0.16]
|
|
2
|
+
|
|
3
|
+
*Tornado
|
|
4
|
+
|
|
5
|
+
FIX: (#8426) return when retrying another Tornado service
|
|
6
|
+
|
|
7
|
+
*Resources
|
|
8
|
+
|
|
9
|
+
FIX: (#8424) SingularityComputingElement: convert MemoryLimitMB to int before comparison with maxRAM
|
|
10
|
+
|
|
11
|
+
*WorkloadManagementSystem
|
|
12
|
+
|
|
13
|
+
CHANGE: (#8423) rescheduleJobs: allow reusing existing JobDB, TaskQueueDB, jobLoggingDB instances
|
|
14
|
+
|
|
15
|
+
*WorkloadManagement
|
|
16
|
+
|
|
17
|
+
NEW: (#8422) Support overriding configuration servers ins pilot JSON
|
|
18
|
+
|
|
19
|
+
[v9.0.15]
|
|
20
|
+
|
|
21
|
+
*DIRAC
|
|
22
|
+
|
|
23
|
+
FIX: (#8421) Fix default InputDataModule path in dirac.cfg
|
|
24
|
+
|
|
25
|
+
*Core
|
|
26
|
+
|
|
27
|
+
CHANGE: (#8419) the weekly index for OpenSearch uses also the year as a prefix
|
|
28
|
+
FIX: (#8405) rootPath for server installation can be a random string, followed by a timestamp
|
|
29
|
+
|
|
30
|
+
*RequestManagementSystem
|
|
31
|
+
|
|
32
|
+
CHANGE: (#8418) just ignore a shifter if we cannot get a matching proxy
|
|
33
|
+
|
|
34
|
+
*Resources
|
|
35
|
+
|
|
36
|
+
FIX: (#8417) SLURM getCEStatus last empty line
|
|
37
|
+
FIX: (#8412) add further details when time left cannot be obtained
|
|
38
|
+
FIX: (#8408) PoolComputingElement: fix: do not set a fictional ram limit, use 0 for no-limit
|
|
39
|
+
FIX: (#8406) adding basic RAM capabilities to InProcessCE
|
|
40
|
+
CHANGE: (#8404) improve getReplicas performances by sorting LFNs
|
|
41
|
+
CHANGE: (#8332) set default time for gfal operations
|
|
42
|
+
|
|
43
|
+
*WorkloadManagementSystem
|
|
44
|
+
|
|
45
|
+
NEW: (#8414) added a new table to TaskQueueDB for RAM requirements and matching
|
|
46
|
+
NEW: (#8366) InProcessComputingElement takes RAM requirements into consideration for jobs' matching
|
|
47
|
+
NEW: (#8366) PoolComputingElement takes RAM requirements into consideration when subdividing the pool
|
|
48
|
+
NEW: (#8366) SingularityComputingElement can enforce CG2 RAM limits
|
|
49
|
+
|
|
50
|
+
*DataManagementSystem
|
|
51
|
+
|
|
52
|
+
FIX: (#8413) check properly if an FTS error is recoverable
|
|
53
|
+
FIX: (#8410) Only submit FTS job with tokens if all hop support tokens
|
|
54
|
+
CHANGE: (#8402) batch getReplicas at the FileCatalogClient level instead of at the DM level for speedup
|
|
55
|
+
|
|
56
|
+
*Interfaces
|
|
57
|
+
|
|
58
|
+
FIX: (#8409) inputDataPolicy should not change the inputDataModule but set a parameter inside the arguments.
|
|
59
|
+
CHANGE: (#8407) Dirac().getInputDataCatalog - allow changing the inputDataPolicy
|
|
60
|
+
|
|
61
|
+
*TransformationSystem
|
|
62
|
+
|
|
63
|
+
CHANGE: (#8404) TransformationAgent does not bulk calls to dm.getReplicas
|
|
64
|
+
|
|
65
|
+
*FrameworkSystem
|
|
66
|
+
|
|
67
|
+
CHANGE: (#8403) (SystemAdministrator): add the possibility to install non-released software versions
|
|
68
|
+
|
|
69
|
+
*WorkloadManagement
|
|
70
|
+
|
|
71
|
+
NEW: (#8399) ability to adjust job wrapper log level
|
|
72
|
+
|
|
73
|
+
*CSAPI
|
|
74
|
+
|
|
75
|
+
FIX: (#8398) Have CSAPI return AffiliationEnds if existing
|
|
76
|
+
|
|
1
77
|
[v9.0.14]
|
|
2
78
|
|
|
3
79
|
|
|
@@ -299,8 +299,19 @@ class CSAPI:
|
|
|
299
299
|
if "Users" in groupsDict[group] and entity in groupsDict[group]["Users"]:
|
|
300
300
|
entitiesDict[entity]["Groups"].append(group)
|
|
301
301
|
entitiesDict[entity]["Groups"].sort()
|
|
302
|
+
entitiesDict[entity]["AffiliationEnds"] = self.getUserAffiliationEnds(entity)
|
|
302
303
|
return S_OK(entitiesDict)
|
|
303
304
|
|
|
305
|
+
def getUserAffiliationEnds(self, nick):
|
|
306
|
+
affiliation_ends_current = {}
|
|
307
|
+
csSection = f"{self.__baseSecurity}/Users/{nick}/"
|
|
308
|
+
user_sections = self.__csMod.getSections(csSection)
|
|
309
|
+
if "AffiliationEnds" in user_sections:
|
|
310
|
+
affiliation_ends_opts = self.__csMod.getOptions(f"{csSection}/AffiliationEnds")
|
|
311
|
+
for vo_ in affiliation_ends_opts:
|
|
312
|
+
affiliation_ends_current[vo_] = self.__csMod.getValue(f"{csSection}/AffiliationEnds/{vo_}")
|
|
313
|
+
return affiliation_ends_current
|
|
314
|
+
|
|
304
315
|
def listGroups(self):
|
|
305
316
|
"""
|
|
306
317
|
List all groups
|
|
@@ -599,7 +599,7 @@ class TornadoBaseClient:
|
|
|
599
599
|
if url not in self.__bannedUrls:
|
|
600
600
|
self.__bannedUrls += [url]
|
|
601
601
|
if retry < self.__nbOfUrls - 1:
|
|
602
|
-
self._request(retry=retry + 1, outputFile=outputFile, **kwargs)
|
|
602
|
+
return self._request(retry=retry + 1, outputFile=outputFile, **kwargs)
|
|
603
603
|
|
|
604
604
|
errStr = f"{str(e)}: {rawText}"
|
|
605
605
|
return S_ERROR(errStr)
|
|
@@ -300,6 +300,7 @@ class CG2Manager(metaclass=DIRACSingleton):
|
|
|
300
300
|
if "ceParameters" in kwargs:
|
|
301
301
|
if cpuLimit := kwargs["ceParameters"].get("CPULimit", None):
|
|
302
302
|
cores = float(cpuLimit)
|
|
303
|
+
# MemoryLimitMB should be the job upper limit
|
|
303
304
|
if memoryMB := int(kwargs["ceParameters"].get("MemoryLimitMB", 0)):
|
|
304
305
|
memory = memoryMB * 1024 * 1024
|
|
305
306
|
if kwargs["ceParameters"].get("MemoryNoSwap", "no").lower() in ("yes", "true"):
|
|
@@ -621,7 +621,7 @@ class ElasticSearchDB:
|
|
|
621
621
|
if period.lower() == "day":
|
|
622
622
|
suffix = todayUTC.strftime("%Y-%m-%d")
|
|
623
623
|
elif period.lower() == "week":
|
|
624
|
-
suffix = todayUTC.isocalendar()[1]
|
|
624
|
+
suffix = f"{todayUTC.strftime('%Y')}-{todayUTC.isocalendar()[1]}"
|
|
625
625
|
elif period.lower() == "month":
|
|
626
626
|
suffix = todayUTC.strftime("%Y-%m")
|
|
627
627
|
elif period.lower() == "year":
|
|
@@ -903,6 +903,21 @@ class MySQL:
|
|
|
903
903
|
return createView
|
|
904
904
|
return S_OK()
|
|
905
905
|
|
|
906
|
+
def _parseForeignKeyReference(self, auxTable, defaultKey):
|
|
907
|
+
"""
|
|
908
|
+
Parse foreign key reference in format 'Table' or 'Table.key'
|
|
909
|
+
|
|
910
|
+
:param str auxTable: Foreign key reference (e.g., 'MyTable' or 'MyTable.id')
|
|
911
|
+
:param str defaultKey: Default key name if not specified in auxTable
|
|
912
|
+
:return: tuple (table_name, key_name)
|
|
913
|
+
"""
|
|
914
|
+
if "." in auxTable:
|
|
915
|
+
parts = auxTable.split(".", 1)
|
|
916
|
+
if len(parts) != 2:
|
|
917
|
+
raise ValueError(f"Invalid foreign key reference format: {auxTable}")
|
|
918
|
+
return parts[0], parts[1]
|
|
919
|
+
return auxTable, defaultKey
|
|
920
|
+
|
|
906
921
|
def _createTables(self, tableDict, force=False):
|
|
907
922
|
"""
|
|
908
923
|
tableDict:
|
|
@@ -957,30 +972,37 @@ class MySQL:
|
|
|
957
972
|
if "Fields" not in thisTable:
|
|
958
973
|
return S_ERROR(DErrno.EMYSQL, f"Missing `Fields` key in `{table}` table dictionary")
|
|
959
974
|
|
|
960
|
-
|
|
961
|
-
|
|
975
|
+
# Build dependency-ordered list of tables to create
|
|
976
|
+
# Tables with foreign keys must be created after their referenced tables
|
|
977
|
+
tableCreationList = []
|
|
962
978
|
auxiliaryTableList = []
|
|
963
979
|
|
|
964
|
-
|
|
980
|
+
# Get list of existing tables in the database to handle migrations
|
|
981
|
+
existingTablesResult = self._query("SHOW TABLES")
|
|
982
|
+
if not existingTablesResult["OK"]:
|
|
983
|
+
return existingTablesResult
|
|
984
|
+
existingTables = [t[0] for t in existingTablesResult["Value"]]
|
|
985
|
+
|
|
965
986
|
extracted = True
|
|
966
987
|
while tableList and extracted:
|
|
967
988
|
# iterate extracting tables from list if they only depend on
|
|
968
989
|
# already extracted tables.
|
|
969
990
|
extracted = False
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
tableCreationList.append([])
|
|
991
|
+
currentLevelTables = []
|
|
992
|
+
|
|
973
993
|
for table in list(tableList):
|
|
974
994
|
toBeExtracted = True
|
|
975
995
|
thisTable = tableDict[table]
|
|
976
996
|
if "ForeignKeys" in thisTable:
|
|
977
997
|
thisKeys = thisTable["ForeignKeys"]
|
|
978
998
|
for key, auxTable in thisKeys.items():
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
999
|
+
try:
|
|
1000
|
+
forTable, forKey = self._parseForeignKeyReference(auxTable, key)
|
|
1001
|
+
except ValueError as e:
|
|
1002
|
+
return S_ERROR(DErrno.EMYSQL, str(e))
|
|
1003
|
+
|
|
1004
|
+
# Check if the referenced table is either being created or already exists
|
|
1005
|
+
if forTable not in auxiliaryTableList and forTable not in existingTables:
|
|
984
1006
|
toBeExtracted = False
|
|
985
1007
|
break
|
|
986
1008
|
if key not in thisTable["Fields"]:
|
|
@@ -988,24 +1010,29 @@ class MySQL:
|
|
|
988
1010
|
DErrno.EMYSQL,
|
|
989
1011
|
f"ForeignKey `{key}` -> `{forKey}` not defined in Primary table `{table}`.",
|
|
990
1012
|
)
|
|
991
|
-
if
|
|
1013
|
+
# Only validate field existence if the referenced table is in tableDict
|
|
1014
|
+
if forTable in tableDict and forKey not in tableDict[forTable]["Fields"]:
|
|
992
1015
|
return S_ERROR(
|
|
993
1016
|
DErrno.EMYSQL,
|
|
994
|
-
"ForeignKey
|
|
995
|
-
% (key, forKey, forTable),
|
|
1017
|
+
f"ForeignKey `{key}` -> `{forKey}` not defined in Auxiliary table `{forTable}`.",
|
|
996
1018
|
)
|
|
997
1019
|
|
|
998
1020
|
if toBeExtracted:
|
|
999
1021
|
# self.log.debug('Table %s ready to be created' % table)
|
|
1000
1022
|
extracted = True
|
|
1001
1023
|
tableList.remove(table)
|
|
1002
|
-
|
|
1024
|
+
currentLevelTables.append(table)
|
|
1025
|
+
|
|
1026
|
+
if currentLevelTables:
|
|
1027
|
+
tableCreationList.append(currentLevelTables)
|
|
1028
|
+
auxiliaryTableList.extend(currentLevelTables)
|
|
1003
1029
|
|
|
1004
1030
|
if tableList:
|
|
1005
1031
|
return S_ERROR(DErrno.EMYSQL, f"Recursive Foreign Keys in {', '.join(tableList)}")
|
|
1006
1032
|
|
|
1007
|
-
|
|
1008
|
-
|
|
1033
|
+
# Create tables level by level
|
|
1034
|
+
for levelTables in tableCreationList:
|
|
1035
|
+
for table in levelTables:
|
|
1009
1036
|
# Check if Table exist
|
|
1010
1037
|
retDict = self.__checkTable(table, force=force)
|
|
1011
1038
|
if not retDict["OK"]:
|
|
@@ -1035,18 +1062,17 @@ class MySQL:
|
|
|
1035
1062
|
for index in indexDict:
|
|
1036
1063
|
indexedFields = "`, `".join(indexDict[index])
|
|
1037
1064
|
cmdList.append(f"UNIQUE INDEX `{index}` ( `{indexedFields}` )")
|
|
1065
|
+
|
|
1038
1066
|
if "ForeignKeys" in thisTable:
|
|
1039
1067
|
thisKeys = thisTable["ForeignKeys"]
|
|
1040
1068
|
for key, auxTable in thisKeys.items():
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1069
|
+
try:
|
|
1070
|
+
forTable, forKey = self._parseForeignKeyReference(auxTable, key)
|
|
1071
|
+
except ValueError as e:
|
|
1072
|
+
return S_ERROR(DErrno.EMYSQL, str(e))
|
|
1045
1073
|
|
|
1046
|
-
# cmdList.append( '`%s` %s' % ( forTable, tableDict[forTable]['Fields'][forKey] )
|
|
1047
1074
|
cmdList.append(
|
|
1048
|
-
"FOREIGN KEY (
|
|
1049
|
-
" ON DELETE RESTRICT" % (key, forTable, forKey)
|
|
1075
|
+
f"FOREIGN KEY ( `{key}` ) REFERENCES `{forTable}` ( `{forKey}` ) ON DELETE RESTRICT"
|
|
1050
1076
|
)
|
|
1051
1077
|
|
|
1052
1078
|
engine = thisTable.get("Engine", "InnoDB")
|
|
@@ -1058,7 +1084,7 @@ class MySQL:
|
|
|
1058
1084
|
engine,
|
|
1059
1085
|
charset,
|
|
1060
1086
|
)
|
|
1061
|
-
retDict = self.
|
|
1087
|
+
retDict = self._update(cmd)
|
|
1062
1088
|
if not retDict["OK"]:
|
|
1063
1089
|
return retDict
|
|
1064
1090
|
# self.log.debug('Table %s created' % table)
|
|
@@ -22,7 +22,7 @@ from DIRAC import S_OK, S_ERROR, gLogger, gConfig
|
|
|
22
22
|
from DIRAC.Core.Utilities import DErrno
|
|
23
23
|
from DIRAC.Core.Utilities.Adler import fileAdler, compareAdler
|
|
24
24
|
from DIRAC.Core.Utilities.File import makeGuid, getSize
|
|
25
|
-
from DIRAC.Core.Utilities.List import randomize
|
|
25
|
+
from DIRAC.Core.Utilities.List import randomize
|
|
26
26
|
from DIRAC.Core.Utilities.ReturnValues import returnSingleResult
|
|
27
27
|
from DIRAC.Core.Security.ProxyInfo import getProxyInfo
|
|
28
28
|
from DIRAC.Core.Security.ProxyInfo import getVOfromProxyGroup
|
|
@@ -1677,18 +1677,15 @@ class DataManager:
|
|
|
1677
1677
|
"""get replicas from catalogue and filter if requested
|
|
1678
1678
|
Warning: all filters are independent, hence active and preferDisk should be set if using forJobs
|
|
1679
1679
|
"""
|
|
1680
|
-
|
|
1681
|
-
failed = {}
|
|
1680
|
+
|
|
1682
1681
|
if not protocol:
|
|
1683
1682
|
protocol = self.registrationProtocol
|
|
1684
1683
|
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
else:
|
|
1691
|
-
return res
|
|
1684
|
+
res = self.fileCatalog.getReplicas(lfns, allStatus=allStatus)
|
|
1685
|
+
if not res["OK"]:
|
|
1686
|
+
return res
|
|
1687
|
+
catalogReplicas = res["Value"]["Successful"]
|
|
1688
|
+
failed = res["Value"]["Failed"]
|
|
1692
1689
|
if not getUrl:
|
|
1693
1690
|
for lfn in catalogReplicas:
|
|
1694
1691
|
catalogReplicas[lfn] = dict.fromkeys(catalogReplicas[lfn], True)
|
|
@@ -272,7 +272,7 @@ class FTS3Job(JSerializable):
|
|
|
272
272
|
|
|
273
273
|
# If the file is failed, check if it is recoverable
|
|
274
274
|
if file_state in FTS3File.FTS_FAILED_STATES:
|
|
275
|
-
if not fileDict.get("
|
|
275
|
+
if not fileDict.get("recoverable", True):
|
|
276
276
|
filesStatus[file_id]["status"] = "Defunct"
|
|
277
277
|
|
|
278
278
|
# If the file is not in a final state, but the job is, we return an error
|
|
@@ -400,7 +400,7 @@ class FTS3Job(JSerializable):
|
|
|
400
400
|
:return: S_OK( (job object, list of ftsFileIDs in the job))
|
|
401
401
|
"""
|
|
402
402
|
|
|
403
|
-
log = gLogger.
|
|
403
|
+
log = gLogger.getLocalSubLogger(f"constructTransferJob/{self.operationID}/{self.sourceSE}_{self.targetSE}")
|
|
404
404
|
|
|
405
405
|
isMultiHop = False
|
|
406
406
|
useTokens = False
|
|
@@ -411,6 +411,15 @@ class FTS3Job(JSerializable):
|
|
|
411
411
|
log.debug(f"Multihop job has {len(allLFNs)} files while only 1 allowed")
|
|
412
412
|
return S_ERROR(errno.E2BIG, "Trying multihop job with more than one file !")
|
|
413
413
|
allHops = [(self.sourceSE, self.multiHopSE), (self.multiHopSE, self.targetSE)]
|
|
414
|
+
if tokensEnabled:
|
|
415
|
+
tokensEnabled = all(
|
|
416
|
+
[
|
|
417
|
+
self.__seTokenSupport(StorageElement(seName))
|
|
418
|
+
for seName in (self.sourceSE, self.multiHopSE, self.targetSE)
|
|
419
|
+
]
|
|
420
|
+
)
|
|
421
|
+
if not tokensEnabled:
|
|
422
|
+
log.warn("Not using token because not all hop supports it")
|
|
414
423
|
isMultiHop = True
|
|
415
424
|
else:
|
|
416
425
|
allHops = [(self.sourceSE, self.targetSE)]
|
|
@@ -736,7 +745,7 @@ class FTS3Job(JSerializable):
|
|
|
736
745
|
:return: S_OK( (job object, list of ftsFileIDs in the job))
|
|
737
746
|
"""
|
|
738
747
|
|
|
739
|
-
log = gLogger.
|
|
748
|
+
log = gLogger.getLocalSubLogger(f"constructStagingJob/{self.operationID}/{self.targetSE}")
|
|
740
749
|
|
|
741
750
|
transfers = []
|
|
742
751
|
fileIDsInTheJob = set()
|
{dirac-9.0.14 → dirac-9.0.16}/src/DIRAC/FrameworkSystem/Service/SystemAdministratorHandler.py
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"""
|
|
2
|
-
|
|
1
|
+
"""SystemAdministrator service is a tool to control and monitor the DIRAC services and agents"""
|
|
2
|
+
|
|
3
3
|
import socket
|
|
4
4
|
import os
|
|
5
5
|
import re
|
|
@@ -254,17 +254,38 @@ class SystemAdministratorHandler(RequestHandler):
|
|
|
254
254
|
types_updateSoftware = [str]
|
|
255
255
|
|
|
256
256
|
def export_updateSoftware(self, version):
|
|
257
|
+
"""Update DIRAC, or its extension, to a version. Use extension_name==version for the DIRAC extension.
|
|
258
|
+
|
|
259
|
+
A version can be:
|
|
260
|
+
- a PEP440 valid version of DIRAC.
|
|
261
|
+
- a PEP440 valid version of a DIRAC extension.
|
|
262
|
+
- "integration" or "devel" or "master" or "main" would all be interpreted as git+https://github.com/DIRACGrid/DIRAC.git@integration#egg=DIRAC[server]
|
|
263
|
+
- a git tag/branch like git+https://github.com/fstagni/DIRAC.git@test_branch#egg=DIRAC[server]
|
|
264
|
+
"""
|
|
257
265
|
# Validate and normalise the requested version
|
|
258
266
|
primaryExtension = None
|
|
259
267
|
if "==" in version:
|
|
260
268
|
primaryExtension, version = version.split("==")
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
269
|
+
|
|
270
|
+
released_version = True
|
|
271
|
+
isPrerelease = False
|
|
272
|
+
|
|
273
|
+
# Special cases (e.g. installing the integration/main branch)
|
|
274
|
+
if version.lower() in ["integration", "devel", "master", "main"]:
|
|
275
|
+
released_version = False
|
|
276
|
+
version = "git+https://github.com/DIRACGrid/DIRAC.git@integration#egg=DIRAC[server]"
|
|
277
|
+
|
|
278
|
+
if released_version:
|
|
279
|
+
try:
|
|
280
|
+
version = Version(version)
|
|
281
|
+
isPrerelease = version.is_prerelease
|
|
282
|
+
version = f"v{version}"
|
|
283
|
+
except InvalidVersion:
|
|
284
|
+
if "https://" in version:
|
|
285
|
+
released_version = False
|
|
286
|
+
else:
|
|
287
|
+
self.log.exception("Invalid version passed", version)
|
|
288
|
+
return S_ERROR(f"Invalid version passed {version!r}")
|
|
268
289
|
|
|
269
290
|
# Find what to install
|
|
270
291
|
otherExtensions = []
|
|
@@ -290,10 +311,11 @@ class SystemAdministratorHandler(RequestHandler):
|
|
|
290
311
|
installer.flush()
|
|
291
312
|
self.log.info("Downloaded DIRACOS installer to", installer.name)
|
|
292
313
|
|
|
314
|
+
directory = version if released_version else version.split("@")[1].split("#")[0]
|
|
293
315
|
newProPrefix = os.path.join(
|
|
294
316
|
rootPath,
|
|
295
317
|
"versions",
|
|
296
|
-
f"{
|
|
318
|
+
f"{directory}-{datetime.utcnow().strftime('%s')}",
|
|
297
319
|
)
|
|
298
320
|
installPrefix = os.path.join(newProPrefix, f"{platform.system()}-{platform.machine()}")
|
|
299
321
|
self.log.info("Running DIRACOS installer for prefix", installPrefix)
|
|
@@ -313,7 +335,15 @@ class SystemAdministratorHandler(RequestHandler):
|
|
|
313
335
|
cmd = [f"{installPrefix}/bin/pip", "install", "--no-color", "-v"]
|
|
314
336
|
if isPrerelease:
|
|
315
337
|
cmd += ["--pre"]
|
|
316
|
-
|
|
338
|
+
if released_version:
|
|
339
|
+
cmd += [f"{primaryExtension}[server]=={version}"]
|
|
340
|
+
else:
|
|
341
|
+
# from here on we assume a version like git+https://github.com/DIRACGrid/DIRAC.git@integration#egg=DIRAC[server]
|
|
342
|
+
# is specified, for the primaryExtension
|
|
343
|
+
if not version.startswith("git+"):
|
|
344
|
+
version = f"git+{version}"
|
|
345
|
+
cmd += [version]
|
|
346
|
+
|
|
317
347
|
cmd += [f"{e}[server]" for e in otherExtensions]
|
|
318
348
|
r = subprocess.run(
|
|
319
349
|
cmd,
|
|
@@ -208,7 +208,9 @@ class Dirac(API):
|
|
|
208
208
|
return S_OK("Nothing to do")
|
|
209
209
|
|
|
210
210
|
#############################################################################
|
|
211
|
-
def getInputDataCatalog(
|
|
211
|
+
def getInputDataCatalog(
|
|
212
|
+
self, lfns, siteName="", fileName="pool_xml_catalog.xml", ignoreMissing=False, inputDataPolicy=None
|
|
213
|
+
):
|
|
212
214
|
"""This utility will create a pool xml catalogue slice for the specified LFNs using
|
|
213
215
|
the full input data resolution policy plugins for the VO.
|
|
214
216
|
|
|
@@ -228,6 +230,10 @@ class Dirac(API):
|
|
|
228
230
|
:type siteName: string
|
|
229
231
|
:param fileName: Catalogue name (can include path)
|
|
230
232
|
:type fileName: string
|
|
233
|
+
:param ignoreMissing: Flag to ignore missing files
|
|
234
|
+
:type ignoreMissing: bool
|
|
235
|
+
:param inputDataPolicy: Input data policy module to use
|
|
236
|
+
:type inputDataPolicy: string or None
|
|
231
237
|
:returns: S_OK,S_ERROR
|
|
232
238
|
|
|
233
239
|
"""
|
|
@@ -248,8 +254,8 @@ class Dirac(API):
|
|
|
248
254
|
|
|
249
255
|
self.log.verbose(localSEList)
|
|
250
256
|
|
|
251
|
-
|
|
252
|
-
if not
|
|
257
|
+
inputDataModule = Operations().getValue("InputDataPolicy/InputDataModule")
|
|
258
|
+
if not inputDataModule:
|
|
253
259
|
return self._errorReport("Could not retrieve /DIRAC/Operations/InputDataPolicy/InputDataModule for VO")
|
|
254
260
|
|
|
255
261
|
self.log.info(f"Attempting to resolve data for {siteName}")
|
|
@@ -279,11 +285,13 @@ class Dirac(API):
|
|
|
279
285
|
|
|
280
286
|
self.log.verbose(configDict)
|
|
281
287
|
argumentsDict = {"FileCatalog": resolvedData, "Configuration": configDict, "InputData": lfns}
|
|
288
|
+
if inputDataPolicy:
|
|
289
|
+
argumentsDict["Job"] = {"InputDataPolicy": inputDataPolicy}
|
|
282
290
|
if ignoreMissing:
|
|
283
291
|
argumentsDict["IgnoreMissing"] = True
|
|
284
292
|
self.log.verbose(argumentsDict)
|
|
285
293
|
|
|
286
|
-
result = self.objectLoader.loadObject(
|
|
294
|
+
result = self.objectLoader.loadObject(inputDataModule)
|
|
287
295
|
if not result["OK"]:
|
|
288
296
|
return result
|
|
289
297
|
module = result["Value"](argumentsDict)
|
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
"""
|
|
2
|
-
|
|
2
|
+
Job Base Class
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
This class provides generic job definition functionality suitable for any VO.
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
Helper functions are documented with example usage for the DIRAC API. An example
|
|
7
|
+
script (for a simple executable) would be::
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
from DIRAC.Interfaces.API.Dirac import Dirac
|
|
10
|
+
from DIRAC.Interfaces.API.Job import Job
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
j = Job()
|
|
13
|
+
j.setCPUTime(500)
|
|
14
|
+
j.setExecutable('/bin/echo hello')
|
|
15
|
+
j.setExecutable('yourPythonScript.py')
|
|
16
|
+
j.setExecutable('/bin/echo hello again')
|
|
17
|
+
j.setName('MyJobName')
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
dirac = Dirac()
|
|
20
|
+
jobID = dirac.submitJob(j)
|
|
21
|
+
print 'Submission Result: ',jobID
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Note that several executables can be provided and wil be executed sequentially.
|
|
24
24
|
"""
|
|
25
|
+
|
|
25
26
|
import os
|
|
26
27
|
import re
|
|
27
28
|
import shlex
|
|
@@ -517,6 +518,50 @@ class Job(API):
|
|
|
517
518
|
return S_OK()
|
|
518
519
|
|
|
519
520
|
#############################################################################
|
|
521
|
+
def setRAMRequirements(self, ramRequired: int = 0, maxRAM: int = 0):
|
|
522
|
+
"""Helper function.
|
|
523
|
+
Specify the RAM requirements for the job, in MB. 0 (default) means no specific requirements.
|
|
524
|
+
|
|
525
|
+
Example usage:
|
|
526
|
+
|
|
527
|
+
>>> job = Job()
|
|
528
|
+
>>> job.setRAMRequirements(ramRequired=2000)
|
|
529
|
+
means that the job needs at least 2 GBs of RAM to work. This is taken into consideration at job's matching time.
|
|
530
|
+
The job definition does not specify an upper limit.
|
|
531
|
+
From a user's point of view this is fine (normally, not for admins).
|
|
532
|
+
|
|
533
|
+
>>> job.setRAMRequirements(ramRequired=500, maxRAM=3800)
|
|
534
|
+
means that the job needs 500 MBs of RAM to work. 3.8 GBs will then be the upper limit for CG2 limits.
|
|
535
|
+
|
|
536
|
+
>>> job.setRAMRequirements(ramRequired=3200, maxRAM=3200)
|
|
537
|
+
means that we should match this job if there is at least 3.2 available GBs of run. At the same time, CG2 will not allow to use more than that.
|
|
538
|
+
|
|
539
|
+
>>> job.setRAMRequirements(maxRAM=4000)
|
|
540
|
+
means that the job does not set a min amount of RAM (so can match--run "everywhere"), but the 4 GBs will then be the upper limit for CG2 limits.
|
|
541
|
+
|
|
542
|
+
>>> job.setRAMRequirements(ramRequired=8000, maxRAM=4000)
|
|
543
|
+
Makes no sense, an error will be raised
|
|
544
|
+
"""
|
|
545
|
+
if ramRequired and maxRAM and ramRequired > maxRAM:
|
|
546
|
+
return self._reportError("Invalid settings, ramRequired is higher than maxRAM")
|
|
547
|
+
|
|
548
|
+
if ramRequired:
|
|
549
|
+
self._addParameter(
|
|
550
|
+
self.workflow,
|
|
551
|
+
"MinRAM",
|
|
552
|
+
"JDL",
|
|
553
|
+
ramRequired,
|
|
554
|
+
"MBs of RAM requested",
|
|
555
|
+
)
|
|
556
|
+
if maxRAM:
|
|
557
|
+
self._addParameter(
|
|
558
|
+
self.workflow,
|
|
559
|
+
"MaxRAM",
|
|
560
|
+
"JDL",
|
|
561
|
+
maxRAM,
|
|
562
|
+
"Max MBs of RAM to be used",
|
|
563
|
+
)
|
|
564
|
+
|
|
520
565
|
def setNumberOfProcessors(self, numberOfProcessors=None, minNumberOfProcessors=None, maxNumberOfProcessors=None):
|
|
521
566
|
"""Helper function to set the number of processors required by the job.
|
|
522
567
|
|
|
@@ -709,7 +754,7 @@ class Job(API):
|
|
|
709
754
|
Example usage:
|
|
710
755
|
|
|
711
756
|
>>> job = Job()
|
|
712
|
-
>>> job.setTag( ['WholeNode'
|
|
757
|
+
>>> job.setTag( ['WholeNode'] )
|
|
713
758
|
|
|
714
759
|
:param tags: single tag string or a list of tags
|
|
715
760
|
:type tags: str or python:list
|
|
@@ -106,7 +106,8 @@ class RequestTask:
|
|
|
106
106
|
userDN, userGroup, requiredTimeLeft=1200, cacheTime=4 * 43200
|
|
107
107
|
)
|
|
108
108
|
if not getProxy["OK"]:
|
|
109
|
-
|
|
109
|
+
self.log.error("unable to setup shifter proxy", f"{shifter}: {getProxy['Message']}")
|
|
110
|
+
continue
|
|
110
111
|
chain = getProxy["chain"]
|
|
111
112
|
fileName = getProxy["Value"]
|
|
112
113
|
self.log.debug(f"got {shifter}: {userName} {userGroup}")
|