CTADIRAC 3.0.8.dev4__tar.gz → 3.0.9__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.
- {ctadirac-3.0.8.dev4/src/CTADIRAC.egg-info → ctadirac-3.0.9}/PKG-INFO +1 -1
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CWLJob.py +4 -7
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/Utilities/CWLTranslator.py +93 -67
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/_version.py +3 -3
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9/src/CTADIRAC.egg-info}/PKG-INFO +1 -1
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/camera_calibration_inputs.yaml +4 -4
- ctadirac-3.0.9/tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml +9 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/test_cwl_job.py +37 -20
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/test_cwl_translator.py +18 -9
- ctadirac-3.0.8.dev4/tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml +0 -9
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/CODEOWNERS +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/LICENCE +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/MANIFEST.in +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/README.md +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/aiv-config.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/ctadirac_requirements_traceability_matrix.csv +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docker/dirac-client/Dockerfile +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docker/dirac-client/EGI-trustanchors.repo +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docker/dirac-client/Entrypoint.sh +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/examples/dl0_to_dl2_example.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/examples/mc_example.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/examples/process_corsika_with_sim_telarray.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/examples/testJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/install_CTADIRAC.md +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/install_client.md +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/docs/install_site_desy.cfg +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/environment.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/pylint.log +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/pyproject.toml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/release.notes +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/releases.cfg +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/report/inspection.tex +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/report/performance_verification.tex +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/report/preamble.tex +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/setup.cfg +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/sonar-project.properties +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/Agent/StorageMonitorAgent.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/Agent/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/ConfigTemplate.cfg +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/SoftwareManager.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/return_values.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/tool_box.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Utilities/typer_callbacks.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Workflow/Modules/ProdDataManager.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Workflow/Modules/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Workflow/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_dms_check_lfn.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_job_get_parameter.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_add_dataset.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_add_file.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_add_prov.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_check_replicas.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_create_dataset_description.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_create_evndisp_dataset_description.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_dump_dataset.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_failure_monitor.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_find_datasets.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_fix_nsb.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_file.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_file_by_query.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_file_size.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_merge_size.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_replicas.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_get_se_status.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_git_clone.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_init_prov.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_managedata.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_mark_corrupted_DL0.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_monitor.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_dl2.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_file.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_dataset.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_file.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_remove_replica.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_replicate_lfn.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_set_metadata.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_setup_software.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_show_dataset.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset_bulk.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_unregister_file.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_unregister_replica.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_update_dataset.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_prod_verifysteps.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_rms_request.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_add_files.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_clean.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_delete.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_get_files.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_get_tasks.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset_status.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_move_files.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_remove_dataset.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_remove_files.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_remove_replicas.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_select.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_show_progress.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_treat_done_tasks.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_treat_failed_tasks.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_treat_incomplete_transfers.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_transformation_treat_problematic_files.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/scripts/cta_user_managedata.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTADMSRequestOperationsBase.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARegisterReplica.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARemoveReplica.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTAReplicateAndRegister.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Agent/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Client/ProvBase.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Client/ProvClient.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/Client/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/ConfigTemplate.cfg +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/DB/ProvenanceDB.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/DB/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/ProvenanceManagerHandler.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/private/JSONUtils.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/DataManagementSystem/private/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CTAJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeApplyModelsJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeMergeJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeProcessJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeTrainClassifierJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/CtapipeTrainEnergyJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/EvnDispJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/MCPipeJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/MCSimTelProcessJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/SimPipeJob.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/API/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/Utilities/CWLUtilities.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Interfaces/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/CWLUtils.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflow.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflowStep.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/README.md +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata-processing.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/setup-software-processing.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/setup-software.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/setup-software.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.png +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Client/Utilities/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Client/Utilities/production_utils.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Client/WorkflowElement.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Client/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/DB/ProductionDB.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/DB/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/Service/ProductionManagerHandler.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/processing_config_from_meta_query.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/apply_models.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_classifier.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_energy.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/apply_models.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_classifier.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_energy.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/apply_models.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_classifier.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_energy.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/apply_models.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_classifier.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_energy.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/apply_models.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/merge.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_classifier.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_energy.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/apply_models_all_div.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.0022.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.0043.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.008.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.01135.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.01453.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0022.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0043.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.008.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01135.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01453.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_classifier_all_div.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_energy_all_div.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/simulation/sim_test.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_config.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_evndisp_config.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_get_all.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl_workflow.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ProductionSystem/test/test_launcher_from_cwl.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Agent/TransformationFailoverAgent.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Agent/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/ConfigTemplate.cfg +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/DB/TransformationDB.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/DB/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Service/TornadoTransformationManagerHandler.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Service/TransformationManagerHandler.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Service/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/TransformationSystem/Utils/FailoverUtilities.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Workflow/Modules/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Workflow/Modules/cta_script.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Workflow/Modules/cta_update_ts.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Workflow/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/WorkloadManagementSystem/Client/CTAODownloadInputData.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/WorkloadManagementSystem/Client/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/WorkloadManagementSystem/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/_dev/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/version.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/SOURCES.txt +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/dependency_links.txt +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/entry_points.txt +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/requires.txt +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC.egg-info/top_level.txt +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/calibpipe-camcalib-tool.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/ctapipe-merge-tool.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/ctapipe-pix-stats-tool.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/ctapipe-process-tool.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/perform-camera-calibration.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/utils/copy-file.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/complex_workflow/utils/select-input.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/inputs_process_multiple.yaml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/internal/output_names.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/merge.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool/process_dl0_dl1_multiple.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/inputs_process_multiple.yaml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/internal/output_names.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/merge.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1_multiple.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/scatter_feat_requirement/merge.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1_multiple.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/single_command_line_tool/inputs_process_dl0_dl1.yaml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/single_command_line_tool/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/step_input_requirement/inputs_workflow_dl0_to_dl2.yaml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/step_input_requirement/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/step_input_requirement/process_dl1_dl2.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/resources/cwl/step_input_requirement/workflow_dl0_to_dl2.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/cta-prod-managedata-processing.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/cta-prod-managedata.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/cta-prod-managedata.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_ctapipe-process_wrapper +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_prod_run +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_prod_run.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/dirac_prod_run.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/setup-software-processing.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/setup-software.cwl +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/CWL/setup-software.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/config/full_production_config.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/config/processing_merging_config_from_dataset.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/config/production_config.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/datasets/Prod5b_LaPalma_AdvancedBaseline_NSB1x_electron_North_20deg_R1.json +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/datasets/Prod6_Paranal_gamma_South_20deg.json +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/runTestSuite.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testDMSDefinitions.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testFileCatalogDefinitions.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testJobDefinitions.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testJobUtils.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testProdDefinitions.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testSuiteDefinition.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/system/testTransDefinitions.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/test_cwl_utils.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/api/test_job.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/core/utilities/test_tool_box.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/core/workflow/modules/test_prod_data_manager.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/production/__init__.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/production/test_prod_submit_utils.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/production/test_workflow_element.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/scripts/core/test_cta_get_job_parameter.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/scripts/production_system/test_production_scripts.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/scripts/test_typer_callbacks.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/test_dummy.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/transformation/agent/test_transformation_agents.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/transformation/agent/test_transformation_failover_utils.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/tests/unit/workload_management/client/test_ctao_download_inputdata.py +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/ci/env/coverage.yml +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/cvmfs/build_corsika-77410-original.sh +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/cvmfs/build_corsika-77410.sh +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/README.md +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/bin/install-ctadirac-server.sh +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/caUtilities/openssl_config_ca.cnf +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/caUtilities/openssl_config_host.cnf +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/caUtilities/openssl_config_user.cnf +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/caUtilities/utilities.sh +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/EGI-trustanchors.repo +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/dirac_example.cfg +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/kill_runsv.sh +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/runsvdir-start +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/runsvdir-start.service +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/site.conf +0 -0
- {ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/utils/deploy/files/web_app_example.cfg +0 -0
|
@@ -7,7 +7,6 @@ from cwl_utils.parser import save
|
|
|
7
7
|
from DIRAC.Interfaces.API.Dirac import Dirac
|
|
8
8
|
from DIRAC.Interfaces.API.Job import Job
|
|
9
9
|
from ruamel.yaml import YAML
|
|
10
|
-
|
|
11
10
|
from CTADIRAC.Interfaces.Utilities.CWLTranslator import CWLTranslator
|
|
12
11
|
|
|
13
12
|
|
|
@@ -32,11 +31,10 @@ class CWLJob(Job, CWLTranslator):
|
|
|
32
31
|
) -> None:
|
|
33
32
|
Job.__init__(self)
|
|
34
33
|
CWLTranslator.__init__(self, cwl_workflow, cwl_inputs)
|
|
35
|
-
|
|
34
|
+
self.logfile_name = "cwl_job"
|
|
36
35
|
self.cvmfs_base_path = cvmfs_base_path
|
|
37
36
|
self.apptainer_options = apptainer_options if apptainer_options else []
|
|
38
37
|
self._output_se = output_se
|
|
39
|
-
|
|
40
38
|
self.translate(self.cvmfs_base_path, self.apptainer_options)
|
|
41
39
|
|
|
42
40
|
def submit(self):
|
|
@@ -48,14 +46,12 @@ class CWLJob(Job, CWLTranslator):
|
|
|
48
46
|
"""
|
|
49
47
|
dirac = Dirac()
|
|
50
48
|
yaml = YAML()
|
|
51
|
-
|
|
52
49
|
# Create the modified Dirac compliant CWL workflow and inputs files to submit
|
|
53
50
|
with tempfile.NamedTemporaryFile(
|
|
54
51
|
suffix=f"_{self.cwl_workflow_path.name}"
|
|
55
52
|
) as temp_workflow:
|
|
56
53
|
yaml.dump(save(self.transformed_cwl), temp_workflow)
|
|
57
54
|
temp_workflow.flush()
|
|
58
|
-
|
|
59
55
|
with tempfile.NamedTemporaryFile(
|
|
60
56
|
suffix=f"_{self.cwl_inputs_path.name}"
|
|
61
57
|
) as temp_inputs:
|
|
@@ -76,9 +72,10 @@ class CWLJob(Job, CWLTranslator):
|
|
|
76
72
|
arguments_str = (
|
|
77
73
|
f"{Path(temp_workflow.name).name} {Path(temp_inputs.name).name}"
|
|
78
74
|
)
|
|
79
|
-
|
|
80
75
|
self.setExecutable(
|
|
81
|
-
"cwltool",
|
|
76
|
+
"cwltool",
|
|
77
|
+
arguments=arguments_str,
|
|
78
|
+
logFile=f"{self.logfile_name}.log",
|
|
82
79
|
)
|
|
83
80
|
res = dirac.submitJob(self)
|
|
84
81
|
return res
|
|
@@ -95,12 +95,12 @@ class CWLTranslator:
|
|
|
95
95
|
apptainer_options : list[Any]
|
|
96
96
|
A list of options for Apptainer.
|
|
97
97
|
"""
|
|
98
|
-
|
|
98
|
+
self._extract_input_files(self.original_inputs)
|
|
99
99
|
if self.transformed_cwl.hints:
|
|
100
100
|
self.transformed_cwl = self._translate_docker_hints(
|
|
101
101
|
self.transformed_cwl, cvmfs_base_path, apptainer_options
|
|
102
102
|
)
|
|
103
|
-
|
|
103
|
+
|
|
104
104
|
self._extract_output_files(self.transformed_cwl, self.original_inputs)
|
|
105
105
|
|
|
106
106
|
def _translate_workflow(
|
|
@@ -115,41 +115,42 @@ class CWLTranslator:
|
|
|
115
115
|
apptainer_options : list[Any]
|
|
116
116
|
A list of options for Apptainer.
|
|
117
117
|
"""
|
|
118
|
-
# Need to set the file basename for JSReq:
|
|
119
|
-
self.transformed_inputs = set_input_file_basename(self.transformed_inputs)
|
|
120
|
-
self.transformed_inputs = fill_defaults(
|
|
121
|
-
self.transformed_cwl, self.transformed_inputs
|
|
122
|
-
)
|
|
123
118
|
# Extract the DIRAC related
|
|
124
|
-
self.
|
|
125
|
-
|
|
126
|
-
self.evaluated_steps_outputs = {}
|
|
119
|
+
self._extract_input_files(self.original_inputs)
|
|
120
|
+
# Need to set the file basename for JSReq:
|
|
127
121
|
steps_inputs = deepcopy(self.transformed_inputs)
|
|
122
|
+
self.evaluated_steps_outputs = {}
|
|
128
123
|
for n, wf_step in enumerate(self.transformed_cwl.steps):
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
124
|
+
# TODO: handle the case where the step is also a workflow
|
|
125
|
+
if isinstance(wf_step.run, (CommandLineTool, ExpressionTool)):
|
|
126
|
+
step_name = wf_step.id.rpartition("#")[2].split("/")[0]
|
|
127
|
+
self.current_step_name = step_name
|
|
128
|
+
self.evaluated_steps_outputs.setdefault(step_name, {})
|
|
129
|
+
# replace docker hints
|
|
130
|
+
if isinstance(wf_step, CommandLineTool) and wf_step.run.hints:
|
|
131
|
+
self.transformed_cwl.steps[n].run = self._translate_docker_hints(
|
|
132
|
+
wf_step.run, cvmfs_base_path, apptainer_options
|
|
133
|
+
)
|
|
134
|
+
# Update the input context for next steps
|
|
135
|
+
steps_inputs = fill_defaults(wf_step.run, steps_inputs)
|
|
136
|
+
steps_inputs = set_input_file_basename(steps_inputs)
|
|
137
|
+
steps_inputs = self._evaluate_step_inputs(wf_step, steps_inputs)
|
|
138
|
+
|
|
139
|
+
# Evaluate step outputs
|
|
140
|
+
# specific evaluation if the step is an ExpressionTool
|
|
141
|
+
if isinstance(wf_step.run, ExpressionTool):
|
|
142
|
+
exptool_outputs = self._evaluate_expression_tool_outputs(
|
|
143
|
+
self.unpacked_cwl, wf_step, steps_inputs, step_name
|
|
144
|
+
)
|
|
145
|
+
self.evaluated_steps_outputs[step_name] = exptool_outputs
|
|
146
|
+
else:
|
|
147
|
+
self._evaluate_step_outputs(wf_step, steps_inputs)
|
|
148
|
+
elif isinstance(wf_step, Workflow):
|
|
149
|
+
raise NotImplementedError("Workflow steps are not handle yet...")
|
|
150
|
+
|
|
151
151
|
# Finally extract the DIRAC related outputs
|
|
152
152
|
self._extract_workflow_outputs()
|
|
153
|
+
self.remove_lfns_from_transformed_inputs()
|
|
153
154
|
|
|
154
155
|
@staticmethod
|
|
155
156
|
def _translate_docker_hints(
|
|
@@ -230,6 +231,7 @@ class CWLTranslator:
|
|
|
230
231
|
list | dict[str, Any] | None
|
|
231
232
|
Evaluated CWL File or list of CWL File
|
|
232
233
|
"""
|
|
234
|
+
transformed_inputs = deepcopy(self.transformed_inputs)
|
|
233
235
|
inp_id = inp.id.rpartition("#")[2].split("/")[-1]
|
|
234
236
|
if inp.valueFrom:
|
|
235
237
|
# evaluate if it is a JS exp
|
|
@@ -300,8 +302,8 @@ class CWLTranslator:
|
|
|
300
302
|
):
|
|
301
303
|
# TODO: can that be a list?
|
|
302
304
|
return self.evaluated_steps_outputs[step_ref][source]
|
|
303
|
-
elif inp_source[0] in save(
|
|
304
|
-
return save(
|
|
305
|
+
elif inp_source[0] in save(transformed_inputs):
|
|
306
|
+
return save(transformed_inputs)[inp_source[0]]
|
|
305
307
|
elif inp_source[0] in input_context:
|
|
306
308
|
return input_context[inp_source[0]]
|
|
307
309
|
|
|
@@ -544,40 +546,64 @@ class CWLTranslator:
|
|
|
544
546
|
|
|
545
547
|
return expr_inputs
|
|
546
548
|
|
|
547
|
-
def
|
|
548
|
-
"""
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
549
|
+
def remove_lfns_from_transformed_inputs(self):
|
|
550
|
+
"""Remove 'lfn' prefix from inputs name in tranformed inputs."""
|
|
551
|
+
for inp_name, inp_value in self.transformed_inputs.items():
|
|
552
|
+
if isinstance(inp_value, list):
|
|
553
|
+
for index, val in enumerate(inp_value):
|
|
554
|
+
if isinstance(val, str) and self.transformed_inputs[inp_name][
|
|
555
|
+
index
|
|
556
|
+
].startswith(LFN_PREFIX):
|
|
557
|
+
# Update the transformed cwl lfn filename
|
|
558
|
+
self.transformed_inputs[inp_name][index] = Path(
|
|
559
|
+
val.removeprefix(LFN_PREFIX)
|
|
560
|
+
).name
|
|
561
|
+
elif isinstance(inp_value, str) and self.transformed_inputs[
|
|
562
|
+
inp_name
|
|
563
|
+
].startswith(LFN_PREFIX):
|
|
564
|
+
# Update the transformed cwl lfn filename
|
|
565
|
+
self.transformed_inputs[inp_name] = Path(
|
|
566
|
+
inp_value.removeprefix(LFN_PREFIX)
|
|
567
|
+
).name
|
|
552
568
|
|
|
553
|
-
|
|
554
|
-
|
|
569
|
+
def _extract_input_files(self, cwl_inputs: dict):
|
|
570
|
+
"""Extract input sandboxes/data inputs.
|
|
555
571
|
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
572
|
+
Parameters
|
|
573
|
+
----------
|
|
574
|
+
inputs : dict
|
|
575
|
+
CWL inputs
|
|
576
|
+
"""
|
|
577
|
+
inputs = deepcopy(cwl_inputs)
|
|
578
|
+
for inp_name, inp_value in inputs.items():
|
|
579
|
+
if isinstance(inp_value, list):
|
|
580
|
+
for index, val in enumerate(inp_value):
|
|
581
|
+
if isinstance(val, File):
|
|
582
|
+
self._fill_dirac_inputs(val)
|
|
583
|
+
# Update the transformed cwl input file
|
|
584
|
+
self.transformed_inputs[inp_name][index].path = Path(
|
|
585
|
+
val.path
|
|
586
|
+
).name
|
|
587
|
+
elif isinstance(inp_value, File):
|
|
588
|
+
self._fill_dirac_inputs(inp_value)
|
|
589
|
+
# Update the transformed cwl input file
|
|
590
|
+
self.transformed_inputs[inp_name].path = Path(inp_value.path).name
|
|
591
|
+
|
|
592
|
+
def _fill_dirac_inputs(self, input_file: File):
|
|
593
|
+
"""Fill DIRAC input sanbox and data lists.
|
|
560
594
|
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
if isinstance(file, File):
|
|
574
|
-
file.path = rewrite_file_path(file)
|
|
575
|
-
elif isinstance(input_value, File):
|
|
576
|
-
input_value.path = rewrite_file_path(input_value)
|
|
577
|
-
elif isinstance(input_value, str) and input_value.startswith(LFN_PREFIX):
|
|
578
|
-
self.transformed_inputs[key] = Path(
|
|
579
|
-
input_value.removeprefix(LFN_PREFIX)
|
|
580
|
-
).name
|
|
595
|
+
Parameters
|
|
596
|
+
----------
|
|
597
|
+
input_value : File
|
|
598
|
+
File input
|
|
599
|
+
"""
|
|
600
|
+
if input_file.path.startswith(LFN_PREFIX):
|
|
601
|
+
self.input_data.append(
|
|
602
|
+
input_file.path.replace(LFN_PREFIX, LFN_DIRAC_PREFIX)
|
|
603
|
+
)
|
|
604
|
+
else:
|
|
605
|
+
sandbox = Path(input_file.path.replace(LOCAL_PREFIX, ""))
|
|
606
|
+
self.input_sandbox.append(str(sandbox.absolute()))
|
|
581
607
|
|
|
582
608
|
def _translate_sandboxes_and_lfns(self, file: File | str) -> tuple[str, bool]:
|
|
583
609
|
"""Extract local files as sandboxes and lfns as input data.
|
|
@@ -619,7 +645,7 @@ class CWLTranslator:
|
|
|
619
645
|
if isinstance(output_value, list):
|
|
620
646
|
for out in output_value:
|
|
621
647
|
self._fill_dirac_outputs(out)
|
|
622
|
-
|
|
648
|
+
elif output_value:
|
|
623
649
|
self._fill_dirac_outputs(output_value)
|
|
624
650
|
|
|
625
651
|
def _fill_dirac_outputs(self, output_value: dict):
|
|
@@ -629,7 +655,7 @@ class CWLTranslator:
|
|
|
629
655
|
----------
|
|
630
656
|
output_value : dict
|
|
631
657
|
"""
|
|
632
|
-
if output_value.get("class", None) == "File":
|
|
658
|
+
if isinstance(output_value, dict) and output_value.get("class", None) == "File":
|
|
633
659
|
if output_value.get("path", "").startswith(LFN_PREFIX):
|
|
634
660
|
self.output_data.append(
|
|
635
661
|
output_value.get("path", "").replace(LFN_PREFIX, LFN_DIRAC_PREFIX)
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '3.0.
|
|
32
|
-
__version_tuple__ = version_tuple = (3, 0,
|
|
31
|
+
__version__ = version = '3.0.9'
|
|
32
|
+
__version_tuple__ = version_tuple = (3, 0, 9)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g119582918'
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
dl0_pedestal_data:
|
|
2
2
|
- class: File
|
|
3
|
-
path: test/data/pedestals_LST_dark.simtel.gz
|
|
3
|
+
path: lfn:///ctao/test/data/pedestals_LST_dark.simtel.gz
|
|
4
4
|
- class: File
|
|
5
|
-
path: test/data/pedestals_LST_half_moon.simtel.gz
|
|
5
|
+
path: lfn:///ctao/test/data/pedestals_LST_half_moon.simtel.gz
|
|
6
6
|
dl0_flatfield_data:
|
|
7
7
|
- class: File
|
|
8
|
-
path: test/data/flasher_LST_dark.simtel.gz
|
|
8
|
+
path: lfn:///ctao/test/data/flasher_LST_dark.simtel.gz
|
|
9
9
|
- class: File
|
|
10
|
-
path: test/data/flasher_LST_half_moon.simtel.gz
|
|
10
|
+
path: lfn:///ctao/test/data/flasher_LST_half_moon.simtel.gz
|
|
11
11
|
ped_process_config:
|
|
12
12
|
- class: File
|
|
13
13
|
path: test/config/process_pedestal.yaml
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
input_files:
|
|
2
|
+
- "class": "File"
|
|
3
|
+
"path": "lfn:///ctao.dpps.test/test/gamma_1.dl1_img.h5"
|
|
4
|
+
- "class": "File"
|
|
5
|
+
"path": "lfn:///ctao.dpps.test/test/gamma_2.dl1_img.h5"
|
|
6
|
+
|
|
7
|
+
intermediate_filenames: ["gamma_1.dl1.h5", "gamma_2.dl1.h5"]
|
|
8
|
+
|
|
9
|
+
output_filename: "lfn:///ctao.dpps.test/test/merged.dl1.h5"
|
|
@@ -242,7 +242,7 @@ def test_datapipe_cwl_job(mock_submit_job):
|
|
|
242
242
|
assert save(job.transformed_inputs) == {
|
|
243
243
|
"dl0": {"class": "File", "path": "gamma_cone10_run010000.simtel.zst"},
|
|
244
244
|
"processing_config": {"class": "File", "path": "process_config.yaml"},
|
|
245
|
-
"dl1_filename": "test.dl1.h5",
|
|
245
|
+
"dl1_filename": "lfn:///ctao/datapipe/test.dl1.h5",
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
result = job.submit()
|
|
@@ -278,35 +278,47 @@ def test_datapipe_cwl_workflow_job(mock_submit_job):
|
|
|
278
278
|
"tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml",
|
|
279
279
|
cvmfs_base_path=CVMFS_BASE_PATH,
|
|
280
280
|
)
|
|
281
|
-
assert len(job.input_data) == 0
|
|
282
281
|
|
|
283
|
-
assert len(job.input_sandbox) ==
|
|
284
|
-
assert INPUT_1 in job.input_sandbox[0]
|
|
285
|
-
assert INPUT_2 in job.input_sandbox[1]
|
|
282
|
+
assert len(job.input_sandbox) == 0
|
|
286
283
|
|
|
287
|
-
assert
|
|
284
|
+
assert job.input_data == [
|
|
285
|
+
f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/gamma_1.dl1_img.h5",
|
|
286
|
+
f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/gamma_2.dl1_img.h5",
|
|
287
|
+
]
|
|
288
|
+
|
|
289
|
+
assert job.output_data == [f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/merged.dl1.h5"]
|
|
288
290
|
assert job.output_sandbox == [
|
|
289
|
-
MERGED_OUTPUT,
|
|
290
291
|
MERGE_LOG,
|
|
291
292
|
MERGE_PROVENANCE_LOG,
|
|
292
293
|
]
|
|
293
294
|
|
|
295
|
+
# Ensure the transformed inputs are correctly transformed
|
|
296
|
+
for input_file in job.transformed_inputs["input_files"]:
|
|
297
|
+
assert input_file.path in ["gamma_1.dl1_img.h5", "gamma_2.dl1_img.h5"]
|
|
298
|
+
|
|
299
|
+
assert job.transformed_inputs["output_filename"] == "merged.dl1.h5"
|
|
300
|
+
|
|
294
301
|
result = job.submit()
|
|
295
302
|
mock_submit_job.assert_called_once_with(job)
|
|
296
303
|
result_xml = ET.fromstring(result)
|
|
297
304
|
|
|
298
305
|
input_data = get_list(result_xml, "InputData")
|
|
299
|
-
assert input_data == [
|
|
306
|
+
assert input_data == [
|
|
307
|
+
f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/gamma_1.dl1_img.h5",
|
|
308
|
+
f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/gamma_2.dl1_img.h5",
|
|
309
|
+
]
|
|
300
310
|
|
|
301
311
|
input_sandbox = get_list(result_xml, "InputSandbox")
|
|
302
|
-
assert len(input_sandbox) ==
|
|
312
|
+
assert len(input_sandbox) == 2 # cwl + inputs + input_sandbox
|
|
303
313
|
|
|
304
314
|
output_data = get_list(result_xml, "OutputData")
|
|
305
|
-
assert
|
|
315
|
+
assert output_data == [f"{LFN_DIRAC_PREFIX}/ctao.dpps.test/test/merged.dl1.h5"]
|
|
306
316
|
|
|
307
317
|
output_sandbox = get_list(result_xml, "OutputSandbox")
|
|
308
|
-
assert
|
|
309
|
-
|
|
318
|
+
assert output_sandbox == [
|
|
319
|
+
MERGE_LOG,
|
|
320
|
+
MERGE_PROVENANCE_LOG,
|
|
321
|
+
]
|
|
310
322
|
|
|
311
323
|
|
|
312
324
|
# TODO: parametrize with the above test?
|
|
@@ -427,10 +439,10 @@ def test_expression_tool(mock_submit_job):
|
|
|
427
439
|
|
|
428
440
|
|
|
429
441
|
CAMERA_CALIBRATION_INPUT_SANDBOXES = [
|
|
430
|
-
str(Path("test/data/pedestals_LST_dark.simtel.gz").absolute()),
|
|
431
|
-
str(Path("test/data/pedestals_LST_half_moon.simtel.gz").absolute()),
|
|
432
|
-
str(Path("test/data/flasher_LST_dark.simtel.gz").absolute()),
|
|
433
|
-
str(Path("test/data/flasher_LST_half_moon.simtel.gz").absolute()),
|
|
442
|
+
# str(Path("test/data/pedestals_LST_dark.simtel.gz").absolute()),
|
|
443
|
+
# str(Path("test/data/pedestals_LST_half_moon.simtel.gz").absolute()),
|
|
444
|
+
# str(Path("test/data/flasher_LST_dark.simtel.gz").absolute()),
|
|
445
|
+
# str(Path("test/data/flasher_LST_half_moon.simtel.gz").absolute()),
|
|
434
446
|
str(Path("test/config/process_pedestal.yaml").absolute()),
|
|
435
447
|
str(Path("test/config/process_flatfield.yaml").absolute()),
|
|
436
448
|
str(Path("test/config/merge_config.yaml").absolute()),
|
|
@@ -446,7 +458,12 @@ CAMERA_CALIBRATION_OUTPUT_SANDBOXES = [
|
|
|
446
458
|
"camera_calibration_lst1.mon.dl1.h5",
|
|
447
459
|
]
|
|
448
460
|
CAMERA_CALIBRATION_OUTPUT_DATA = []
|
|
449
|
-
CAMERA_CALIBRATION_INPUT_DATA = [
|
|
461
|
+
CAMERA_CALIBRATION_INPUT_DATA = [
|
|
462
|
+
f"{LFN_DIRAC_PREFIX}/ctao/test/data/pedestals_LST_dark.simtel.gz",
|
|
463
|
+
f"{LFN_DIRAC_PREFIX}/ctao/test/data/pedestals_LST_half_moon.simtel.gz",
|
|
464
|
+
f"{LFN_DIRAC_PREFIX}/ctao/test/data/flasher_LST_dark.simtel.gz",
|
|
465
|
+
f"{LFN_DIRAC_PREFIX}/ctao/test/data/flasher_LST_half_moon.simtel.gz",
|
|
466
|
+
]
|
|
450
467
|
|
|
451
468
|
|
|
452
469
|
@pytest.mark.parametrize(
|
|
@@ -493,13 +510,13 @@ def test_complex_workflow(
|
|
|
493
510
|
result_xml = ET.fromstring(result)
|
|
494
511
|
|
|
495
512
|
input_data = get_list(result_xml, "InputData")
|
|
496
|
-
assert input_data ==
|
|
513
|
+
assert set(input_data) == set(expected_input_data)
|
|
497
514
|
|
|
498
515
|
input_sandbox = get_list(result_xml, "InputSandbox")
|
|
499
|
-
assert len(input_sandbox) ==
|
|
516
|
+
assert len(input_sandbox) == 9 # cwl + inputs + input_sandbox
|
|
500
517
|
|
|
501
518
|
output_data = get_list(result_xml, "OutputData")
|
|
502
519
|
assert len(output_data) == 0
|
|
503
520
|
|
|
504
521
|
output_sandbox = get_list(result_xml, "OutputSandbox")
|
|
505
|
-
assert
|
|
522
|
+
assert output_sandbox == expected_output_sandbox
|
|
@@ -213,7 +213,7 @@ def test_translate_docker_hints(
|
|
|
213
213
|
{"input1": File(path=LOCAL_PREFIX + "test_local_file.txt")},
|
|
214
214
|
{
|
|
215
215
|
"transformed_inputs": {"input1": File(path="test_local_file.txt")},
|
|
216
|
-
"input_sandbox": ["test_local_file.txt"],
|
|
216
|
+
"input_sandbox": [str(Path("test_local_file.txt").absolute())],
|
|
217
217
|
"input_data": [],
|
|
218
218
|
},
|
|
219
219
|
),
|
|
@@ -231,7 +231,7 @@ def test_translate_docker_hints(
|
|
|
231
231
|
File(path="test_local_file1.txt"),
|
|
232
232
|
]
|
|
233
233
|
},
|
|
234
|
-
"input_sandbox": ["test_local_file1.txt"],
|
|
234
|
+
"input_sandbox": [str(Path("test_local_file1.txt").absolute())],
|
|
235
235
|
"input_data": [LFN_DIRAC_PREFIX + "/ctao/test_lfn_file1.txt"],
|
|
236
236
|
},
|
|
237
237
|
),
|
|
@@ -253,7 +253,10 @@ def test_translate_docker_hints(
|
|
|
253
253
|
File(path="test_local_file3.txt"),
|
|
254
254
|
],
|
|
255
255
|
},
|
|
256
|
-
"input_sandbox": [
|
|
256
|
+
"input_sandbox": [
|
|
257
|
+
str(Path("test_local_file2.txt").absolute()),
|
|
258
|
+
str(Path("test_local_file3.txt").absolute()),
|
|
259
|
+
],
|
|
257
260
|
"input_data": [
|
|
258
261
|
LFN_DIRAC_PREFIX + "/ctao/test_lfn_file2.txt",
|
|
259
262
|
LFN_DIRAC_PREFIX + "/ctao/test_lfn_file3.txt",
|
|
@@ -272,7 +275,9 @@ def test_translate_docker_hints(
|
|
|
272
275
|
File(path="test_local_file1.txt"),
|
|
273
276
|
]
|
|
274
277
|
},
|
|
275
|
-
"input_sandbox": [
|
|
278
|
+
"input_sandbox": [
|
|
279
|
+
str(Path("some/path/test_local_file1.txt").absolute())
|
|
280
|
+
],
|
|
276
281
|
"input_data": [],
|
|
277
282
|
},
|
|
278
283
|
),
|
|
@@ -284,7 +289,9 @@ def test_translate_docker_hints(
|
|
|
284
289
|
"transformed_inputs": {
|
|
285
290
|
"input1": File(path="test_local_file1.txt"),
|
|
286
291
|
},
|
|
287
|
-
"input_sandbox": [
|
|
292
|
+
"input_sandbox": [
|
|
293
|
+
str(Path("some/path/test_local_file1.txt").absolute())
|
|
294
|
+
],
|
|
288
295
|
"input_data": [],
|
|
289
296
|
},
|
|
290
297
|
),
|
|
@@ -297,22 +304,24 @@ def test_translate_docker_hints(
|
|
|
297
304
|
{
|
|
298
305
|
"transformed_inputs": {
|
|
299
306
|
"input1": File(path="test_local_file1.txt"),
|
|
300
|
-
"input2": "test.h5",
|
|
307
|
+
"input2": f"{LFN_PREFIX}/ctao/path/test.h5",
|
|
301
308
|
},
|
|
302
|
-
"input_sandbox": [
|
|
309
|
+
"input_sandbox": [
|
|
310
|
+
str(Path("some/path/test_local_file1.txt").absolute())
|
|
311
|
+
],
|
|
303
312
|
"input_data": [],
|
|
304
313
|
},
|
|
305
314
|
),
|
|
306
315
|
],
|
|
307
316
|
)
|
|
308
|
-
def
|
|
317
|
+
def test_extract_input_files(input_cwl, expected_results):
|
|
309
318
|
cwl_translator = CWLTranslator.__new__(CWLTranslator)
|
|
310
319
|
|
|
311
320
|
cwl_translator.input_data = []
|
|
312
321
|
cwl_translator.input_sandbox = []
|
|
313
322
|
cwl_translator.transformed_inputs = input_cwl
|
|
314
323
|
|
|
315
|
-
cwl_translator.
|
|
324
|
+
cwl_translator._extract_input_files(input_cwl)
|
|
316
325
|
|
|
317
326
|
assert save(cwl_translator.transformed_inputs) == save(
|
|
318
327
|
expected_results["transformed_inputs"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/ConfigurationSystem/Agent/StorageMonitorAgent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ctadirac-3.0.8.dev4 → ctadirac-3.0.9}/src/CTADIRAC/Core/Workflow/Modules/ProdDataManager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|