[8.0] Do not bootstrap the workflow before setting command line parameters - #8602
[8.0] Do not bootstrap the workflow before setting command line parameters#8602atsareg wants to merge 1 commit into
Conversation
|
Thank you for this fix. It looks good to me. |
|
@arrabito and @atsareg can you test this in your environment? Even better would be add some (system) tests to this: https://github.com/DIRACGrid/DIRAC/blob/integration/tests/System/wms_scripts.sh with different inputs |
|
I think that the system tests should submit a transformation as the resolution of the InputData variable works already fine when submitting jobs directly to WMS. |
|
There must be a way to reproduce the original error programmatically, according to what is in the workflow.xml file that is given as input to |
|
Well, I have reproduced it in my tests and confirmed that it was fixed. The example workflow (the python script that created it) can be added (to where ?) together with the corresponding dirac-jobexec call. This does not look like a kind of a unit test. So, where it can go ? |
|
Yes, I guess it was not a "proper" unit test, that's why I was suggesting to put it in the "system" tests, see my suggestion above |
I guess you mean transformationSystem.sh ? |
|
Whatever is more appropriate. If the test can run without the transformation system involved (which would be better), use |
|
@atsareg do you want me to add the test or you will take care of? |
|
In order to get this PR merged, it seems to me that it's just missing a test. Now, the kind of test that should be added here is the submission of a transformation with input data and where tasks execute:
I attach here a test script similar to: which can be called by: However note that the in order to check that the fix in this PR is effective, one should retrieve the job OSB and verify that the produced output of:
is:
Should I open a new PR just to add this test or can you add it to this one? |
The call to the createCode() of the workflow triggers resolving global workflow parameters before the command line parameters are set into the workflow. This results in loosing some global references in a form @{Reference}, in particular, @{InputData} reference if it is specified in the command line. This fixes the issue #8595
BEGINRELEASENOTES
*WorkloadManagement
FIX: dirac-jobexec - removed workflow code generation
ENDRELEASENOTES