[ARVADOS] created: 2.1.0-262-g29a8298ca
Git user
git at public.arvados.org
Mon Jan 18 19:36:53 UTC 2021
at 29a8298caf922a2651fbd51baf7b97b58ae25840 (commit)
commit 29a8298caf922a2651fbd51baf7b97b58ae25840
Author: Peter Amstutz <peter.amstutz at curii.com>
Date: Mon Jan 18 14:36:07 2021 -0500
17267: Don't immediately fail if an extension schema is missing
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>
diff --git a/sdk/cwl/arvados_cwl/pathmapper.py b/sdk/cwl/arvados_cwl/pathmapper.py
index e0b2d25bc..4a91a7a83 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 42d4b552a..7664abef7 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
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list