From: Peter Amstutz Date: Mon, 18 Jan 2021 19:36:07 +0000 (-0500) Subject: 17267: Don't immediately fail if an extension schema is missing X-Git-Tag: 2.2.0~164^2~1 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/29a8298caf922a2651fbd51baf7b97b58ae25840 17267: Don't immediately fail if an extension schema is missing Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- diff --git a/sdk/cwl/arvados_cwl/pathmapper.py b/sdk/cwl/arvados_cwl/pathmapper.py index e0b2d25bc5..4a91a7a836 100644 --- a/sdk/cwl/arvados_cwl/pathmapper.py +++ b/sdk/cwl/arvados_cwl/pathmapper.py @@ -101,9 +101,12 @@ class ArvPathMapper(PathMapper): if srcobj["class"] == "Directory" and "listing" not in srcobj: raise WorkflowException("Directory literal '%s' is missing `listing`" % src) elif src.startswith("http:") or src.startswith("https:"): - keepref = http_to_keep(self.arvrunner.api, self.arvrunner.project_uuid, src) - logger.info("%s is %s", src, keepref) - self._pathmap[src] = MapperEnt(keepref, keepref, srcobj["class"], True) + try: + keepref = http_to_keep(self.arvrunner.api, self.arvrunner.project_uuid, src) + logger.info("%s is %s", src, keepref) + self._pathmap[src] = MapperEnt(keepref, keepref, srcobj["class"], True) + except Exception as e: + logger.warning(str(e)) else: self._pathmap[src] = MapperEnt(src, src, srcobj["class"], True) diff --git a/sdk/cwl/arvados_cwl/runner.py b/sdk/cwl/arvados_cwl/runner.py index 42d4b552ac..7664abef7c 100644 --- a/sdk/cwl/arvados_cwl/runner.py +++ b/sdk/cwl/arvados_cwl/runner.py @@ -427,7 +427,8 @@ def upload_dependencies(arvrunner, name, document_loader, if "$schemas" in workflowobj: sch = CommentedSeq() for s in workflowobj["$schemas"]: - sch.append(mapper.mapper(s).resolved) + if s in mapper: + sch.append(mapper.mapper(s).resolved) workflowobj["$schemas"] = sch return mapper