18238: Make sure to pull default image
authorPeter Amstutz <peter.amstutz@curii.com>
Mon, 4 Oct 2021 21:40:40 +0000 (17:40 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Mon, 4 Oct 2021 21:40:40 +0000 (17:40 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

sdk/cwl/arvados_cwl/arvdocker.py
sdk/cwl/arvados_cwl/arvtool.py

index 3c820827132e378ca88efe4eca9e76ea7df468ef..26408317cbe6d0cdb5382f38c1455b0bd7b5db2a 100644 (file)
@@ -49,8 +49,10 @@ def arv_docker_get_image(api_client, dockerRequirement, pull_image, project_uuid
         if not images:
             # Fetch Docker image if necessary.
             try:
-                cwltool.docker.DockerCommandLineJob.get_image(dockerRequirement, pull_image,
+                result = cwltool.docker.DockerCommandLineJob.get_image(dockerRequirement, pull_image,
                                                               force_pull, tmp_outdir_prefix)
+                if not result:
+                    raise WorkflowException("Docker image '%s' not available" % dockerRequirement["dockerImageId"])
             except OSError as e:
                 raise WorkflowException("While trying to get Docker image '%s', failed to execute 'docker': %s" % (dockerRequirement["dockerImageId"], e))
 
index 83648f46aa89424652323729b0241e85d2d125e8..b66e8ad3aac6b73b3bb086a60a1403c8a6cf7a64 100644 (file)
@@ -62,7 +62,7 @@ class ArvadosCommandTool(CommandLineTool):
         (docker_req, docker_is_req) = self.get_requirement("DockerRequirement")
         if not docker_req:
             self.hints.append({"class": "DockerRequirement",
-                               "dockerImageId": "arvados/jobs:"+__version__})
+                               "dockerPull": "arvados/jobs:"+__version__})
 
         self.arvrunner = arvrunner