Bug #13252
open[CWL] RunInSingleContainer requirement errors on DockerRequirement even when no such requirement is specified
Description
I'm trying to run a workflow in a single container but it failed. https://workbench.su92l.arvadosapi.com/container_requests/su92l-xvhdp-8d7o1hq6mnnri85
I've got the following error.
2018-03-21T00:06:23.256283830Z [step eagle] start 2018-03-21T00:06:23.260142930Z Exception on step 'eagle' 2018-03-21T00:06:23.260701530Z Cannot make scatter job: --no-container, but this CommandLineTool has DockerRequirement under 'requirements'. 2018-03-21T00:06:23.261063530Z Workflow cannot make any more progress. 2018-03-21T00:06:23.261720930Z Final process status is permanentFail
However, the script eagle.cwl does NOT have DockerRequirement.
See the attached tar ball for the cwl scripts. The command I was using:
arvados-cwl-runner --api=containers --submit --no-wait --project-uuid su92l-j7d0g-huzwo8ptw745hjx phasing-wf.cwl yml/phasing-GS12877.yml
Note that without the RunInSingleContainer requirement, the workflow completed. https://workbench.su92l.arvadosapi.com/container_requests/su92l-xvhdp-94180nzfj7yz6q5
For the record
arvados-cwl-runner --version /usr/bin/arvados-cwl-runner 1.0.20180223182850, arvados-python-client 0.1.20180223161544, cwltool 1.0.20180130110340
Files
Updated by Jiayong Li almost 7 years ago
- Related to Task #13215: Write phasing workflow with eagle v2.4 added
Updated by Jiayong Li almost 7 years ago
- File Phasing.tar.gz Phasing.tar.gz added
- Subject changed from RunInSingleContainer requirement errors on DockerRequirement even when no such requirement is specified to [CWL] RunInSingleContainer requirement errors on DockerRequirement even when no such requirement is specified
- Description updated (diff)
- Status changed from In Progress to New
Updated by Peter Amstutz almost 7 years ago
This is interesting, you're submitting the whole workflow with RunInSingleContainer and not just a subworkflow, I haven't tested that case. The behavior probably needs to be tweaked.
As a workaround, try putting the DockerRequirement under hints instead of requirements.
Updated by Jiayong Li almost 7 years ago
As Peter have noted, the run succeeded after moving the docker requirement under hints. https://workbench.su92l.arvadosapi.com/container_requests/su92l-xvhdp-tbz5tqgxp1p5x4h
In other words, changing
cwlVersion: v1.0 class: Workflow $namespaces: arv: "http://arvados.org/cwl#" requirements: arv:RunInSingleContainer: {} DockerRequirement: dockerPull: l7g-ml/phasing
to
cwlVersion: v1.0 class: Workflow $namespaces: arv: "http://arvados.org/cwl#" requirements: arv:RunInSingleContainer: {} hints: DockerRequirement: dockerPull: l7g-ml/phasing
Still I'd consider this a minor bug worth fixing.