From ffdc34b50c159573ffeeb836fb405890e4062d01 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Tue, 21 Jun 2016 16:10:46 -0400 Subject: [PATCH] 8442: Fix error reporting on missing Docker image --- sdk/cwl/arvados_cwl/__init__.py | 2 +- sdk/cwl/arvados_cwl/arvdocker.py | 10 ++++++++-- sdk/cwl/arvados_cwl/done.py | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/sdk/cwl/arvados_cwl/__init__.py b/sdk/cwl/arvados_cwl/__init__.py index 9b30611f62..962a690d68 100644 --- a/sdk/cwl/arvados_cwl/__init__.py +++ b/sdk/cwl/arvados_cwl/__init__.py @@ -212,7 +212,7 @@ class ArvCwlRunner(object): raise UnsupportedRequirement("Check log for details.") if self.final_output is None: - raise cwltool.workflow.WorkflowException("Workflow did not return a result.") + raise WorkflowException("Workflow did not return a result.") return self.final_output diff --git a/sdk/cwl/arvados_cwl/arvdocker.py b/sdk/cwl/arvados_cwl/arvdocker.py index 3cc1a42ae2..c75e783ac2 100644 --- a/sdk/cwl/arvados_cwl/arvdocker.py +++ b/sdk/cwl/arvados_cwl/arvdocker.py @@ -1,7 +1,10 @@ import logging +import sys + import cwltool.docker +from cwltool.errors import WorkflowException import arvados.commands.keepdocker -import sys + logger = logging.getLogger('arvados.cwl-runner') @@ -25,7 +28,10 @@ def arv_docker_get_image(api_client, dockerRequirement, pull_image, project_uuid if image_tag: args.append(image_tag) logger.info("Uploading Docker image %s", ":".join(args[1:])) - arvados.commands.keepdocker.main(args, stdout=sys.stderr) + try: + arvados.commands.keepdocker.main(args, stdout=sys.stderr) + except SystemExit: + raise WorkflowException() images = arvados.commands.keepdocker.list_images_in_arv(api_client, 3, image_name=image_name, diff --git a/sdk/cwl/arvados_cwl/done.py b/sdk/cwl/arvados_cwl/done.py index 8a6fc9d734..31f353e5d8 100644 --- a/sdk/cwl/arvados_cwl/done.py +++ b/sdk/cwl/arvados_cwl/done.py @@ -1,3 +1,5 @@ +from cwltool.errors import WorkflowException + def done(self, record, tmpdir, outdir, keepdir): colname = "Output %s of %s" % (record["output"][0:7], self.name) -- 2.30.2