[arvados] created: 2.1.0-2543-g887e3ca5e
git repository hosting
git at public.arvados.org
Wed May 25 17:00:56 UTC 2022
at 887e3ca5e085cae7e18fcf6833f46db022345c3d (commit)
commit 887e3ca5e085cae7e18fcf6833f46db022345c3d
Author: Peter Amstutz <peter.amstutz at curii.com>
Date: Wed May 25 12:52:55 2022 -0400
19152: Remove illegal characters (currently just '/') from output collection names
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>
diff --git a/sdk/cwl/arvados_cwl/arvcontainer.py b/sdk/cwl/arvados_cwl/arvcontainer.py
index f3e122e60..5094ea3bf 100644
--- a/sdk/cwl/arvados_cwl/arvcontainer.py
+++ b/sdk/cwl/arvados_cwl/arvcontainer.py
@@ -37,6 +37,9 @@ from ._version import __version__
logger = logging.getLogger('arvados.cwl-runner')
metrics = logging.getLogger('arvados.cwl-runner.metrics')
+def cleanup_name_for_collection(name):
+ return name.replace("/", " ")
+
class ArvadosContainer(JobBase):
"""Submit and manage a Crunch container request for executing a CWL CommandLineTool."""
@@ -320,7 +323,7 @@ class ArvadosContainer(JobBase):
if runtimeContext.submit_runner_cluster:
extra_submit_params["cluster_id"] = runtimeContext.submit_runner_cluster
- container_request["output_name"] = "Output from step %s" % (self.name)
+ container_request["output_name"] = cleanup_name_for_collection("Output from step %s" % (self.name))
container_request["output_ttl"] = self.output_ttl
container_request["mounts"] = mounts
container_request["secret_mounts"] = secret_mounts
diff --git a/sdk/cwl/arvados_cwl/executor.py b/sdk/cwl/arvados_cwl/executor.py
index fe078e322..778af58ac 100644
--- a/sdk/cwl/arvados_cwl/executor.py
+++ b/sdk/cwl/arvados_cwl/executor.py
@@ -31,7 +31,7 @@ from arvados.keep import KeepClient
from arvados.errors import ApiError
import arvados_cwl.util
-from .arvcontainer import RunnerContainer
+from .arvcontainer import RunnerContainer, cleanup_name_for_collection
from .runner import Runner, upload_docker, upload_job_order, upload_workflow_deps, make_builder
from .arvtool import ArvadosCommandTool, validate_cluster_target, ArvadosExpressionTool
from .arvworkflow import ArvadosWorkflow, upload_workflow
@@ -630,6 +630,8 @@ The 'jobs' API is no longer supported.
if not self.output_name:
self.output_name = "Output from workflow %s" % runtimeContext.name
+ self.output_name = cleanup_name_for_collection(self.output_name)
+
if self.work_api == "containers":
if self.ignore_docker_for_reuse:
raise Exception("--ignore-docker-for-reuse not supported with containers API.")
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list