Skip to content

Commit 572d659

Browse files
authored
Merge pull request #489 from common-workflow-language/fallback_no_find_default_container
deal with missing find_default_container function better
2 parents d18d931 + 063c5e1 commit 572d659

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

cwltool/draft2tool.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@ def __init__(self, toolpath_object, **kwargs):
181181
def makeJobRunner(self, use_container=True): # type: (Optional[bool]) -> JobBase
182182
dockerReq, _ = self.get_requirement("DockerRequirement")
183183
if not dockerReq and use_container:
184-
default_container = self.find_default_container(self)
184+
if self.find_default_container:
185+
default_container = self.find_default_container(self)
185186
if default_container:
186187
self.requirements.insert(0, {
187188
"class": "DockerRequirement",
@@ -228,9 +229,9 @@ def job(self,
228229

229230
cmdline = flatten(list(map(cachebuilder.generate_arg, cachebuilder.bindings)))
230231
(docker_req, docker_is_req) = self.get_requirement("DockerRequirement")
231-
if docker_req and kwargs.get("use_container") is not False:
232+
if docker_req and kwargs.get("use_container"):
232233
dockerimg = docker_req.get("dockerImageId") or docker_req.get("dockerPull")
233-
elif kwargs.get("default_container", None) is not None and kwargs.get("use_container") is not False:
234+
elif kwargs.get("default_container", None) is not None and kwargs.get("use_container"):
234235
dockerimg = kwargs.get("default_container")
235236

236237
if dockerimg:
@@ -268,7 +269,7 @@ def job(self,
268269
jobcachepending = jobcache + ".pending"
269270

270271
if os.path.isdir(jobcache) and not os.path.isfile(jobcachepending):
271-
if docker_req and kwargs.get("use_container") is not False:
272+
if docker_req and kwargs.get("use_container"):
272273
cachebuilder.outdir = kwargs.get("docker_outdir") or "/var/spool/cwl"
273274
else:
274275
cachebuilder.outdir = jobcache

cwltool/job.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -347,14 +347,14 @@ def run(self, pull_image=True, rm_container=True,
347347
env = None # type: MutableMapping[Text, Text]
348348
try:
349349
env = cast(MutableMapping[Text, Text], os.environ)
350-
if docker_req and kwargs.get("use_container") is not False:
350+
if docker_req and kwargs.get("use_container"):
351351
img_id = docker.get_from_requirements(docker_req, True, pull_image)
352352
if img_id is None:
353-
find_default_container = self.builder.find_default_container
354-
default_container = find_default_container and find_default_container()
355-
if default_container:
356-
img_id = default_container
357-
env = cast(MutableMapping[Text, Text], os.environ)
353+
if self.builder.find_default_container:
354+
default_container = self.builder.find_default_container()
355+
if default_container:
356+
img_id = default_container
357+
env = cast(MutableMapping[Text, Text], os.environ)
358358

359359
if docker_req and img_id is None and kwargs.get("use_container"):
360360
raise Exception("Docker image not available")

cwltool/process.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ def _init_job(self, joborder, **kwargs):
570570
if dockerReq is None and "default_container" in kwargs:
571571
defaultDocker = kwargs["default_container"]
572572

573-
if dockerReq or defaultDocker and kwargs.get("use_container"):
573+
if (dockerReq or defaultDocker) and kwargs.get("use_container"):
574574
if dockerReq:
575575
# Check if docker output directory is absolute
576576
if dockerReq.get("dockerOutputDirectory") and dockerReq.get("dockerOutputDirectory").startswith('/'):

0 commit comments

Comments
 (0)