handle job desribed by a CWL Workflow

Related to: https://gitlab.cta-observatory.org/cta-computing/dpps/dpps-project-management/dpps-use-cases/-/issues/54

For now only CommandLineTool are handle to treat input and output data in DIRAC.

How to treat Workflow?

  • : use cwl_utils.pack to pack WF and CLT and use it as InputSandbox
  • : extract from the input the additional input sandbox and/or data (should be the same as for CLT).
  • : extract from the Workflow outputs, the outputs sandbox and/or data, by interpreting each steps.
  • : handle JSRequirements -> nodejs needs to be a CTADIRAC dependency since the client will evaluate JS expression
  • : handle StepInputExpressionRequirement
  • : handle ExpressionTool + ScatterRequirement
  • : write the documentation
Edited by Natthan.Pigoux