X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2c3a6a67bc01241f57e815f4f7e4678bd6eadb03..b9fd7e3f374248a61159e4750a84e38d1c48d5dd:/sdk/cwl/arvados_cwl/arvtool.py?ds=sidebyside diff --git a/sdk/cwl/arvados_cwl/arvtool.py b/sdk/cwl/arvados_cwl/arvtool.py index 31e6be12b5..704edaccb9 100644 --- a/sdk/cwl/arvados_cwl/arvtool.py +++ b/sdk/cwl/arvados_cwl/arvtool.py @@ -3,10 +3,9 @@ # SPDX-License-Identifier: Apache-2.0 from cwltool.command_line_tool import CommandLineTool, ExpressionTool -from cwltool.builder import Builder -from .arvjob import ArvadosJob from .arvcontainer import ArvadosContainer from .pathmapper import ArvPathMapper +from .runner import make_builder from functools import partial from schema_salad.sourceline import SourceLine from cwltool.errors import WorkflowException @@ -37,30 +36,6 @@ def set_cluster_target(tool, arvrunner, builder, runtimeContext): return runtimeContext -def make_builder(joborder, hints, requirements, runtimeContext): - return Builder( - job=joborder, - files=[], # type: List[Dict[Text, Text]] - bindings=[], # type: List[Dict[Text, Any]] - schemaDefs={}, # type: Dict[Text, Dict[Text, Any]] - names=None, # type: Names - requirements=requirements, # type: List[Dict[Text, Any]] - hints=hints, # type: List[Dict[Text, Any]] - resources={}, # type: Dict[str, int] - mutation_manager=None, # type: Optional[MutationManager] - formatgraph=None, # type: Optional[Graph] - make_fs_access=None, # type: Type[StdFsAccess] - fs_access=None, # type: StdFsAccess - job_script_provider=runtimeContext.job_script_provider, # type: Optional[Any] - timeout=runtimeContext.eval_timeout, # type: float - debug=runtimeContext.debug, # type: bool - js_console=runtimeContext.js_console, # type: bool - force_docker_pull=runtimeContext.force_docker_pull, # type: bool - loadListing="", # type: Text - outdir="", # type: Text - tmpdir="", # type: Text - stagedir="", # type: Text - ) class ArvadosCommandTool(CommandLineTool): """Wrap cwltool CommandLineTool to override selected methods.""" @@ -72,8 +47,6 @@ class ArvadosCommandTool(CommandLineTool): def make_job_runner(self, runtimeContext): if runtimeContext.work_api == "containers": return partial(ArvadosContainer, self.arvrunner, runtimeContext) - elif runtimeContext.work_api == "jobs": - return partial(ArvadosJob, self.arvrunner) else: raise Exception("Unsupported work_api %s", runtimeContext.work_api) @@ -82,10 +55,6 @@ class ArvadosCommandTool(CommandLineTool): return ArvPathMapper(self.arvrunner, reffiles+runtimeContext.extra_reffiles, runtimeContext.basedir, "/keep/%s", "/keep/%s/%s") - elif runtimeContext.work_api == "jobs": - return ArvPathMapper(self.arvrunner, reffiles, runtimeContext.basedir, - "$(task.keep)/%s", - "$(task.keep)/%s/%s") def job(self, joborder, output_callback, runtimeContext): builder = make_builder(joborder, self.hints, self.requirements, runtimeContext) @@ -99,11 +68,6 @@ class ArvadosCommandTool(CommandLineTool): else: runtimeContext.outdir = "/var/spool/cwl" runtimeContext.docker_outdir = "/var/spool/cwl" - elif runtimeContext.work_api == "jobs": - runtimeContext.outdir = "$(task.outdir)" - runtimeContext.docker_outdir = "$(task.outdir)" - runtimeContext.tmpdir = "$(task.tmpdir)" - runtimeContext.docker_tmpdir = "$(task.tmpdir)" return super(ArvadosCommandTool, self).job(joborder, output_callback, runtimeContext) class ArvadosExpressionTool(ExpressionTool):