Closed dpfoose closed 2 years ago
Hi @dpfoose !
I've faced pretty same problem: I need to provide workflowOptions file to cromwell running in server mode, but I doubt this possible, because when you run wdl on cromwell in run
mode you could pass this file via --options
. e.g.:
java -jar cromwell-45.jar run --options myWorkfloOptions.json
However, the server
mode does not seems to have --options
argument and I have no idea how to pass this file in such case.
Please, let me know if you figure out how to pass this options file to cromwell running in server mode.
@likeanowl In server mode, it's just part of the API request.
@geoffjentry Very nice, thanks for the link! Wish I did know this earlier... :+1:
Could this file then be provided to cromwell
when running integration test via centaur
?
@likeanowl Yes - you just need to specify it in the centaur test description, with a pointer to where the option file lives
@geoffjentry thats great, many thanks!
@likeanowl, @geoffjentry
I've been using the workflowOptions
parameter in the API request and it still doesn't work (I mentioned this is in the issue description, but it's kind of hidden). I'm not sure if it's ignoring workflowOptions
in general or just final_workflow_outputs_dir
@dpfoose It could be related to https://github.com/broadinstitute/cromwell/issues/4982 then.
I like to report that this is also an issue when running CWL scripts via cromwell in run
mode too: the options
argument is ignored.
$ java -jar ${crom} --version
cromwell 47
$
$ cat workflow.options.json
{
"final_workflow_outputs_dir": "results.cromwell",
"use_relative_output_paths": true
}
$
$ java -jar ${crom} run example.cwl -i inputs.yml --type cwl -o workflow.options.json
:
: # workflow runs normally, logs and other files in `cromwell-executions` folder as expected
:
$ ls results.cromwell
$ # folder is empty
$
I can report we are having the same issue as well.
Same here. If you run in -t wdl
is works but not for -t cwl
. How does changing the type change the code for final_workflow_outputs_dir
or is this completely removed from that engine?
On Jira as BA-5890.
Environment Ubuntu 18.04 in Docker container (on Ubuntu 18.04 host). Server mode with Local backend.
I'm listing this as low priority because it might be too specific to my use case.
When I specify final_workflow_outputs_dir in the workflowOptions file in my request to the API, the value is ignored and the output files remain in their default location relative to the execution path after the workflow execution succeeds.
For example, this is the results of a workflow with one File output named csvFile: workflowOptions file (I have tried this with and without "file://" with same results):
Final outputs
After the workflow successfully executes, the specified output directory remains empty.
Environment notes I'm using Cromwell in server mode in a Docker container as a service to be consumed by other Docker applications on the same host. The client applications communicate with the Cromwell container using the python requests library. The specified final_workflow_outputs_dir is located in a bind mount accessible from both containers at the same location (e.g. /data/external is the default directory "external" to the containers which is mounted on all containers at that location). I have a workaround with a workflow step that makes a request back to the client service, but this is not ideal because it requires the users to modify the workflows. The client software includes an Angular application for editing workflows using Rabix's cwl-svg.
Full workflow