11068: Catch OSError and give better error message when unable to execute Docker.
authorPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 21 Sep 2017 18:04:27 +0000 (14:04 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 21 Sep 2017 18:04:27 +0000 (14:04 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

sdk/cwl/arvados_cwl/arvdocker.py

index 6b736a5a7d872ff60eae3bdeffc1e55c66de40c0..0513ca02ec68ca2d0fe5f58ced9ab1c98c124844 100644 (file)
@@ -44,7 +44,10 @@ def arv_docker_get_image(api_client, dockerRequirement, pull_image, project_uuid
 
         if not images:
             # Fetch Docker image if necessary.
-            cwltool.docker.get_image(dockerRequirement, pull_image)
+            try:
+                cwltool.docker.get_image(dockerRequirement, pull_image)
+            except OSError as e:
+                raise WorkflowException("While trying to get Docker image '%s', failed to execute 'docker': %s" % (dockerRequirement["dockerImageId"], e))
 
             # Upload image to Arvados
             args = []