common-workflow-language / common-workflow-language/cwltool
defining dockerFile without dockerImageId gives confusing error
- Dominant language
- Python
- Stars
- 376
- Forks
- 255
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 12
Description
When I define a CWL definition containing a dockerFile statement without dockerImageId I get:
```
$ .virtualenv/bin/cwltool 1.0.20171017195544
Resolved 'steps/ampl.cwl' to 'file:///home/gijs/prefactor-cwl/steps/ampl.cwl'
Workflow error, try again with --debug for more information:
Docker is not available for this tool, try --no-container to disable Docker, or install a user space Docker replacement
like uDocker with --user-space-docker-cmd.: 'dockerImageId'
```
When I run the command with --debug enabled I see the error:
```
KeyError: 'dockerImageId'
```
after adding a docker image ID the problems goes away.
Contributor guide
Research direction
Reproduce the CWL definition with a dockerFile but no dockerImageId, first without and then with --debug, using the command shown in the issue. Trace where the missing dockerImageId becomes a KeyError; done means the input produces a clear validation error that identifies the missing field instead of the misleading Docker availability message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- devops, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100