Validate the DIRAC Job format (JDL) using Pydantic #6964
Replies: 4 comments 11 replies
-
Hi, We (GridPP) don't use any extra/custom fields in the JDL but there are a few standard fields that we use that seem to be missing from the list? Specifically GridCE, Platform and the Parameter* options for parametric submission: Regards, |
Beta Was this translation helpful? Give feedback.
-
Our parameters are quite VO specific and would not be adequate to add to base model. Does Of course, if our usage is a kind of 'abuse', we need to change our strategy. I want to discuss the issue in our group. |
Beta Was this translation helpful? Give feedback.
-
Excellent! Thank you so much for your smart work! |
Beta Was this translation helpful? Give feedback.
-
It depends on the use case. We take the parameter from both the workflow file and the JDL file, on grid. |
Beta Was this translation helpful? Give feedback.
-
Currently, the list of fields in the JDL format when submitting a job is not completely validated. I identified a list of fields currently used by the JDL (in alphabetical order):
arguments: str
bannedSites: set[str]
cpuTime: int
executable: str
executionEnvironment: set[str]
gridCE: set[str]
inputSandbox: set[str]
inputData: set[str]
inputDataPolicy: str
jobGroup: str
jobType: str
jobName: str
logLevel: str
maxNumberOfProcessors: int
minNumberOfProcessors: int
outputData: set[str]
outputSandbox: set[str]
outputSE: str
platform: set[str]
priority: int
sites: set[str]
stderr: str
stdout: str
tags: set[str]
To those fields are added in the server side:
diracSetup: str
owner: str
ownerDN: str
ownerGroup: str
vo: str
There is also the fields for the parametric jobs:
parameters: set(str)
parameterStart: float
parameterStep: float
parameterFactor: float
Pydantic would enforces type hints at runtime, and provides user-friendly errors when data is invalid (instead of putting the job in the FAILED state). The issue we may face while implementing Pydantic is that VO may use their own fields in the JDL. We would then like to know if some VOs use extra/custom fields, and have some feedback about this idea.
Edit: feedback from @sfayer (thanks for the very useful feedback)
Beta Was this translation helpful? Give feedback.
All reactions